Научная статья на тему 'Диагностика на основе генетических алгоритмов'

Диагностика на основе генетических алгоритмов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
340
78
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В. И. Дубровин, Е. Н. Федорченко

Исследуются генетические алгоритмы Canonical, Simple, Genitor, Gibrid и Island при обучении нейронной сети решению задачи диагностики. Для решения тестовой задачи диагностики создана автоматизированная система подбора весов нейронной сети. Приведены результаты экспериментов, позволяющие выявить наилучший генетический алгоритм для решения задач диагностики.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — В. И. Дубровин, Е. Н. Федорченко

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Досліджуються генетичні алгоритми Canonical, Simple, Genitor, Gibrid і Island при навчанні нейронної мережі рішенню завдання діагностики. Для рішення тестового завдання діагностики створена автоматизована система підбора ваг нейронної мережі. Наведено результати експериментів, що дозволяють виявити найкращий генетичний алгоритм для рішення завдань діагностики.

Текст научной работы на тему «Диагностика на основе генетических алгоритмов»

Таблица А.1 - Классы пассивных угроз информации Системы

Типы угроз информации Информация Персонал Аппаратное обеспечение Программное обеспечение Помещения

Количественная недостаточность 1.1 1.2 1.3 1.4 1.5

Качественная недостаточность 2.1 2.2 2.3 2.4 2.5

Побочные явления 3.1 3.2 3.3 3.4 3.5

Отказы, вызванные умышленными действиями 4.1 4.2 4.3 4.4 4.5

Сбои, вызванные умышленными действиями 5.1 5.2 5.3 5.4 5.5

Ошибки, вызванные умышленными действиями 6.1 6.2 6.3 6.4 6.5

Отказы, вызванные неумышленными действиями 7.1 7.2 7.3 7.4 7.5

Сбои, вызванные неумышленными действиями 8.1 8.2 8.3 8.4 8.5

Ошибки, вызванные неумышленными действиями 9.1 9.2 9.3 9.4 9.5

Таблица А.2 - Классы активных угроз информации Системы

Информация Персонал Аппаратное обеспечение Программное обеспечение Помещения

Хищение 10.1 10.2 10.3 10.4 -

Подмена 11.1 11.2 11.3 11.4 -

Считывание 12.1 12.2 12.3 12.4 12.5

Нарушение функционирования 13.1 13.2 13.3 13.4 13.5

С помощью предложенной методики может быть получено 45 возможных классов пассивных угроз информации для Системы.

Рассмотрим возможные классы активных угроз информации Системы (Таблица А.2 содержит 18 классов указанных угроз.)

Надшшла 28.02.06 Шсля доробки 11.07.06

Пропонуеться методика оцтки iMoeipnocmi прояву за-гроз тформацп. Розглядаються два класи загроз тформацИ.

The estimations method for probability of data threats is offered. Two classes of data threats are considered.

УДК 519.71

В. И. Дубровин, E. H. Федорченко

ДИАГНОСТИКА НА ОСНОВЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

Исследуются генетические алгоритмы Canonical, Simple, Genitor, Gibrid и Island при обучении нейронной сети решению задачи диагностики. Для решения тестовой задачи диагностики создана автоматизированная система подбора весов нейронной сети. Приведены результаты экспериментов, позволяющие выявить наилучший генетический алгоритм для решения задач диагностики.

ВВЕДЕНИЕ

Разработка автоматизированных систем диагностики и прогнозирования предполагает создание математического обеспечения для сбора, хранения, обработки и анализа диагностической информации.

При исследовании недостаточно изученных процессов на первый план выдвигается задача отыскания на© Дубровин В. И., Федорченко Е. Н., 2006

иболее информативных признаков, влияющих на качественные показатели процесса. Знание информативных признаков дает возможность сделать математическое описание процесса достаточно простым при максимуме подобия. В то же время, если из множества информативных признаков в математическую модель не будет включен хотя бы один признак (и данный признак буден стабилизирован во время исследований), то полученная модель будет представлять собой лишь сечение в факторном пространстве, позволяющее найти только частный экстремум целевой функции. Если же признак будет изменяться произвольным образом, то это вызовет существенный рост уровня шума. В обоих случаях главный экстремум не может быть достигнут. Таким образом, возникает задача оценки сравнитель-

ного влияния большого числа входных признаков на целевую функцию и исключения из дальнейшего рассмотрения неинформативных признаков [1].

