Методы интеллектуального анализа данных в электронных хранилищах: генетические алгоритмы

НЕЙFGІНФGFМАТИKА ТА ІНТЕЛЕКТУАЛЬНІ СИСТЕМИ

НЕЙРОИНФОРМАТИKА И ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ

NEUROINFORMATICS AND INTELLIGENT SYSTEMS

УДК519.168:004.658

Асеев Г. Г.

Д-р техн. наук, профессор, заведующий кафедрой Харьковской государственной академии культуры

МЕТОДЫ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ В ЭЛЕКТРОННЫХ ХРАНИЛИЩАХ: ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ

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

Ключевые слова: интеллектуальный анализ, электронное хранилище, нейронная сеть, генетические алгоритмы.

ВВЕДЕНИЕ

В настоящее время в электронных хранилищах данных (ХД) корпоративных информационных систем хранятся терабайты различной текстовой и числовой информации. Для обнаружения, извлечения и интеллектуального анализа этих данных используются методы Knowledge Discovery in Databases и Data mining [1]. В [1] были описаны некоторые рекомендации, следуя которым можно подготовить качественные данные в нужном объеме для анализа: первичные источники данных, хранение данных, подготовка исходного набора данных, предобработка и очистка исходных данных [2], трансформация, нормализация, выдвижение гипотез и построение модели Data Mining [3]. Данная работа продолжает цикл статей, посвященных методам интеллектуального анализа данных в электронных хранилищах большого объема, в частности модификации генетических алгоритмов.

ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ - МАТЕМАТИЧЕСКИЙ АППАРАТ

Такие свойства генетических алгоритмов, как адаптивность, робастность, возможность распараллеливания вычислений и отыскание глобального экстремума принятой функции приспособленности, обеспечили их эф© Асеев Г Г, 2011

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

Из биологии мы знаем, что любой организм может быть представлен своим фенотипом, который фактически определяет, чем является объект в реальном мире, и генотипом, который содержит всю информацию об объекте на уровне хромосомного набора. При этом каждый ген, то есть элемент информации генотипа, имеет свое отражение в фенотипе. Разработчик генетических алгоритмов выступает в данном случае как «создатель», который должен правильно установить законы эволюции, чтобы достичь желаемой цели как можно быстрее. Впервые эти нестандартные идеи были применены к решению оптимизационных задач в середине 70-х годов [4]. Примерно через десять лет появились первые теоретические обоснования этого подхода [5, 6]. В дальнейшем генетические алгоритмы доказали свою конкурентоспособность при решении многих ЛР-трудных задач [7] и особенно в практических приложениях, где математические модели имеют сложную структуру и применение стандартных методов типа ветвей и границ, динамического или линейного программирования крайне затруднено.

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

Генетический алгоритм работает с представленными в конечном алфавите строками £ конечной длины I, которые используются для кодировки исходного множества альтернатив Ж. Строки представляют собой упорядоченные наборы из I элементов: £=(51, &’2, ..., &•), каждый из которых может быть задан в своем собственном

алфавите У, /' = 1, Ь , где алфавит У является множеством из г. символов: У\ = {у;у, ] = 1, г.}. Для решения конкретной задачи требуется однозначно отобразить конечное множество альтернатив Ж на множество строк подходящей длины (очевидно, что длина строк зависит от алфавитов, используемых для их задания).

Для работы алгоритма необходимо на множестве строк иту,у2,...,ут) задать неотрицательную функцию Р (£), определяющую показатель качества, «ценность» строки 8О ит(у1,у2,...,ут). Алгоритм производит поиск строки, для которой

F * (S ) =

arg

max

SeUm

F

Если на множестве Ж задана целевая функция/ (м^), то функцию Р (5) на множестве строк ит{у1,у1,...,ут) можем определить следующим образом: Р (5)=/(м>), если элемент м> при отображении исходного множества Ж на множество строк был сопоставлен строке 5.

Генетический алгоритм за один шаг производит обработку некоторой популяции строк. Популяция О (ґ) на шаге ґ представляет собой конечный набор строк:

G(t) = (s1 ,S2,...,SN), Sk eUm(v1,v2..

v ), k = 1,N,

где N - размер популяции, причем строки в популяции могут повторяться.

Анализ работы алгоритма удобно производить, используя аппарат схем. Схемой в генетическом алгоритме называют описание некоторого подмножества строк. Схема Н=(И1, И , ..., Ит)может рассматриваться как строка, алфавиты для элементов которой дополнены специальным символом «#»:

