Нейронные сети Кохонена

Автор работы: Пользователь скрыл имя, 07 Ноября 2011 в 23:43, курсовая работа

Краткое описание

ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах. Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.

Содержимое работы - 1 файл

ВВЕДЕНИЕ.docx

— 1.72 Мб (Скачать файл)

    Самоорганизующиеся  карты и главные многообразия  

    Идея  самоорганизующихся карт очень привлекательна и породила массу обобщений, однако, строго говоря, мы не знаем, что мы строим: карта — это результат работы алгоритма и не имеет отдельного («объектного») определения. Есть, однако, близкая теоретическая идея —  главные многообразия (principal manifolds).[1] Эти многообразия обобщают линейные главные компоненты. Они были введены как линии или поверхности, проходящие через «середину» распределения данных, с помощью условия самосогласованности: каждая точка на главном многообразии является условным математическим ожиданием тех векторов , которые проектируются на (при условии , где — оператор проектирования окрестности на ),

     

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

    Упругие карты 

     

    Визуализация  набора данных по экспрессии генов  в раке молочной железы с использованием упругих карт (b) и метода главных компонент (c). Классы точек показаны с использованием размера (ER - статуc эстроген-рецептора), формы (GROUP - риск развития метастаз) и цвета (TYPE - молекулярный тип опухоли). На панели (a) показана конфигурация узлов двумерной упругой карты в проекции на первые три главные компоненты. Сравнивая (b) и (c), можно заметить, что базальный тип опухоли как кластер лучше отделен на нелинейной проекции (b).

    Метод аппроксимации многомерных данных, основанный на минимизации «энергии упругой деформации» карты, погружённой  в пространство данных, был предложен  А. Н. Горбанём в 1996 году, и впоследствии развит им совместно с А. Ю. Зиновьевым, А. А. Россиевым и А. А. Питенко.[1] Метод основан на аналогии между главным многообразием и эластичной мембраной и упругой пластиной. В этом смысле он является развитием классической идеи сплайна (хотя упругие карты и не являются многомерными сплайнами).

    Пусть задана совокупность входных векторов . Так же, как и сети векторного квантования и самоорганизующиеся карты, упругая карта представлена как совокупность кодовых векторов (узлов) в пространстве сигналов. Множество данных разделено на классы , состоящие из тех точек , которые ближе к , чем к другим ( ). Искажение кодирования

     

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

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

    энергия растяжения   

    энергия изгиба 

    где — соответствующие модули упругости.

    Задача  построения упругой карты состоит  в минимизации функционала 

      

    Если  разбиение совокупности входных  векторов на классы фиксировано, то минимизация — линейная задача с разреженной симметричной матрицей коэффициентов. Поэтому, как и для сетей векторного квантования, применяется метод расщепления: фиксируем — ищем — для данных   ищем — для данных ищем — … Алгоритм сходится к (локальному) минимуму .

    Метод упругих карт позволяет решать все  задачи, которые решают самоорганизующиеся карты Кохонена, однако обладает большей  регулярностью и предсказуемостью. При увеличении модуля изгиба  упругие  карты приближаются к линейным главным  компонентам. При уменьшении обоих  модулей упругости они превращаются в Кохоненовские сети векторного квантования. В настоящее время упругие карты интенсивно используются для анализа многомерных данных в биоинформатике.[1] Соответствующее программное обеспечение опубликовано и свободно доступно на сайте Института Кюри (Париж).[1][1]

     Визуализация  набора данных по экспрессии генов  в раке молочной железы с использованием упругих карт (b) и метода главных компонент (c). Классы точек показаны с использованием размера (ER - статуc эстроген-рецептора), формы (GROUP - риск развития метастаз) и цвета (TYPE - молекулярный тип опухоли). На панели (a) показана конфигурация узлов двумерной упругой карты в проекции на первые три главные компоненты. Сравнивая (b) и (c), можно заметить, что базальный тип опухоли как кластер лучше отделен на нелинейной проекции (b). 

    На  рисунке представлены результаты визуализации данных по раку молочной железы. Эти  данные содержат 286 примеров с указанием  уровня экспрессии 17816 генов[1]. Они доступны онлайн как ставший классическим тестовый пример для визуализации и картографии данных[1].

    Сети  векторного квантования, обучаемые  с учителем

     

    Пример  возможного разделения классов, составленного  с помощью разбиения Вороного-Дирихле.

    

    Пример  возможного разделения классов, составленного  с помощью разбиения Вороного-Дирихле. 

    Решается  задача классификации. Число классов  может быть любым. Изложим алгоритм для двух классов, и . Исходно для обучения системы поступают данные, класс которых известен. Задача: найти для класса некоторое количество кодовых векторов , а для класса некоторое (возможно другое) количество кодовых векторов таким образом, чтобы итоговая сеть Кохонена с кодовыми векторами , (объединяем оба семейства) осуществляла классификацию по следующему решающему правилу:

    если  для вектора входных сигналов ближайший кодовый вектор («победитель», который в слое Кохонена «забирает всё») принадлежит семейству , то принадлежит классу ; если же ближайший к кодовый вектор принадлежит семейству , то принадлежит классу .

    С каждым кодовым вектором объединённого  семейства  связан многогранник Вороного-Дирихле. Обозначим эти многогранники ,  соответственно. Класс в пространстве сигналов, согласно решающему правилу, соответствует объединению , а класс соответствует объединению . Геометрия таких объединений многогранников может быть весьма сложной (см. Рис с примером возможного разбиения на классы).

    Правила обучения сети онлайн строится на основе базового правила обучения сети векторного квантования. Пусть на вход системы подаётся вектор сигналов , класс которого известен. Если он классифицируется системой правильно, то соответствующий кодовый вектор слегка сдвигается в сторону вектора сигнала («поощрение»)

     

    Если  же классифицируется неправильно, то соответствующий кодовый вектор слегка сдвигается в противоположную сторону от сигнала («наказание»)

       

    где — шаг обучения. Для обеспечения стабильности используется онлайн метод с затухающей скоростью обучения. Возможно также использование разных шагов для «поощрения» правильного решения и для «наказания» неправильного

    Это — простейшая (базовая) версия метода[1]. Существует множество других модификаций.

    Сети  Кохонена принципиально отличаются от всех других типов сетей, реализованных  в пакете ST Neural Networks. В то время как все остальные сети предназначены для задач с управляемым обучением, сети Кохонена главным образом рассчитана на неуправляемое обучение (Kohonen, 1982; Haykin, 1994; Patterson, 1996; Fausett, 1994).

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

    На  первый взгляд это может показаться странным. Как сеть сможет чему-то научиться, не имея выходных значений? Ответ заключается  в том, что сеть Кохонена учится понимать саму структуру данных.

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

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

    Сеть  Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных элементов (выходной слой называют также слоем топологической карты). Элементы топологической карты  располагаются в некотором пространстве - как правило двумерном (в пакете ST Neural Networks реализованы также одномерные сети Кохонена).

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

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

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

    Выбрать выигравший нейрон (то есть тот, который  расположен ближе всего к входному примеру);

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

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

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

Информация о работе Нейронные сети Кохонена