Для решения оптимизационных задач, связанных с анализом диагностических данных при наличии случайных и непредсказуемых воздействий, перспективно использовать математический аппарат генетических алгоритмов (ГА).

Целью данной работы является анализ наиболее часто применяемых на практике генетических алгоритмов: канонического, простого, джениторного, гибридного и островного по скорости и точности распознавания, а также создание автоматизированной системы для проведения исследований ГА.

1 МОДЕЛИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

Схема работы обобщенного ГА представлена на рис. 1.

Суть ГА заключается в циклической замене одной популяции следующей, более приспособленной. Каждая особь оценивается мерой ее приспособленности согласно тому, насколько хорошо соответствующее ей решение задачи. Приспособленность определяется как вычисленная целевая функция для каждой из хромосом. Правила отбора стремятся оставить только те точки, где имеет место максимум целевой функции. Наиболее приспособленные особи получают возможность воспроизводить потомков с помощью перекрестного скрещивания с другими особями популяции. Это приводит к появлению новых особей, которые сочетают в себе некоторые характеристики, наследуемые ими от родителей. Наименее приспособленные особи с меньшей вероятностью смогут воспроизвести потомков, так что те свойства, которыми они обладали, будут постепенно исчезать из популяции в процессе эволюции. Это означает, что гены от высоко адаптированных или приспособленных особей будут распространятся в увели-

РЕЗУЛЬТАТ

Рисунок 1 - Схема обобщенного ГА

чивающемся количестве потомков на каждом последующем поколении.

Таким образом, из поколения в поколение хорошие характеристики распространяются по всей популяции. Комбинация хороших характеристик от различных родителей иногда может приводить к появлению супер-приспособленного потомка, чья приспособленность больше, чем приспособленность любого из его родителя. Скрещивание наиболее приспособленных особей приводит к тому, что исследуются наиболее перспективные участки пространства поиска. В конечном итоге популяция будет сходиться к оптимальному решению задачи [2-4].

После скрещивания иногда происходят мутации и инвертирования, или спонтанные изменения в генах, которые случайным образом разбрасывает точки по всему множеству поиска. Процесс сходимости за счет отбора должен быть более выражен в сравнении с разбросом точек за счет мутации и инвертирования. Иначе сходимость к экстремумам не будет иметь места, сходимость за счет отбора не должна быть слишком быстрой, иначе все точки могут собраться вблизи локального экстремума, а глобальный экстремум, так и не будет найден.

После скрещивания, мутации и инвертирования размер популяции увеличивается. Однако для последующих преобразований необходимо сократить число хромосом текущей популяции, поэтому снова применяется оператор отбора.

Дальнейшая работа генетического алгоритма представляет собой итерационный процесс выполнения генетических операторов.

Рассмотрим основные модели ГА.

Канонический (классический) ГА. Алгоритм имеет следующие характеристики:

- фиксированный размер популяции;

- фиксированная разрядность генов;

- пропорциональный отбор;

- особи для скрещивания выбираются случайным образом;

- одноточечный кроссовер и одноточечная мутация.

Следующее поколение формируется из потомков текущего поколения без «элитизма». Потомки занимают места своих родителей [5, 6].

Простой (Simple GA) ГА. Он отличается от канонического тем, что использует либо рулеточный, либо турнирный отбор.

Дженитор (Genitor) ГА. Алгоритм отличается от классического ГА следующими тремя свойствами:

- на каждом шаге только одна пара случайных родителей создает только одного потомка;

- этот потомок заменяет не родителя, а одну из худших особей популяции;

- отбор особи для замены производится по ее рангу (рейтингу), а не по приспособленности.

Вначале популяция инициализируется и ее особи оцениваются, дальше выбираются случайным образом две особи, скрещиваются, причем получается только один потомок, который оценивается и занимает место наименее приспособленной особи. Дальше снова производится выбор двух особей случайным образом, и получается потомок. На каждом шаге в популяции обновляется только одна особь [4-6].

Идея гибридного алгоритма (hybrid algorithm) основывается на использовании генетического алгоритма с некоторым другим методом поиска, который подходит для решения выбранной задачи. На каждом поколении каждый полученный потомок оптимизируется этим методом, после чего производятся обычные для ГА действия. При использовании этой модели получается, что каждая особь достигает локального максимума, вблизи которого она находится, после чего подвергается отбору, скрещиванию и мутации [2].