H eU

П

Ун v

VH = v; u"#"

Если в некоторой позиции г схемы Н присутствует символ «#», то такая позиция называется свободной, а сам символ «#» интерпретируется как произвольный символ из алфавита V. Позиция q схемы Н называется

фиксированной, если в этой позиции присутствует один из символов алфавита V Схема Н, в которой определены фиксированные и свободные позиции, описывает

подмножество ин Е иту,у2,...,ут), содержащее такие

строки, у которых элементы, соответствующие фиксированным позициям схемы, совпадают с символами схемы, а элементы, соответствующие свободным позициям схемы, являются произвольно заданными в соответствующих алфавитах:

и Н = Ц? еит(У1,У2,...,Уп )л(уг у е /[1,т]л И ф "#")у = И))}

где ^[і, т] - множество целых чисел отрезка [1, т].

Например, для множества строк и

(хУгУїУцУь.

где

и = {0, 1}, V .і = 1,5, схема Н =« 1###0» задает такое множество строк, у которых первым элементом является символ «1», пятым - «0», а остальные - либо «0», либо «1». Строки «10010», «11110» являются примерами строк,

принадлежащих множеству и^ .

Часть популяции о(ґ) = (^,5 2,..., ), строки которой удовлетворяют схеме Н, обозначают

G

H

(t )=(s1

H,t nH,t

SH,',..., S

h ,t

(Н ґ)), где п (Н, ґ) - число строк

схемы Н в популяции О (ґ), и называют подпопуляцией, соответствующей схеме Н.

ПРОЦЕДУРА ОПТИМИЗАЦИИ

В общем случае процедура оптимизации на основе обычного последовательного комплекс-метода выглядит следующим образом: требуется отыскать минимум некоторой функции, как правило, многоэкстремальной:

е(х)^ тіп,

хеЯп

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

Будем использовать функции приспособленности следующего вида:

E (x)=Z E (cl )=ZZ wcl, d =ZZsfcl, dx

cl cl d cl d

idscl, d =ZZ Sfcl, d x log

N

cl d

ds,

cl

где Е (с1) - функция приспособленности для хромосомы с1; wcl ^ - нормализованные данные о хромосоме с для документа d; $/с1 ^ - частота встречаемости терма (или набора термов), представленного хромосомой с1;

Їй8

cl, d

инверсная частота встречаемости терма (или

x

набора термов), представленного хромосомой сі; dscl -число документов, содержащих комбинации хромосомы сі; N - общее число документов в ХД.

Все данные должны быть представлены в двоичном коде (1 - если терм (или набор термов) содержится в документе, 0 - в противном случае). В ХД используются хромосомы, максимальная длина которых составляет до нескольких сотен генов, причем некоторые из них могут быть пустыми. Согласно этому утверждению, число повторяющихся термов в решении может варьироваться от 2 до нескольких сотен. Поскольку пространство решений очень большое, предлагается использовать мутацию, фиксированную между 50 и 70 процентами, и в конечном итоге каждая хромосома будет подвержена мутации для новой популяции.

Работа алгоритма начинается с формирования начального комплекса

xi (0) = (xil(0). xi2(0),..., xij I0),..., xin (°))3

і = 1,2,..., N > n +1,

представляющего собой «облако» (популяцию) точек (векторов), достаточно произвольно расположенных в и-мерном пространстве факторов. Среди множества этих точек находится «наихудшая» xN (0), в которой значение функции Е (xN (0)) максимально, после чего эта точка отражается через центр тяжести всех остальных вершин-точек, формируя новый комплекс xN(1), i = 1, 2,..., N. Такое отражение вместе с растяжением и сжатием обеспечивают движение комплекса к экстремуму функции E (х), при этом, благодаря достаточно случайному распределению точек «облака», поиск имеет глобальный характер.

С формальной точки зрения, рассмотрим процесс оптимизации на к-й итерации поиска, когда сформирован комплекс х. (к), i = 1, 2,., N. Среди множества точек х. (к) находится «наихудшая», такая, что

