Самоорганизующаяся нейронная сеть


Source of information: http://www.dall-analytika.ru/articles/articles_5.html


Самоорганизующаяся нейронная сеть

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

Основы

Алгоритм функционирования самообучающихся карт (Self Organizing Maps – SOM) представляет собой один из вариантов кластеризации многомерных векторов. Важным отличием алгоритма SOM является то, что в нём все нейроны упорядочены в некоторую структуру (обычно двумерную сетку). При этом в ходе обучения модифицируется не только нейрон-победитель, но и, в меньшей степени, соседи. За счёт этого SOM можно считать одним из методов проецирования многомерного пространства в пространство с более низкой размерностью. При использовании этого алгоритма векторы, схожие в исходном пространстве, оказываются рядом и на полученной карте.

Структура

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

Инициализация

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

Обучение

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

Применение

Каждый объект характеризуется набором различных параметров, которые описывают его состояние. Они часто имеют числовую форму или могут быть приведены к ней. Таким образом, необходимо на основании их анализа выделить схожие объекты и представить результат в форме, удобной для восприятия.
Представим, что эти параметры объектов представляют собой их координаты в многомерном (далее в трёхмерном) пространстве. Тогда каждый объект можно представить в виде точки в этом пространстве, пронормируем все эти признаки в интервал от 0 до 1, в результате все точки попадут в куб единичного размера.
Взглянув на этот рисунок, можно увидеть, как расположены объекты в пространстве. Причём легко заметить участки, где они группируются, то есть у них схожи параметры, значит и сами эти объекты, скорее всего, принадлежат одной группе.
Теперь необходимо найти способ, которым можно преобразовать данную систему в простую для восприятия двумерную систему так, чтобы соседние в искомом пространстве объекты оказались рядом и на полученной картинке. Для этого используем самоорганизующуюся карту, которую можно представить в виде сети, изготовленной из резины.
Набросим эту сеть на пространство признаков и поступим следующим образом: выберем один объект и найдём ближайший к нему узел сети. Далее, в процессе обучения, этот узел подтягивается к объекту и, вместе с этим узлом также, но с меньшей силой, подтягиваются и соседние узлы. Потом выбирается новый объект и процедура повторяется. В результате получается карта, расположение узлов которой совпадает с расположением основных скоплений объектов в исходном пространстве.
Полученная карта обладает следующим замечательным свойством – её узлы расположились таким образом, что объектам, похожим между собой соответствуют соседние узлы карты. Теперь можно определить, какие объекты попали в конкретные узлы карты. В результате всех этих операций объекты со схожими параметрами попадут в один узел или в соседние узлы.

Визуализация

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

Кластеры

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