Островной алгоритм (island algorithm) - представляет собой модель параллельного генетического алгоритма [2, 3, 7, 8]. Алгоритм имеет следующие характеристики:

- наличие нескольких популяций, как правило одинакового фиксированного размера;

- фиксированная разрядность генов.

Любые комбинации стратегий отбора и формирования следующего поколения в каждой популяции. Можно сделать так, что в разных популяциях будут использоваться разные комбинации стратегий, хотя даже один вариант дает разнообразные решения на различных «островах».

Ограничений на тип кроссовера и мутации нет.

2 АВТОМАТИЗИРОВАННАЯ СИСТЕМА

ГЕНЕТИЧЕСКОГО ПОДБОРА ВЕСОВ

НЕЙРОННОЙ СЕТИ

Для исследования свойств ГА была создана автоматизированная система. Поскольку существует большое число различных ГА и их операторов, то целесообразно для обеспечения возможности развития и наращивания методов обработки информации создать систему, которая, имеет модульную структуру.

Разделение на подсистемы позволяет системе быстрее обрабатывать информацию, а также в случае необходимости позволяет облегчить подключение нового модуля в систему.

Подсистема генерации задач содержит процедуру, реализующую генерацию выборок данных с помощью псевдослучайных данных. В связи с тем, что функции ГА часто оперируют случайными величинами, реализация унифицированной процедуры генерации случайных чисел как отдельной процедуры является рациональной. Эта процедура генерирует случайные числа

в необходимом диапазоне, опционально возвращает целые или дробные значения.

Подсистема предобработки данных производит сортировку и вычисление выходов нейронной сети.

В подсистеме реализации настройки весов нейронной сети реализована работа генетических операторов: отбора, скрещивания, мутации и инверсии. Операция отбора производится на основании значений выходов нейронной сети (НС), вычисленных в подсистеме предобработки.

Подсистема интерфейса обеспечивает два вида взаимодействия:

- между системой и внешней средой;

- между подсистемами предобработки и реализации ГА.

При начале работы с системой пользователь должен определить следующие параметры:

- обучающую выборку;

- операторы ГА (задать их вероятностные характеристики);

- структуру обучающейся нейронной сети (количество слоев и количество нейронов в каждом слое).

При определении пользователем обучающей выборки нужно задать директорию, в которой находятся файлы с обучающими выборками.

При определении операторов ГА задается критерий останова и при необходимости файл, содержащий начальную популяцию.

После останова работы ГА результаты выводятся на экран. По желанию пользователя оптимальный набор признаков и/или популяции последнего поколения могут быть записаны в файл.

Система позволяет пользователю:

- самостоятельно задавать начальную популяцию и структуру НС;

- использовать в качестве обучающей выборки файлы различных типов с различными способами хранения информации;

- самостоятельно выбирать операторы ГА, которые будут использованы в программе, и задавать их вероятностные характеристики;

- визуально контролировать ход работы ГА;

- определять различные способы критериев останова;

- останавливать работу ГА в любой момент времени;

- сохранять конечную популяцию в файле для дальнейшего ее использования в качестве начальной популяции при необходимости продолжения поиска наилучшего сочетания весовых коэффициентов.

Входными данными системы являются:

- файлы с обучающей выборкой;

- структура нейронной сети;

- файлы с начальной популяцией;

- характеристики операторов ГА.

Выходными данными системы являются:

настроенные весовые коэффициенты нейронной

4 ЭКСПЕРИМЕНТЫ И РЕЗУЛЬТАТЫ

- файлы с выходной популяцией.

3 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ

ПРИ ОБУЧЕНИИ НЕЙРОННОЙ СЕТИ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Процесс обучения нейронной сети с помощью генетического алгоритма разбивается на два этапа.

На первом этапе с помощью генетического алгоритма осуществляется поиск общих параметров нейронной сети, а именно: количество скрытых слоев и нейронов в каждом слое.

На втором этапе генетический алгоритм используется для поиска значения связей между нейронами и функцией активации.

Целевая функция задается для множества примеров и представляет собой максимальное относительное отклонение от эталонного значения, выраженное в процентах. Цель применения генетического алгоритма - минимизация функции