E (xN(к)) = max (E(x1(кft— E(xN (к))}

i

после чего определяется центр тяжести «облака» без наихудшей точки:

—— xl(k) +... + —— xN-l(k)+ nR N -1 1V 7 N -1 N 1W N -1

... +

XN-1(k) - nRXN (k ) = X (k )R,

где nR - параметр шага отражения, часто полагаемый равным единице, X(k) = (xl(k),X2(k)...,XN-l(k)) - (nxN) -

матрица

R = 1 -nR

координат

1 + nR 1 + n R

вершин

Rf

І I - (N x 1) - вектор.

комплекса,

N -1

N-

В случае, если отраженная вершина хК (к) окажется «наилучшей» среди всех остальных точек комплекса, т. е.:

Е(хК (к))< Е(хс (к))< Е(х^ (к)), I = 1,2,..., N -1,

производится операция растяжения комплекса в направлении от центра тяжести хс (к) до хя (к) согласно выражению

хЕ (к) = хС (к) + ПЕ (хД (к) - хС () = ^ (к )E,

где пе _ параметр шага растяжения, часто полагаемый равным двум:

1 - nE

E = I -nEnR

N-1

N -1

Если же хК (к) окажется наихудшей среди всех х. (к), комплекс сжимается согласно соотношению

х3 (к) = хС (к) + (хД (к ) - хС () = ^ (к ^,

где _ параметр шага сжатия, обычно полагаемый равным 0,5:

1 -ns

S=I-nSnR

N-1

N-1

1 l '

XC(k ) = TT 7 Z X(k)- XN(k) .

N - 1 I i=l )

Далее хЖ (к) отражается через центр тяжести хс (к), формируя новую вершину комплекса хК (к), которая теоретически расположена ближе к экстремуму, чем хЖ (к) и хс (к), т. е.

Е(хК (к)) < Е (хс (к)) < Е(хж (к)).

Операция отражения формально имеет следующий

вид:

XR (k) = ХС (k) + nR (хС (k) - XN (k)) =

При ns = 1, nE = 2, ns = 0,5 приходим к простым выражениям:

R = l -1

2

2

N -1 N -1

1

1

N-1

т

N-1

S = l - 0,5,

N -1 N -1

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

т

т

1

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

Итак, пусть на к-й итерации процесса оптимизации

имеется комплекс х, (к), і = 1,2,...,N с ,P<N наихудшими вершинами хн (к) р = 1,2,..., Р. Тогда координаты центра тяжести комплекса без вершин хн >) задаются выражением

XC\

1 N P

N - p

i=1

p=1

а процедура отражения описывается системой уравнений

XR1 (k) = XC (k) + nR (xC (k) - XH1 (k )), XRP (k)= XC (k) + nR (xC (k) - XHP (k)) .

В случае, если среди отраженных вершин оказывается <2 < = Р наилучших, комплекс растягивается в их направлении согласно уравнениям

XE1 (k )= XC (k) + ПЕ (xR1 (k)- XC (k )), xEe (k) = XC (k) + nR ( (k) - XC (k)).

Если, далее, среди отражаемых вершин окажется и <= Р наихудших, комплекс сжимается в их направлении согласно уравнениям

XS1 (k )= XC (k) + ns (xR1 (k)- XC (k)),

XEU (k) = XC (k) + ns ( (k)- XC (k)) .

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

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

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

- создание начальной популяции, образованной P (0) особями хромосомами - вершинами комплекса;

- операция кроссовера с увеличением популяции Pcr (0) > P (0);

- операция мутации PM (0) > PCR (0);

- операция инверсии P1 (0) > PM (0);

- первая селекция (определение наихудших особей) без сокращения популяции PSEa (0) = Pf (0);

- операция отражения с удалением P наихудших особей P (°)<Pel1 (°);

- операция растяжения без увеличения популяции

pe (°)=P (°);

- операция сжатия без увеличения популяции P, (0) = PE (0);

- вторая селекция с удалением PW (0) наихудших особей PSEL2 (0) = P{ (0) = P (1) и формирование популяции P (1) для следующей итерации алгоритма.

ВЫВОДЫ

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

Эти и некоторые другие особенности генетических алгоритмов послужили толчком к созданию их различных модификаций. В некоторых модификациях, например, предлагается использовать, кроме классических генетических операторов кроссовера, мутации и инверсии дополнительные операторы. Например, такие как операторы объединения (fusion) и разделения (fission). Операция объединения заключается в том, что два аллеля соединяются в один. Операция разделения предполагает замену одного аллеля другим случайным аллелем. В результате происходит разделение кластеров [10].

В основе рассматриваемого алгоритма лежит синтез обычного эволюционного генетического подхода с идеями адаптационной оптимизации и, прежде всего, последовательного комплекс-метода отыскания экстремума функций многих переменных. При этом в каждый момент времени текущая популяция отождествляется с «облаком» - комплексом точек в пространстве переменных-факторов, а кроме традиционных генетических операторов мутации, кроссовера и инверсии дополнительно вводятся операторы комплекс-поиска, такие как отражение, растяжение и сжатие. Работа предложенного алгоритма протестирована на выборке Reuters-21578 [В, 9]. Было установлено, что предложенный алгоритм работает быстрее и дает более точные результаты (в среднем В-10 %) по сравнению со стандартными генетическими алгоритмами.

В5

СПИСОК ЛИТЕРАТУРЫ

1. Асеев, Г. Г. Проблема обнаружения нового знания в хранилищах данных методами Knowledge Discovery in Databases / Г. Г. Асеев // Вестник НТУ «ХПИ». - 2006. -№ 19. - С. 62-70.

2. Асеев, Г. Г. Методы интеллектуальной предобработки данных в электронных хранилищах / Г. Г. Асеев // Радіоелектроніка, інформатика, управління. - 2010. - № 2(23). -С. 106-111.

3. Асеев, Г. Г. Методы интеллектуального анализа данных в электронных хранилищах / Г. Г. Асеев // Бионика интеллекта : науч.-техн. журнал. - 2008. - № 1(70). - С. 28-33.

4. Растригин, Л. А. Случайный поиск - специфика, этапы истории и предрассудки / Л. А. Растригин // Вопросы кибернетики. - Вып. 33. - 1988. - C. 3-12.

5. Holland, J. H. Adaptation in natural and artificial systems / John H. Holland. - Ann Arbor : University of Michigan Press, 1985. - 305 p.

6. Rechenberg, I. Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der Biologischen Information / Rechenberg I. - Freiburg : Fromman, 1983. - P. 135-143.

7. Goldberg, D. E. Genetic algorithms in search, optimization, and machine learning / David E. Goldberg. - [USA] : Addison-Wesley, 1989. - 752 p.

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

«Информационные интеллектуальные системы» : тезисы докл. - Х. : ХНУРЭ, 2008. - С. 22-25.

Волкова, В. В. Комбинированное обучение самоорганизующихся карт с нечетким выводом / В.В. Волкова, Е. В. Махиборода // Факультетская научно-практическая молодежная школа-семинар студентов, аспирантов и молодых ученых «Информационные интеллектуальные системы» : тезисы докл. - Харьков : ХНУРЭ, 2008. - С. 30-33. 10. Рассел, С. Искусственный интеллект. Современный нод-ход / С. Рассел, П. Норвиг. - М. : Вильямс, 2006. - 1408 с.

Стаття надійшла до редакції 21.01.2011.

Асєєв Г. Г.

МЕТОДИ ІНТЕЛЕКТУАЛЬНОГО АНАЛІЗУ ДАНИХ В ЕЛЕКТРОННИХ СХОВИЩАХ: ГЕНЕТИЧНІ АЛГОРИТМИ

Представлено один з можливих методів інтелектуального аналізу даних в електронних сховищах великого об’ єму - генетичні алгоритми і їх модифікація.

Ключові слова: інтелектуальний аналіз, електронне сховище, нейронна мережа, генетичні алгоритми.

Aseyev G. G.

METHODS OF INTELLECTUAL ANALYSIS OF DATA IN ELECTRONIC DEPOSITORIES: GENETIC ALGORITHMS

One of the possible methods of data intellectual analysis in high-volume electronic depositories is presented - genetic algorithms and their modification.

Key words: intellectual analysis, electronic depository, neuron network, genetic algorithms.

УДК 004:519.2 Кротких С. С.1, Кириченко Л. О.2

1 Аспирант Харьковского национального университета радиоэлектроники 2Канд. техн. наук, доцент Харьковского национального университета радиоэлектроники

ИССЛЕДОВАНИЕ ВЫЗВАННЫХ ПОТЕНЦИАЛОВ В ЭЭГ ЧЕЛОВЕКА С ПОМОЩЬЮ ДИСКРЕТНОГО ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ

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

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

ВВЕДЕНИЕ

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

воляет измерить изменение электрического потенциала в отдельных участках головного мозга человека. Электроэнцефалограмму (ЭЭГ) можно рассматривать как фиксацию последовательности умственных задач, выполняемых мозгом субъекта. Различные умственные задачи или условия, в которых находится человек, имеют свои уникальные отражения в результирующем ЭЭГ сигнале. Таким образом, наличие тех или иных изменений в

© Кротких С. С., Кириченко Л. О., 2011