УДК 004.89
ПРИМЕНЕНИЕ РЕКУРРЕНТНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КЛАСТЕРИЗАЦИИ
А.К. Стоянов
Институт «Кибернетический Центр» ТПУ E-mail: [email protected]
Рассматривается рекуррентная нейронная сеть с локальной обратной связью. Показано, что в такой сети нейроны уменьшают энтропию распределения входных сигналов. Это свойство положено в основу создания сети, решающей задачу кластеризацию. Приводятся результаты экспериментальной проверки работы такой сети.
Ключевые слова:
Нейрон, нейронная сеть, точечные отображения, особые точки, кластеризация, энтропия. Key words:
Neuron, neural network, point map, critical point, clustering, entropy,
Введение
В [1] рассматривалась модель рекуррентной нейронной сети с локальной обратной связью и её использование для решения задачи классификации. Классификация достигалась за счёт того, что значение каждого параметра классифицируемого объекта многократно отображалось на актива-ционной функции соответствующего нейрона и достигало устойчивой точки отображения. Описанная модель обладает и другими свойствами, которые расширяют область её применения. В настоящей работе рассматривается модифицированная модель нейронной сети [1], позволяющая решать задачу кластеризации.
Антиэнтропийные свойства нейрона
с обратной связью
В основе функционирования сети, как и прежде, лежит работа нейрона, который охвачен локальной обратной связью, то есть выходной сигнал нейрона подаётся на его вход. Таким способом реализуется точечное отображение входного значения нейрона.
Рассмотрим подробнее процесс отображения.
Положим, что в общем случае активационная функция нейрона/(х) является сигмоидой с коэффициентом наклона а, смещением в и коэффициентом увеличения ¡л:
Л
f (х) =
1 + exp(-ax - ß)
мерея [2, 3] (рис. 1). На графике указана е-окрест-ность, задающая точность вычисления устойчивой точки. Любое значение и-ой итерации отображения будем считать достигнутым устойчивой точки В, если оно попадает в е-окрестность. Из графика видно, что при разных начальных значениях отображения процесс достигает устойчивой точки за разное число итераций. Точки А, В и 5 располагаются на абсциссе таким образом, что они попадают в е-окрестность с разницей в одну итерацию. Точка А - за три итерации, точка В - за две, и точка 5 -за одну.
Обратим внимание на одну особенность описанного процесса. Возьмём любую точку С, расположенную в интервале между точками В и 5. Из графика нетрудно убедиться, что такая точка попадает в е-окрестность за две итерации. То же самое будет и для точек, взятых в интервале между точками А и В - они попадут в е-окрестность за три итерации. В общем случае, если две точки сходятся к устойчивой точке с разницей в одну итерацию, то точки, расположенные между ними, сходятся к этой же точке за равное число итераций. Это число равно количеству итераций для той точки из указанных двух, которая более удалена от устойчивой точки.
Точечное отображение входного значения нейрона (сигнала) на его активационной функции может быть записано соотношением вида х„+1=/(х„), где и=1,2,3... - номер итерации отображения входного значения. После нескольких итераций входное значение достигает устойчивой неподвижной точки, величина которой х определяется из нелинейного уравнения х'=/(х'). В численных расчётах величина х* определяется с некоторой заданной точностью е.
Последовательные итерации отображения можно представить графически, в виде диаграммы Ла-
Рис. 1. Отображение входных значений сигнала сигмоидой
Входные сигналы нейрона различаются своими числовыми значениями. Для выходных же сигналов все значения одинаковы и равны значению устойчивой точки отображения. Очевидно, что после завершения отображения единственным пара-
метром, по которому можно сопоставлять входное и выходное значения точек, является число итераций, необходимое для достижения устойчивой точки. По существу, отображение меняет способ представления сигнала. До отображения сигнал имел числовое представление, которое можно считать аналогичным значению пространственной координаты. После отображения этот же сигнал представляется числом итераций - характеристикой, аналогичной времени. Действительно, согласно [2], отображения являются моделью динамических систем с дискретным временем, где каждая итерация отождествляется с некоторым моментом времени.
Назовём числовое представление сигнала ^-представлением (от space - пространство), а представление числом итераций - /-представлением (от time - время). Выясним, как изменится энтропия N входных сигналов при переходе от s-представления к t-представлению, то есть после отображения их значений на активационной функции fx) нейрона. Для простоты примем, что значения всех сигналов различны и будем считать состоянием сигнала его значение. Тогда информационная энтропия s-представления, как легко подсчитать, имеет значение Hs=log2N бит. Для оценки информационной энтропии t-представления обратимся к рис. 1. Видно, что интервал значений входных сигналов разбит процессом отображения на множество областей M точками таким образом, что пара соседних точек сходится к устойчивой точке с разницей в одну итерацию, Это означает, что все точки, попадающие в одну область, в t-представле-нии будут иметь одно и то же значение. Таким образом, t-представление N исходных сигналов будет иметь M<N значений, и, очевидно, информационная энтропия t-представления равна Ht=log2M бит. Следовательно, H<HS, то есть нейрон, охваченный обратной локальной связью, уменьшает неопределённость в распределении входных сигналов, группируя их по близким значениям.
Нейронная сеть для кластеризации
Описанное выше свойство нейрона, может быть использовано для решения одной из важных задач интеллектуального анализа данных - задачи кластеризации.
Задача кластеризации состоит в разделении исследуемого множества объектов на группы «похожих» объектов, называемых кластерами. Количество и характеристики таких кластеров заранее неизвестны.
Ввиду большой практической и теоретической значимости этой задачи, было разработано множество способов её решения [4]. Один из них - использование особого класса нейронных сетей -самоорганизующихся карт [5-7].
Механизм кластеризации нейронной сетью, предложенный в данной работе, отличается от самоорганизующихся карт. Для её понимания рассмотрим сеть на рис. 2.
1 слой
Рис. 2. Нейронная сеть для кластеризации
На первый слой нейронов (чёрные кружки), охваченных обратной связью, подаются числовые значения признаков, характеризующие объект, который нужно отнести к некоторому кластеру. В рассматриваемом случае у объекта четыре признака. Функции второго слоя пока рассматривать не будем. В третьем слое один нейрон - выходной, который выполняет взвешенное суммирование поданных на него значений.
Рассмотрим процессы в сети при обработке входных значений на упрощённом примере. Пусть кластеры образуют три разделимых класса. Это означает, что диапазон значений любого признака имеет три неперекрывающиеся области (AB, CD, FE), каждая из которых соответствует некоторому кластеру (рис. 3, а).
ABC D E F
!•• -1* • • • • I-1« • «I—
f. Ца^ I
б
Рис. 3. Различимость признаков
Исследуем динамику выходных значений любого, например первого сверху нейрона (рис. 2), для случая, когда сети последовательно предъявляют исследуемые объекты. Ранее было показано, что при некоторых условиях нейрон, охваченный обратной локальной связью, группирует входные сигналы по близким значениям. Пусть такие условия создаются параметрами активационной функции а, в и ¡л. Подбирая эти параметры, можно добиться того, что значения первого признака для объектов каждого из кластеров будут достигать устойчивой точки отображения за разные количества итераций. Иными словами, множество точек, составляющих ^-представление первого признака всех исследуемых объектов, в /-представлении будет иметь всего три разных значения хи, х12 и х13, каждое из которых полностью характеризует свой класс. Очевидно, что и для других признаков можно подобрать такие параметры активационной функции соответствующих им нейронов, при которых их /-представление будет иметь три разных значения хя, хй и х3. Таким
a
образом, каждому классу (кластеру) можно сопоставить уникальный числовой идентификатор. Им может быть, в частности, сумма
= у^ хл, где £=1,2,3 - номер класса (кластера),
/
а у- коэффициент пропорциональности.
В рассмотренном случае входные значения признаков для любого нейрона располагались в неперекрывающихся областях. Это обеспечивало равноправное участие выходных сигналов всех нейронов в формировании суммы $к. Иными словами, все признаки были классифицирующими. В реальной ситуации у некоторых признаков значения могут перекрываться (рис. 3, б). Такие признаки нельзя считать классифицирующими, и их лучше исключить из формирования суммы $к. Исключающее правило можно получить, исходя из таких наглядных соображений. Из рис. 3 видно, что степень разброса значений относительно своего среднего у классифицирующего признака (рис. 3, а) больше, чем у неклас-сифицирующего (рис. 3, б). Таким образом, если подсчитать дисперсию значений каждого из признаков всех объектов, то можно будет выделить две группы признаков. У одной из них дисперсии будут значительно превышать дисперсии другой группы. И тогда в сумму 8к следует включать лишь /-представления тех признаков, которые входят в группу с большей дисперсией. Заметим, что изложенное правило, по существу, является способом сокращения размерности пространства признаков, применяемым в анализе главных компонентов при статистическом распознавании [6].
Ещё одна особенность рассматриваемой нейронной сети связана с переходом от з-представле-ния значений признаков к /-представлению. Существует понятие внутрикластерных и межкластерных различий, согласно которому точки любого кластера имеют значения некоторой используемой меры близости меньшие, чем значения этой меры между любыми точками разных кластеров. В рамках описанной модели сети внутрикластерных различий нет, так как предполагалось, что параметры нейронов первого слоя таковы, что в /-представлении все входные значения признаков каждого кластера (класса) отображаются одной точкой. Межкластерные различия существуют как различия между точками в /-представлении. Пусть значения признаков некоторого кластера в ^-представлении занимают достаточно протяжённую область, такую, что в процессе отображения она разбивается на две подобласти, которые в /-представлении будут отличаться лишь на одну итерацию. На рис. 1 высказанному предположению соответствует интервал АО. В этом случае приходится говорить о внутрикластерных отличиях и путях их уменьшения. Такое уменьшение происходит за счёт нелинейности нейронов второго слоя. Рис. 4 иллюстрирует это уменьшение. Для наглядности входные и выходные значения признаков отсортированы в порядке их возрастания.
31 61 91
Копичеггт о fiT-.fi кто и Рис. 4. Уменьшение внутрикластерных различий
На рис. 4, а, приведено распределение входных, а на рис. 4, б - выходных значений нейрона второго слоя. Видно, что внутрикластерные различия на выходе отсутствуют, и остались лишь различия, обусловленные наличием в исследуемом множестве объектов двух кластеров.
Таким образом, управляя параметрами актива-ционной функции нейронов второго слоя, можно уменьшать внутрикластерные различия.
Возникает вопрос, каким образом можно обеспечить нужные для кластеризации свойства нейрона. Для ответа на вопрос обратимся к диаграмме Ламерея на рис. 5. Пусть исходные числовые значения точек а,Ь,...£ отображаются на активационной функции нейрона с некоторыми значениями параметров а, в и /л (пунктирная кривая 1 на рис. 5). Затем значения этих параметров пусть изменились таким образом, что график функции приобрёл вид кривой 2, и отображение точек а,Ь,...£ выполнено на этой кривой.
Рис. 5. Упорядоченность на активационной функции с разными параметрами
а
Из рис. 5 видно, что ¿-представления точек a,b,...,g в этих двух случаях существенно отличаются. У кривой 1 в ¿-представлении четыре значения (сплошная «лестница» на рис. 5), а у кривой 2 таких значений всего два (пунктирная «лестница» на рис. 5). Таким образом, можно утверждать, что во втором случае (кривая 2) отображение исходных точек более упоряд оченно, чем в первом случае. Соответственно, энтропия упорядочивания для обоих случаев будет различаться, и этот факт может быть положен в основу подбора нужных для кластеризации значений параметров активационных функций нейронов первого и второго слоёв сети.
Экспериментальная проверка
Приведённые выше рассуждения легли в основу нейронной сети, работоспособность которой проверялась на тестовой выборке данных по ирисам Фишера [8]. Моделирование проводилось средствами табличного процессора MS Excel, где отдельный нейрон представлял собой ячейку таблицы с записанной в ней формулой преобразования входного значения.
Задача кластеризации ставится следующим образом. Объект кластеризации - цветок ирис - характеризуется набором четырёх признаков: длина и ширина чашелистика, длина и ширина лепестка. Исследуемая выборка состоит из 150 наборов признаков объектов. Требуется сгруппировать объекты по близким значениям их признаков. Количество групп (кластеров), как и их размер, заранее неизвестны.
Поставленная задача решалась нейронной сетью, представленной на рис. 2. Во входном слое сети четыре нейрона - по количеству признаков у каждого объекта. На вход каждого из нейронов подавалось числовое значение одного из признаков исследуемого объекта. Каждый нейрон охвачен обратной связью. Сигнал нейрона, после выхода (с заданной точностью s) на устойчивую точку отображения, подавался на вход нейрона скрытого (второго) слоя. После нелинейного преобразования сигнал с выхода этого нейрона суммировался с выходами других нейронов скрытого слоя и подавался на нейрон выходной слоя.
Работа сети при кластеризации включала в себя этап обучения. Под этим понимается этап определения таких значений параметров а, в и л для нейронов входного слоя, при которых обеспечивается наибольшая упорядоченность при отображении для каждого из признаков, поданных на вход сети.
Значения а, в ил нейронов входного слоя определялись из следующих соображений. Для получения эффекта упорядочивания нужно, чтобы все входные значения нейрона при отображении значений своего признака сходились к одной устойчивой точке. Очевидно, что активационная функция отдельного нейрона должна быть такой, чтобы интервал между значениями неустойчивой и
устойчивой точек отображения включал в себя отображаемый интервал значений признака. Параметры функции можно получить, решая систему уравнений х==/(х,а,в,л), ¿=1,2. Здесь/- активационная функция, величина х1=хт1п-51, х2=хтах-д2. В свою очередь, хт1п - это минимальное значение признака в исследуемой выборке, а хтах - максимальное; |51|<<1 и |д2|<<1 - малые произвольные числа, расширяющие диапазон значений признака. Таким образом, упомянутая система уравнений содержит три неизвестных параметра активацион-ной функции, и может быть решена лишь в случае, если один из параметров будет задан заранее. В работе таким свободно меняемым параметром было взято значение коэффициента л увеличения значения активационной функции. Изменение л управляло решением системы уравнений, а найденные значения а ив меняли форму активационной функции, оставляя неизменными положения неустойчивой и устойчивой точек отображения. Такой подход позволил реализовать рассмотренный ранее механизм упорядочивания.
Экспериментально было установлено, что упорядоченность наступает при значении л, которое находится в окрестности максимального изменения скорости АН/Ал упорядочивания на нейроне значений признаков. Здесь Н - энтропия упорядочивания, которая подсчитывается для данного л по формуле Н = р. ^ р., где р^Щ N - количество одинаковых значений числа итераций в ¿-ой группе, N - общее количество всех значений числа итераций.
На рис. 6 представлен график скорости упорядочивания, полученный в ходе обучения сети, для одного из классифицирующих признаков исследуемых объектов. Наибольшее изменение скорости наблюдается в окрестности ¡0=0,36. Для расчёта значений а, в в системе уравнений бралось значение, следующее за ¡0.
Рис. 6. Скорость упорядочивания для признака «ширина лепестка»
Ранее отмечалось, что признаки исследуемых объектов могут быть классифицирующими и не-классифицирующими, на что указывает соотношение их дисперсий. Для исследуемой выборки по каждому из характеризующих его признаков вычислялось стандартное отклонение в 5- и ¿-представлениях. В табл. 1 приведены значения относительных стандартных отклонений для признаков до и
после их отображений на входных нейронах. На основании полученных данных два первых признака были отнесены к неклассифицирующим, и в дальнейшем не обрабатывались.
Таблица 1. Относительные стандартные отклонения для признаков
Представление 1 признак 2 признак 3 признак 4 признак
s 0,144 0,147 0,482 0,690
t 0,139 0,104 0,407 0,361
При определении числа итераций, необходимого для выхода на устойчивую точку отображения, величина е-окрестности (точность вычисления) бралась равной е=10-6.
Любой алгоритм кластеризации основан на сравнении меры близости точек кластера с некоторой эталонной мерой. Чаще всего степень близости оценивается на основе эвклидова расстояния между векторами признаков в многомерном пространстве признаков. Чем меньше это расстояние, тем ближе сравниваемые вектора. В [7] показано, что евклидово расстояние может быть выражено через скалярное произведение сравниваемых векторов. Иными словами, в качестве меры близости векторов можно использовать их скалярное произведение. Это значит, что при сравнении многомерных векторов признаков объектов с некоторым эталонным вектором у близких векторов будут близкие значения их скалярного произведения с этим вектором.
Выбор вектора произволен, хотя и связан с исходными данными. В работе компонентами эталонного вектора были взяты относительные стандартные отклонения, характеризующие разброс значений классифицирующих признаков в /-представлении. Компонентами вектора, характеризующего конкретный объект, были взяты текущие отклонения значений его признаков от их средних значений в /-представлении, то есть (Ак-А;), где N - число итераций, необходимое для выхода на устойчивую точку значения ,-го признака у к-го объекта, А - среднее значение таких итераций по всем объектам. Сигнал, пропорциональный текущему отклонению, подавался на вход нейрона второго слоя. Для этого нейрона брались значения ¡л=1 и в=0, а значение а подбиралось по скорости упорядочивания на выходе нейрона второго слоя так, как это описывалось выше для /-представления. При таких условиях нейрон выполнял две функции. Во-первых, осуществлял нелинейную нормировку текущего отклонения значения признака на единичный интервал, и, во-вторых, уменьшал внутрикластерные различия.
В нейронных сетях скалярное произведение обычно реализуется суммой входных сигналов нейрона. В нашем случае таким нейроном является выходной нейрон. Весовые значения его синапсов брались равными компонентам эталонного вектора, а на вход поступали сигналы с нейронов второ-
го слоя. Для выходного нейрона также брались значения ¡=1 и в=0, а значение а подбиралось по скорости упорядочивания на выходе сети.
В табл. 2 приведены выходные значения сети после обработки всей совокупности объектов. Первых два столбца содержат данные, полученные из эксперимента. Так как экспериментальная выборка тестовая, то известно распределение объектов по классам - три класса по 50 объектов в каждом. Поэтому в третьем столбце для оценки точности кластеризации приведены сведения о фактическом распределении объектов.
Таблица 2. Результат кластеризации
Значения на выходе сети Число объектов Класс Кластер Кол-во ошибочных объектов / Кол-во объектов в кластере
0,5000 49 1 1 0
0,6278 1 1
0,7775 45 2 2 0
1,0000 5 2 3 0,09
50 3
Анализ таблицы показывает, что значения на выходе сети можно сгруппировать в три крупных группы. Они характеризуются разными, но постоянными выходными значениями сети. Следовательно, в исходной выборке можно выделить три группы, содержащие 49, 45 и 55 объектов, соответственно. Значение 0,6278 не входит ни в одну из выделенных групп. Кластер из одного объекта не может быть, поэтому такой объект следует присоединить к какому-то крупному кластеру. Относительное изменение значения при переходе от 0,6278 к 0,5 меньше, чем при переходе 0,6278 к
0.7775.(соответственно, 0,2 и 0, 24). На основании этого можно окончательно выделить три кластера так, как это указано в четвёртом столбце таблицы.
Полученные результаты полностью согласуются с данными по ирисам Фишера. Известно [8], что класс ирисов Setosa линейно отделим от двух других - Versicolor и Virginica. Эти же два класса линейно неотделимы друг от друга. В процессе кластеризации эта неразделимость проявилась в третьем кластере.
Выводы
1. Предложена рекуррентная нейронная сеть с локальной обратной связью, позволяющая решать задачу кластеризации.
2. Показано, что нейроны, охваченные локальной обратной связью, уменьшают энтропию распределения входных сигналов.
3. Получено экспериментальное подтверждение верности определения параметров сети и её работоспособности. На тестовой выборке объектов сеть выделила три кластера по числу классов в наборе. В двух кластерах ошибка определения объекта для линейно отделимых классов нулевая, а в третьем, для линейно неотделимых, - 9 %.
СПИСОК ЛИТЕРАТУРЫ
1. Стоянов А.К. Нейронная сеть, основанная на точечных отображениях // Известия Томского политехнического университета. - 2008. - Т. 313. - № 5. - С. 96-101.
2. Малинецкий Г.Г. Математические основы синергетики. - М.: Изд-во ЛКИ, 2007. - 312 с.
3. Лоскутов А.Ю., Михайлов А.С. Введение в синергетику. - М.: Наука, 1990. - 270 с.
4. Мандель И.Д. Кластерный анализ. - М.: Финансы и статистика, 1988. - 176 с.
5. Калан Р. Основные концепции нейронных сетей. - М.: Издательский дом «Вильямс», 2001. - 290 с.
6. Kohonen T. The self-organizing map // Proc. of the IEEE. - 1990. - V. 78. - № 9. - P. 1464-1480.
7. Хайкин С. Нейронные сети: полный курс. Пер. с англ. - М.: Издательский дом «Вильямс», 2006. - 1104 с.
8. Миронов С. Ирисы Фишера [Электронный ресурс]. - режим доступа: http://www.delphikingdom.com/asp/viewitem.asp?cata-logid=400. - 13.10.2009.
Поступила 13.10.2009 г.
УДК 004.8.032.26
МОДИФИЦИРОВАННЫЙ ГРАДИЕНТНЫЙ АЛГОРИТМ ОБУЧЕНИЯ РАДИАЛЬНО-БАЗИСНЫХ НЕЙРОННЫХ СЕТЕЙ
В.Н. Вичугов
Томский политехнический университет E-mail: [email protected]
Приведена структура радиально-базисных нейронных сетей. Определены недостатки классического градиентного алгоритма обучения нейронных сетей в задачах идентификации объектов управления. Предложен модифицированный градиентный алгоритм обучения, позволяющий устранить недостатки классического. Показан пример применения модифицированного алгоритма в задаче аппроксимации двумерной функции.
Ключевые слова:
Искусственная нейронная сеть, радиально-базисная нейронная сеть, алгоритм обучения, идентификация. Key words:
Artificial neural network, radial-basis neural network, learning algorithm, identification.
При использовании нейросетевых методов в задачах автоматического управления часто возникает необходимость построения нейросетевой модели объекта управления на основе полученных входных и выходных сигналов в реальном времени. Использование многослойных перцептронов для построения нейросетевой модели является затруднительным в связи с тем, что дополнительное обучение многослойного перцептрона в некотором участке рабочей области приводит к потере обученного состояния во всей рабочей области нейронной сети, что не позволяет использовать этот тип нейронных сетей в задачах реального времени. Указанный недостаток отсутствует в радиально-ба-зисных нейронных сетях (РБНС), т. к. каждый их элемент влияет на значение выходного сигнала преимущественно только в ограниченном участке рабочей области, который характеризуется положением центра элемента и параметром о, называемым шириной радиальной функции. Чем больше значение параметра о, тем больше размер области, на которую оказывает влияние данный элемент.
Структура РБНС показана на рис. 1 [1, 2]. Сеть состоит из двух слоев. Входные сигналы поступают на элементы первого слоя без изменений.
На рисунке использованы обозначения: п - количество элементов в первом слое; х1, х2, ..., хп -входные сигналы; т - количество элементов во втором слое; с;1, сй, ..., сПп - координаты центра /-го элемента; о - ширина радиальной функции /-го элемента; - выходной сигнал /-го элемента; -весовой коэффициент выходной связи /-го элемента; у - выходной сигнал РБНС.
Выходной сигнал каждого элемента определяется функцией Гаусса [3]
= exp
Z (X,- - с^ )2
Л
j=i
2а,
Выходной сигнал РБНС вычисляется как взвешенная сумма сигналов элементов:
У = £wi швг
Для обучения РБНС используется градиентный алгоритм, основанный на минимизации целевой функции ошибки сети. В соответствии с этим алгоритмом для каждого элемента вычисляются величины изменений весового коэффициента ши-
,=1