к (У'н - Ун) С = тах 4 -ч' • 100 %,

Ц = 1 Ун

где к - количество примеров; у' ц - значение г-го выхода нейронной сети для ц-го примера, у'ц > 0.

Генетические алгоритмы для подстройки весов скрытых и выходных слоев используются следующим образом. Каждая хромосома (решение, последовательность, индивидуальность, «родитель», «потомок») представляет собой вектор из весовых коэффициентов (веса счи-тываются с нейронной сети в установленном порядке -слева направо и сверху вниз).

Начальная популяция выбирается случайно, значения весов лежат в промежутке [-1.0, 1.0]. Для обучения сети к начальной популяции применяются простые операции: селекция, скрещивание, мутация, - в результате чего генерируются новые популяции.

Алгоритм прекращает работу в одном из следующих случаев:

- найдено решение;

- истекло установленное время работы либо число поколений;

- популяция длительное время не прогрессирует.

В результате работы ГА получается популяция, которая содержит особь, гены которой лучше генов других особей соответствуют требуемым условиям. Данная особь и будет являться найденным с помощью ГА решением. Следует отметить, что найденное решение может и не быть наилучшим, однако оно может быть близко к оптимальному. Отличительной особенностью ГА является то, что вычислительная сложность алгоритма мало зависит от сложности задачи.

Модели ГА исследовались при решении тестовой задачи классификации лопаток газотурбинных авиадвигателей.

При исследовании эффективности обучения нейронной сети различными методами генетических алгоритмов, в качестве тестовых примеров рассматривался однослойный персептрон с 32 входными сигналами и одним выходным сигналом 0 и/или 1.

На вход НС подавалось обучающее множество, состоящее из 100 элементов.

Выполнялось обучение персептрона с помощью алгоритма Левенберга-Марквардта и с помощью рассмотренных генетических алгоритмов.

Результаты работы ГА и алгоритма Левенберга-Марк-вардта приведены в таблице 1.

Генетические алгоритмы стохастичны, поэтому при разных запусках популяция может сходиться к разным решениям (хотя все они в некоторой степени «хорошие»). Островная модель позволяет запустить алгоритм сразу несколько раз и (из полученных решений выбрать наилучшие решение одного острова).

Классический ГА хорош для понимания работы генетических алгоритмов, однако он не является наиболее эффективным из них.

Использование гибридного алгоритма позволяет объединить преимущества ГА с преимуществами классических методов.

Таблица позволяет сделать следующие выводы.

Генетические алгоритмы значительно выигрывают по сравнению с алгоритмом Левенберга-Марквардта для решаемой задачи, генерирует лучшие векторы весовых коэффициентов за меньшее количество времени, при этом точность распознавания выше 80 % (в зависимости от модели ГА), а гибридный ГА показывает нулевую погрешность работая (см. рис. 2-5) при этом в 3-4 раза быстрее.

По результатам экспериментов наиболее быстрыми оказался канонический и дженитор алгоритмы, следующим идет простой и гибридный, затем островной алгоритм (его достоинства при параллельной обработке популяций могут быть использованы в полную силу лишь на многопроцессорном сервере) и алгоритм Ле-венберга-Марквардта.

Исследования позволили получить следующие результаты погрешности распознавания: погрешность распознавания моделей, построенных на основе гибридного ГА - 0 %, канонического - 5 %, островного - 7 %, простого - 9 %, дженитор - 14 %, алгоритма Левенберга -Марквардта - 0 %.

Проведенные эксперименты позволили выделить канонический генетический алгоритм как самый оптимальный по скорости распознавания и точности.

Таблица 1 — Сравнение результатов работы ГА и алгоритма Левенберга-Марквардта

ГА Канонический Простой Дженитор Гибридный Островной

Популяции из 5 особей

Погрешность 15,6 25 18,9 0 17,2

Время, сек. 0,2 0,4 0,1 0,2 0,4

Популяции из 10 особей

Погрешность 9,4 17,5 15,6 0 10,9

Время, сек. 0,1 0,3 0,1 0,3 0,4

Популяции из 20 особей

Погрешность 9,4 20,3 17,2 0 7,8

Время, сек. 0,1 0,3 0,1 0,5 0,3

Популяции из 50 особей

Погрешность 7,8 17,2 17,2 0 9,4

Время, сек. 0,2 0,2 0,2 0,7 0,4

Популяции из 100 особей

Погрешность 6,5 9,4 15,6 0 7,3

Время, сек. 0,22 0,46 0,67 0,8 0,76

Популяции из 250 особей

Погрешность 7,8 9,4 21,9 0 9,4

Время, сек. 0,8 1,1 1,1 1,1 1,0

Популяции из 500 особей

Погрешность 9,4 9,4 18,8 0 7,3

Время сек. 4,2 4,9 6,9 4,5 4,4

Популяции из 1000 особей

Погрешность 9,3 20,2 10,9 0 6,2

Время, сек. 7,1 11,8 4,7 7,3 17,9

Алгоритм Левенберга-Марквардта

Погрешность

Время, сек.

1,03

Рисунок 2 - Сравнение результатов работы генетических алгоритмов и алгоритма Левенберга-Марквардта по скорости обучения (10 особей в популяции)

Рисунок 3 - Сравнение результатов работы генетического алгоритмов и алгоритма Левенберга-Марквардта по скорости обучения (1000 особей в популяции).

5 10 2) 50 10 0 250 Размер популяции

