functions in coding theory and cryptology]. Moscow, MCNMO, 2004, 470 p. (In Russ.)
2. Salomon D. Szhatie dannyh, izobrazhenij i zvuka [A Guide to data compression methods]. Moscow, Tehnosfera, 2004, 368 p. (In Russ.)
3. Murygin A. V., Bocharov A. N. Teorija informacii i kodirovanija: lab. prakt. [Information and coding theory. Practice] Sib. gos. ajerokosmich. un-t. Krasnojarsk, 2007, 27 p. (In Russ.)
4. Bently J. Zhemchuzhiny programmirovanija. 2-e izd. [Programming pearls. Second edition]. St. Petersburg, Piter, 2002, 272 p. (In Russ.)
5. Muzychenko E. FAQ po processoram semejstva x86 [FAQ of CPU family]. Available at: http://www.ixbt.com/cpu/faq/cpufaq.shtml (accessed: 01.09.2014). (In Russ.)
© Кукарцев А. М., 2014
УДК 159.688
АЛГОРИТМ ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ АВТОМАТИЗИРОВАННОГО ФОРМИРОВАНИЯ ДЕРЕВЬЕВ ПРИНЯТИЯ РЕШЕНИЯ
Т. В. Кушнарева, Л. В. Липинский
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-mail: [email protected], [email protected]
Рассматривается применение алгоритма генетического программирования в задачах автоматизированного формирования деревьев принятия решения.
Ключевые слова: деревья принятия решений, генетическое программирование, генетический алгоритм.
ALGORITHM OF GENETIC PROGRAMMING FOR THE AUTOMATED FORMING DECISION TREES
T. V. Kushnareva, L. V. Lipinskiy
Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: [email protected], [email protected]
Applying the algorithm of Genetic Programming for the automated forming decision trees is considered.
Keywords: decision trees, Genetic Programming, genetic algorithm.
В настоящее время для решения многих типов задач, например, таких как классификация, оптимизация и прогнозирование, используются деревья принятия решения. Данный метод заключается в построении структуры дерева, узлами которого являются условные операции и результаты задачи, а ветвями - вероятности перехода к узлу или булевы переменные [1].
При формировании дерева принятия решений необходимо решить следующие задачи. Выбрать и сформировать узлы дерева, определить их иерархию и порядок следования. Конечные узлы, как правило, представляют собой альтернативные выводы, которые определяются предметной областью решаемой задачи. Корневой и остальные узлы, не являющиеся конечными, как правило, представляют собой условные операторы. От порядка их следования и выбранных границ зависит само принятие решения. Границы в условных операторах могут настраиваться как экспертами, так и оптимизационными процедурами.
Достоинством деревьев принятия решения является то, что по форме самого принятия решения данная процедура близка к рассуждениям эксперта. Результа-
том работы дерева может служить не только сам вывод, но и его обоснование. Однако при настройке дерева исследователь может столкнуться с проблемой «переобучения». С одной стороны, дерево становится слишком детализированным, так что сложно понять взаимное влияние условных операторов и обосновать принятое решение, с другой стороны, такое дерево может содержать противоречия и пустые узлы (узлы, не использующиеся ни при каких условиях).
Большинство алгоритмов формирования деревьев принятия решения основаны на рекурсивном разбиении объектов обучающей выборки на отдельные однородные классы. Отличаются такие алгоритмы выбором переменной разбиения и критерием останова.
Общую схему настройки дерева принятия решения можно сформулировать так:
Шаг 1. Выбор вершины дерева для декомпозиции.
Шаг 2. Выбор переменной разбиения и условия делящие все объекты, относящиеся к данной вершине, на два (или несколько) классов.
Шаг 3. Выполняется проверка критерия останова. Если значение критерия истинно, то процедура завершается, иначе возврат на шаг 1.
Математические методы моделирования, управления и анализа данных
Очевидно, что неудачный выбор вершин и условий декомпозиции на верхних уровнях иерархии делает весь остальной поиск неэффективным. Исследователь может получить «переобученное» дерево или не решить задачу совсем. Этот недостаток следует из локальности процедуры настройки дерева принятия решений.
Алгоритм генетического программирования осуществляет глобальный поиск в среде иерархических структур и успешно применяется для настройки и формирования интеллектуальных информационных технологий [2-4]. Особенно заметно преимущество генетического программирования в сравнении с иными поисковыми процедурами в пространстве объектов, являющимися иерархически организованными, такими как деревья решения.
Алгоритм автоматизированного формирования деревьев принятия решений методом генетического программирования можно представить следующим образом:
Шаг 1. Инициализация стартового поколения. Каждый индивид в популяции представляет собой дерево принятия решений. Для кодирования дерева в качестве функциональных элементов выбираются условные операции, а в качестве терминальных элементов - выводы по задаче (см. рисунок). Данный способ кодирования является замкнутым относительно операций скрещивания и мутации. Однако он не гарантирует отсутствие в дереве «пустых» листов.
Шаг 2. Расчет пригодности каждого индивида. Проверка критерия останова. Если критерий истинен -переход на шаг 7, иначе - шаг 3.
Для расчета пригодности необходимо провести численную оптимизацию границ условий встречающихся в дереве, согласно (1). В качестве оптимизационной процедуры можно выбрать, например, генетический алгоритм или алгоритм Р80:
Е = N £ (Y X' к) - Y*)2 —— opt,
(1)
i=1
Шаг 4. Скрещивание - обмен частями структуры между индивидами.
Шаг 5. Мутация - случайное изменение узла в индивиде.
Шаг 6. Формирование нового поколения и переход к шагу 2.
Шаг 7. Выбор лучшего из всех найденных решений. Остановка поиска.
где Y - реальный i-й выход задачи, соответствующий Xi - i-му входу задачи; K - набор числовых коэффициентов, используемых в дереве принятия решения; Yi (Xi, K) - выход, полученный по дереву решений для K и Xi; N - объем выборки.
При поиске деревьев решений важно получать деревья с небольшой глубиной. С такими деревьями проще работать эксперту и меньше вероятность «переобучения». Поэтому в оценку пригодности важно включить штрафы, ограничивающие рост дерева:
fitness =-1-. (2)
1 + E + а *n
где E вычисляется по формуле (1); а - коэффициент штрафа, накладываемого на глубину дерева; n - величина, отражающая глубину или объем дерева. В качестве n удобно выбирать либо количество вершин в дереве, либо саму глубину дерева.
Шаг 3. Селекция - отбор из поколения некоторых индивидов для последующего скрещивания и мутации.
Пример индивида
Алгоритм генетического программирования для формирования деревьев принятия решения можно использовать как для получения готового, законченного дерева, так и для получения эффективных стартовых деревьев, которые будут улучшаться рекурсивными процедурами настройки.
Библиографические ссылки
1. Ross Quinlan J. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers, 1993.
2. Семенкин Е. С., Липинский Л. В. О коэволюци-онном генетическом алгоритме автоматизированного проектирования системы управления не нечеткой логике // Автоматизация и современные технологии. 2006. № 11.
3. Семенкин Е. С., Липинский Л. В. Применение алгоритма генетического программирования в задачах автоматизации проектирования интеллектуальных информационных технологий // Вестник СибГАУ. 2006. Вып. 3 (10).
4. Семенкин Е. С. Липинский Л. В. Структурная адаптация нейронной сети методом генетического программирования // Исследование, разработка и применение высоких технологий в промышленности : сб. тр. II Междунар. науч.-практ. конф. СПб. : Изд-во Политехн. унта, 2006.
References
1. J. Ross Quinlan. C4.5: Programs for Machine learning. Morgan Kaufmann Publishers, 1993.
2. Semenkin E. S. On the co-evolution genetic algorithm aided design of control system is not fuzzy logic // Automation and modern technology. № 11, 2006.
3. Semenkin E. S. Application of genetic programming algorithm in problems of automation of
intelligent information technology // Vestnik SibGAU. 2006. Issue. 3 (10)
4. Semenkin E. S. Structural adaptation of the neural network by genetic programming // Research, development and application of high technologies
in the industry : Proc. Tr. II International. scientific-practical. conf. St. Petersburg.: Publ Polytechnic. Un-t. 2006.
© KymHapeBa T. B., ^HnuHCKHÜ .H. B., 2014
УДК 004.89
ИДЕНТИФИКАЦИЯ ГАУССОВЫХ ЛИНИЙ В СПЕКТРАХ
Ю. С. Ломаев
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
При обработке спектроскопических данных возникает необходимость разделения данных, характеризующих различные пики. Однако существуют ситуации, когда визуальное определение числа пиков затруднено ввиду их близкого расположения. В таком случае разумно использовать численное дифференцирование дискретных спектроскопических данных.
Ключевые слова: гауссова линия, численное дифференцирование, перекрытия линий, пики, экстремум, производные, порядок дифференцирования, интенсивность поглощения, длина волны, точка перегиба.
IDENTIFICATION OF GAUSSIAN LINES IN THE SPECTRA
Yu. S. Lomaev
Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: [email protected]
There is a need to separate the data characterizing peaks for various spectroscopic data processing. However, there are situations where visual determination of the peaks number is difficult due to their close proximity. In this case it is reasonable to use the discrete numerical differentiation of the spectroscopic data.
Keywords: Gaussian line, derivative spectroscopy, overlapping lines, peaks, extremum, derivatives, order of differentiation, intensity of the absorption, wavelength, inflection point.
Суть метода численного дифференцирования (derivative spectroscopy) заключается в использовании первых или высших производных интенсивности поглощения по отношению к длине волны. Если спектр выражает зависимость интенсивности поглощения I от длины волны X, то производные спектра: I = f(X) -
нулевая производная, — = f '(X) - первая производ-
d X
d21
ная, —^ = /" (X) - вторая производная и т. д. Первая
d X
производная - скорость изменения интенсивности поглощения I. Производная первого порядка начинается и заканчивается в нуле. Она равна нулю в точке, соответствующей Хтах. По обе стороны относительно рассматриваемой точки находятся полосы с максимальным и минимальным значениями (биполярный вид), характеризующими возрастающий и убывающий участки спектра соответственно. Биполярные функции характерны для нечётных производных [2]. Нулевая, первая и вторая производные спектра проиллюстрированы на рис. 1.
Рис. 1. Производные спектра: нулевая (absorbance, Xmax = 500, /max = 1,0), первая (1st derivative), вторая (2nd derivative)
Пусть k - порядок дифференцирования спектра. Следует отметить, что число наблюдаемых линий в соответствующей производной спектра равно k + 1. В общем случае при высоком порядке дифференцирования для выделения пиков необходимо выполнение 2-х условий [1]:
f(2k-1)(X) =
d2k-1I
f(2k )(X) =
d X d 2kI
d X2k
2k-1
для k > 2.
(1)
> (<)0,