УДК 004.89:004.4
СИСТЕМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ КОЛЛЕКТИВОВ ИНТЕЛЛЕКТУАЛЬНЫХ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ДЛЯ ЗАДАЧ АНАЛИЗА ДАННЫХ
(Работа выполнена при поддержке ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», НИР 2011-1.9-519.-005-042 (ГК№ 11.519.11.4002), и ФЦП «Научные и научно-педагогические кадры России», НИР 2011-1.2.1-113-025 (ГК№ 16.740.11.0742))
Е.С. Семёнкин, д.т.н., профессор; А.А. Шабалов, аспирант
(Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, просп. им. газ. «Красноярский рабочий», 31, г. Красноярск, 660014, Россия, eugenesemenkn@yandex. ru, shabalov-andrey@mail. ru)
Рассматривается алгоритмическое обеспечение программной системы автоматизированного проектирования интеллектуальных информационных технологий (ИИТ), а также их коллективов для решения сложных слабоструктурированных задач анализа данных и принятия решений. Автоматизация проектирования алгоритмического ядра значительно упрощает процесс разработки интеллектуальных систем поддержки принятия решений для конечных пользователей. Генерирование структуры и параметров ИИТ осуществляется с помощью эволюционных алгоритмов как универсального и эффективного инструмента для решения задач оптимизации на сложных структурах данных. За основу взят генетический алгоритм, применяющийся в проектировании структуры и настройки параметров нейросе-тевых моделей, систем на нечеткой логике и нейро-нечетких систем. Поскольку многие практические задачи являются большими и сложными для решения отдельной ИИТ, применяются коллективные методы, позволяющие повысить эффективность и надежность конечной системы при принятии решений. Предлагается идея применения метода генетического программирования для формирования конечного коллективного решения на основе отдельных частных решений. Проведенные численные исследования при решении реальных практических задач показывают работоспособность и эффективность предложенных методов автоматизированного проектирования ИИТ и перспективность метода построения коллективного решения на основе алгоритма генетического программирования.
Ключевые слова: эволюционные алгоритмы, искусственные нейронные сети, нечеткие системы, нейро-нечет-кие системы, коллективы интеллектуальных систем.
SYSTEM OF AUTOMATIC DESIGN OF INTELLIGENT INFORMATION TECHNOLOGIES ENSEMBLES
FOR DATA MINING PROBLEMS
Semenkin ES., Ph.D., Professor; Shabalov A. A., Postgraduate (Siberian State Aerospace University, 31, Krasnoyarsky RabochyAv., Krasnoyarsk, 660014, Russia, eugenesemenkin@yandex.ru, shabalov-andrey@mail.ru) Аbstract. An algorithmic core of the program system of intelligent information technologies (IIT) automatic design as well as their ensembles for solving complex weak-defined data mining problems and decision support is considered in the article. Owing to an automation of intelligent systems algorithmic core generation, the process of the design of intelligent decision support systems for end-users is simplified considerably. The generation of the ITT's structure and parameters is carried out by means of evolutionary algorithms because of their proved reliability and performance in solving optimization problems on complex data structures. A genetic algorithm is used as the basis for the structure design and parameter tuning of connectionist models, fuzzy rule based systems and neuro-fuzzy models. Many real-world problems are large and complex and too difficult for solving it by a single technology. Ensemble techniques allow improving the effectiveness and reliability of the decision support systems. An idea of applying a genetic programming method for building an ensemble decision based on partial individual decisions is proposed in the article. Conducted numerous experiments on real-world problems show efficiency and effectiveness of the proposed techniques of automatic IIT generation algorithms and prospective of the ensemble decision building method based on the genetic programming.
Keywords: evolutionary algorithms, artificial neural networks, fuzzy systems, neuro-fuzzy systems, ensembles of intelligent systems.
В данной работе рассматриваются три основных типа интеллектуальных систем, представляющих парадигмы мягких вычислений: нейронные сети, нечеткие системы и нейро-нечеткие системы [1]. Создание эффективного алгоритмического ядра является сложной задачей, требующей больших интеллектуальных, финансовых и временных затрат, что на практике далеко не всегда удается обеспечить конечным пользователям. Автоматизация проектирования интеллектуальных информационных технологий позволяет значительно упростить процесс разработки систем поддержки принятия решений для конечных поль-
зователей, не являющихся экспертами в данной области. Для этого авторы предлагают использовать генетические алгоритмы (ГА), хорошо зарекомендовавшие себя в глобальной оптимизации и обладающие гибкой структурой кодирования параметров.
На практике реальные задачи являются, как правило, большими и сложными для решения отдельной технологией. Коллективные методы принятия решений позволяют повысить эффективность и надежность конечного решения. В связи с этим для построения коллектива интеллектуальных систем и структуры их взаимодействия при
получении результирующего коллективного решения, основанного на частных решениях индивидуальных технологий, предлагается применить алгоритм генетического программирования.
Искусственные нейронные сети. Эффективность качества моделирования нейронных сетей зависит от эксперта, проектирующего топологию и обладающего знаниями о тонкостях нейронных сетей и области решаемой задачи. С увеличением сложности проблемы проектирование нейронных сетей становится затруднительным. На практике, как правило, используются многослойные персеп-троны. Алгоритмом обучения таких нейронных сетей является алгоритм обратного распространения ошибки или его различные модификации, основанные на градиентном методе. Основные недостатки данного алгоритма - застревание в локальных минимумах функции ошибки, низкая скорость сходимости при малом шаге обучения, паралич сети при выборе большого шага и др.
Эффективность градиентных алгоритмов существенно зависит от начальной инициализации параметров, эволюционные алгоритмы (ЭА) значительно менее чувствительны к начальным условиям. Любой градиентный или ньютоновский метод может найти только локальный оптимум в окрестности начального решения, ЭА же пытаются найти глобальное решение.
Для преодоления упомянутых проблем предлагается применить ГА для генерирования структуры персептрона и настройки его весовых коэффициентов. При этом генерируется отдельная популяция структур нейронных сетей, а для каждой структуры - своя популяция весовых коэффициентов. Хромосома структуры нейронной сети кодируется следующим образом. Изначально исследователем задаются максимально допустимое число скрытых слоев и максимальное число нейронов на каждом слое. При кодировании проход по сети проводится сверху вниз и слева направо по каждому нейрону. Длина хромосомы каждого нейрона будет составлять 3 или 4 бита при использовании набора из 7 или 15 активационных функций соответственно. Равенство всех битов нулю означает отсутствие нейрона в данном месте, в остальных случаях имеем бинарный код номера функции активации.
Таким образом, длина хромосомы, кодирующей структуру нейронной сети, будет равна максимальному числу нейронов, умноженному на длину хромосомы одного нейрона. Весовые коэффициенты кодируются аналогично. Исследователем задаются интервал изменения весовых коэффициентов и дискретизация числа, на основании чего определяется количество бит п для кодирования вещественного числа. Длина хромосомы, кодирующей весовые коэффициенты, равна п, умноженному на число всех коэффициентов текущей сети.
Системы на нечеткой логике. При проектировании нечетких систем эксперт сталкивается с проблемой выбора исходных нечетких правил, набор которых может оказаться неполным или противоречивым. Выбор параметров функций принадлежности, описывающих входные и выходные переменные объекта, субъективен и может некорректно отображать реальную действительность. Поэтому для повышения обоснованности принятия решений при проектировании нечетких систем были применены ГА. Кодирование битовой строкой происходит следующим образом. Вначале кодируются входные параметры функций принадлежности, далее - выходные параметры, и в конце строки на каждую входную переменную добавляется терм игнорирования, позволяющий управлять как размером базы правил (общее количество правил), так и ее длиной (количество условий в антецеденте). Априори исследователь должен задать максимальное количество правил. При кодировании вещественных чисел (параметров функций принадлежности) необходимо указать дискретизацию вещественного числа. Интервал изменения переменных выбирается автоматически на основе нижней и верхней границ обучающего множества.
Нейро-нечеткие системы. Процесс генерирования нейро-нечетких моделей происходит в два этапа. Первый этап заключается в кластеризации исходных числовых данных методами конкурентного обучения с механизмом штрафования соперника, алгоритмом адаптивной резонансной теории или другими способами, после чего получаются грубые нечеткие правила. Второй этап состоит в тонкой настройке базы правил (семантики лингвистических термов) на основе градиентных алгоритмов, недостатки которых широко известны и препятствуют эффективному использованию ней-ро-нечетких систем. Поэтому здесь также целесообразно применить ГА.
При кодировании параметров функций принадлежности необходимо задать дискретизацию вещественного числа. Область определения переменных выбирается аналогично.
Самонастраивающийся ГА. Эффективность ГА в значительной степени зависит от его настроек. С целью сокращения параметров за основу был взят асимптотический ГА [2], в котором настраиваемым параметром является только тип селекции.
Обозначим 2к вектор распределения вероятности выбора конкретного типа селекции. На каждом поколении осуществляется перерасчет распределения по формуле (20 % вероятности делится поровну между каждым значением параметра для исключения схождения значения к нулю):
• (100 - N • 2а11) к " - " 1 —-, где К - число значе-
I г
к
к=0
нии настраиваемого параметра;
20
K
successk used
- отношение, где usedk - число при-
менений оператора, successk - число применении, приведших к улучшению среднеИ пригодности популяции по сравнению с предыдущим поколением. Изначально usedk инициализируются значениями, равными единице, чтобы избежать деления на ноль.
Коллективные методы проектирования интеллектуальных информационных технологий (ИИТ). Для повышения эффективности и надежности ИИТ предлагается применять метод генетического программирования при формировании коллектива ИИТ для решения сложных задач и формы взаимодеиствия его участников при получении результирующего решения, основанного на частных решениях индивидуальных технологии.
В данном подходе существуют два варианта гибридизации ИИТ. Первый заключается в построении математического выражения из результатов отдельных членов коллектива. Таким образом, элементами терминального множества алгоритма генетического программирования являются частные решения отдельных систем. Второй вариант состоит в формировании гибридной многослойной системы, состоящей из отдельных членов этого коллектива. Здесь терминальное множество представляется отдельной структурой ИИТ.
В первом случае на предварительном этапе необходимо заранее сгенерировать и обучить заданное число элементов терминального множества, которые в дальнейшем будут использоваться в работе алгоритма. Функциональное множество при данном подходе включает в себя арифметические операции и элементарные математические функции. Во втором варианте первоначально необходимо задать критерии останова при обучении отдельной технологии. Элементами функционального множества в данном случае являются правила соединения отдельных технологий между собой.
Апробация методов автоматизированного проектирования ИИТ на практических задачах. Программная система п-IT-on (projecting of intelligent technologies for overall needs) была разработана в среде Microsoft Visual Studio 2008 на платформе .Net Framework. Для апробации предложенных схем генерирования алгоритмического ядра ИИТ были решены следующие практические задачи (первые четыре взяты из репозитория машинного обучения UCI [3]).
1. Классификация ирисов (4 признака, 3 класса, обучающая выборка - 135 единиц, контрольная
- 15).
2. Классификация вин (13 признаков, 3 класса, обучающая выборка - 163 единицы, контрольная
- 15).
3. Предсказание лесных пожаров (12 входных переменных и 1 выходная, обучающая выборка -477 единиц, контрольная - 40).
4. Распознавание типов земель по спутниковым изображениям (36 признаков, 6 классов, обучающая выборка - 4 435 единиц, контрольная -2 000).
5. Прогнозирование состояния турбины по вибрационным характеристикам (11 входных и 12 выходных переменных, обучающая выборка -1 000 единиц, контрольная - 400).
6. Моделирование процесса рудно-термичес-кой плавки (12 входных переменных и 1 выходная, обучающая выборка - 37 единиц, контрольная - 10).
7. Прогнозирование деградации электрических характеристик солнечных батарей космического аппарата (7 входных и 4 выходные переменные, обучающая выборка - 177 единиц, контрольная - 20).
При решении каждой задачи были получены работоспособные системы. В таблице представлены наилучшие результаты решения практических задач из 20 запусков программы.
№ Нейронная сеть Система на нечеткой логике Нейро-нечеткая система
Ошибка
О Э О Э О Э
1 5 1 2 0 2 0
2 1 1 0 0 0 0
3 16,87 % 19,61 % 15,67 % 17,5 %
4 1,78 % 1,79 % 1,11 % 1,11 % 1,45 % 1,46 %
5 9,11 % 9,14 % 8,07 % 8,09 % 7,99 % 7,97 %
6 4,86 % 4,97 % 2,99 % 3,01 % 2,81 % 2,92 %
7 5,66 % 7,66 % 5,05 % 5,87 %
Примечание. В таблице приняты следующие обозначения: О - обучение, Э - экзамен. В задачах классификации в качестве ошибки приводится число неправильно классифицируемых объектов, для остальных задач - средняя относительная ошибка. Пустые ячейки таблицы соответствуют случаям, когда ИИТ не удалось обучить до приемлемого уровня.
В большинстве случаев наилучшее качество моделирования имеет нейро-нечеткая система. При этом все типы ИИТ демонстрируют эффективность, сопоставимую с известными результатами.
Приведем примеры построения коллектива на основе математического выражения из частных решений отдельных технологий. Изначально заранее были сгенерированы и обучены десять ИИТ каждого типа.
В задаче классификации вин получена следующая формула: C = sin (NFN4 • VеNFNl0), где C -
номер класса. При этом ошибка распознавания составила 0 % как на обучающей выборке, так и на контрольной, что лучше, чем у нейросетевых и нечетких моделей по отдельности и сравнимо с
z ,, =
rk =
нейро-нечеткими. Необходимо отметить, что лучшие отдельные ИИТ, превосходящие остальные по качеству моделирования, обычно не входят в итоговый коллектив, так как, видимо, не могут внести нужный вклад в коллективное принятие решения.
В задаче моделирования процесса рудно-термической плавки получено выражение
FIS, eNm'
Ni(%) = NFN10 ■ e FIS,° , определяющее процентное содержание никеля в отработанном шлаке. Относительная ошибка составила 2,21 % на обучающей выборке и 2,33 % на тестовой, что лучше, чем у каждой индивидуальной ИИТ в отдельности.
В заключение отметим, что в данной работе предложены и реализованы методы автоматизированного проектирования ИИТ и их коллективов с помощью эволюционных алгоритмов. Работоспособность и эффективность предложенных методов подтверждена при решении ряда практических задач. Разработанная программная система, реализующая данные подходы, дает возможность авто-
матически генерировать нейросетевые модели, нечеткие и нейро-нечеткие системы, позволяя решать сложные задачи анализа данных и принятия решений. Автоматическое формирование коллектива ИИТ позволяет увеличить надежность и эффективность конечной системы.
Литература
1. Engelbrecht A. Computational Intelligence: An Introduction, John Wiley and Sons. 2007. 597 p.
2. Galushin P., Semenkina O., Shabalov A. Comparative analysis of two distribution building optimization algorithms. Distributed computing and artificial intelligence. Advances in Intelligent and Soft Computing, 2012. Vol. 151, pp. 759-766.
3. Frank A., Asuncion A. UCI Machine Learning Repository. URL: http://archive.ics.uci.edu/ml (дата обращения: 9.07.2012).
References
1. Engelbrecht A., Computational Intelligence: an Introduction, John Wiley and Sons, 2007, 597 p.
2. Galushin P., Semenkina O., Shabalov A., Advances in Intelligent and Soft Computing, 2012, Vol. 151, pp. 759-766.
3. Frank A., Asuncion A., UCI Machine Learning Repository, Available at: http://archive.ics.uci.edu/ml (accessed 9 July 2012).
УДК 004.89:004.4
ПРОГРАММНЫЙ КОМПЛЕКС АДАПТИВНЫХ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ МОДЕЛИРОВАНИЯ И ОПТИМИЗАЦИИ СЛОЖНЫХ СИСТЕМ
(Работа выполнена при поддержке ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы», НИР 2011-1.9-519.-005-042 (ГК№ 11.519.11.4002), и ФЦП «Научные и научно-педагогические кадры России», НИР 2011-1.2.1-113-025 (ГК№ 16.740.11.0742))
Е.С. Семёнкин, д.т.н., профессор; М.Е. Семёнкина, аспирант (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, просп. им. газ. "Красноярскийрабочий", 31, г. Красноярск, 660014, Россия, eugenesemenkin@yandex. ш, semenkina88t@mail. ш)
Обосновывается актуальность разработки адаптивных эволюционных алгоритмов, описываются результаты их применения при моделировании и оптимизации сложных систем. В связи с существенной зависимостью эффективности эволюционных алгоритмов от выбора их настроек вводится понятие самоконфигурируемого эволюционного алгоритма как одного из видов адаптивных эволюционных методов. Описываются основные идеи предлагаемого способа самоконфигурации различных вариантов генетических операторов, обсуждаются результаты проверки работоспособности самоконфигурируемых эволюционных алгоритмов на множестве тестовых задач, приводятся результаты сравнения предлагаемых самоконфигурируемых эволюционных алгоритмов со стандартными эволюционными алгоритмами, описывается способ применения самоконфигурируемого алгоритма генетического программирования для автоматического проектирования интеллектуальных информационных технологий разного рода. Кроме этого, в статье описывается подход, использующий алгоритм генетического программирования с самоконфигурацией для автоматического генерирования коллективов интеллектуальных информационных технологий, приводится описание состава и назначения программного комплекса адаптивных эволюционных алгоритмов моделирования и оптимизации сложных систем, использующего самоконфигурируемые алгоритмы генетического программирования и самоконфигурируемый генетический алгоритм. Полученные результаты позволяют сделать вывод о широкой практической применимости обсуждаемых в статье подходов и их высокой эффективности при решении практических задач.
Ключевые слова: адаптивные эволюционные алгоритмы, алгоритм генетического программирования, интеллектуальные информационные технологии, самоконфигурация.