Рисунок 4 - Зависимость времени распознавания от размера популяции на примере канонического алгоритма

13

4 2 0

5 10 20 50 100 2 50 Размер популяции

Рисунок 5 - Ошибка распознавания в зависимости от колличества особей в популяции на примере канонического алгоритма

Для повышения эффективности обучения ИНС необходимо решить следующие задачи:

- увеличить скорость нахождения решения;

- обеспечить возможность удаления неинформативных и малоинформативных признаков при обучении ИНС;

- повысить адаптивные свойства алгоритма.

ПЕРЕЧЕНЬ ССЫЛОК

1. Биргер И. А. Техническая диагностика. - М.: Машиностроение, 1978. - 240 с.

2. Кисляков А. В. Генетические алгоритмы: операторы скрещивания и мутации // Информационные технологии. - 2000. - № 12. - С. 2-24.

3. Кисляков А. В. Генетические алгоритмы: математический анализ некоторых схем репродукции. // Информационные технологии. - 2001. - № 1. - С. 29-34.

4. Назаров А. В., Лоскутов А. И. Нейросетевые алгоритмы прогнозирования и оптимизации систем: - СПб.: Наука и техника, 2003. - 384 с.

5. Рутковская Д., Пилиньский М, Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. - М.: Горячая линия - Телеком, 2004. - 452 с.

6. Симанков В. С., Частикова В. А. Генетические алгоритмы и поиск оптимальных решений // Автоматизация и современные технологии. - 2003. - № 6. - С. 39-45.

7. Beasley D, Bull D. R, Martin R. R, An Overview of Genetic Algorithms: Part I, Fundamentals // University Computing. - 1993. - № 2. - P. 58-69.

8. Вороновский Г. К., Махотило К. В., Петрашев С. Н., Сергеев С. А. Генетические алгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. -Харьков: Основа, 1997. - 112 с.

Надшшла 7.06.06

Досл1джуються генетичт алгоритми Canonical, Simple, Genitor, Gibrid i Island при навчант нейронноЧ ме-реж1 рШенню завдання дiагностики. Для рШення тестового завдання дiагностики створена автоматизована система тдбора ваг нейронноЧ мережi. Наведено результати експериментiв, що дозволяють виявити найкращий гене-тичний алгоритм для рШення завдань дiагностики.

The genetic algorithms Canonical, Simple, Genitor, Gib-rid and Island are investigated at neural network training for the decision of a diagnostics problem. For the decision of a test problem of diagnostics the automated system of selection of weights of neural networks is created. The results of experiments are given, allowing to reveal the best genetic algorithm for the decision of diagnostics problems.

УДК 681.51:57

А. С. Кулик, А. Ю. Завгородний

ДИАГНОСТИРОВАНИЕ ДАННЫХ КОРПОРАТИВНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ НА ОСНОВЕ ЕСТЕСТВЕННОЙ

ИЗБЫТОЧНОСТИ

Представлен подход к диагностированию данных корпоративных информационных систем на основе естественной избыточности, базирующийся на концепции диагностических моделей. Последовательно решены задачи обнаружения ошибки, поиска ошибочных кортежей, ошибочных атрибутов и определения вида ошибки. Представлены оценки вычислительной сложности решенных задач.

© Кулик А. С., Завгородний А. Ю., 2006

ВВЕДЕНИЕ

Повышение конкурентоспособности современной организации не представляется возможным без внедрения в ее деятельность информационных систем управления. Использование организацией такой системы

i Надоели баннеры? Вы всегда можете отключить рекламу.