Участник:Anton goy/Самоорганизующиеся карты Кохонена: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 7: Строка 7:
== Общее описание алгоритма ==
== Общее описание алгоритма ==


[[file:Kohonen_network.png|right]]
[[file:Kohonen_network.png|thumb|right|500px| Рисунок 1. Структура самоогранизующейся карты Кохонена с шестиугольной решеткой]]


'''Самоорганизующаяся карта Кохонена''' (англ. Self-Organizing Map или сокращено SOM) - это разновидность нейронных сетей, относящаяся к алгоритмам обучения без учителя. Основная цель - найти скрытые закономерности в данных по средством снижения размерности исходного пространства. Важным свойством карт Кохонена является то, что они строят отображение в пространство низкой размерности (обычно двумерное) таким образом, что топология исходного пространства сохраняется. Результат данного отображения - правильная решетка из обученных нейронов -  называется "картой" исходного пространства. Алгоритм был разработан известным финским учёным, заслуженным академиком Финской Академии Наук Теуво Кохоненом в 1984(2) году. Карты Кохенана находят успешное применение в задачах кластеризации и визуализации, а также для снижения размерности и детектирования аномалий в данных.
'''Самоорганизующаяся карта Кохонена''' (англ. Self-Organizing Map или сокращено SOM) - это разновидность нейронных сетей, относящаяся к алгоритмам обучения без учителя. Основная цель - найти скрытые закономерности в данных по средством снижения размерности исходного пространства. Важным свойством карт Кохонена является то, что они строят отображение в пространство низкой размерности (обычно двумерное) таким образом, что топология исходного пространства сохраняется. Результат данного отображения - правильная решетка из обученных нейронов -  называется "картой" исходного пространства. Алгоритм был разработан известным финским учёным, заслуженным академиком Финской Академии Наук Теуво Кохоненом в 1984(2) году. Карты Кохенана находят успешное применение в задачах кластеризации и визуализации, а также для снижения размерности и детектирования аномалий в данных.
 
Карты Кохонена и по своей архитектуре, и по методу обучения отличаются от обычных нейронных сетей прямого распространения. C точки зрения метода обучения карты Кохонена не используют градиентные методы для минимизации ошибки (как это делается в сетях прямого распространения), поскольку являются алгоритмом обучения без учителя и никак не могут учитывать информацию и метках классов. Поэтому нейронная сеть обучается через соревнование между нейронами: на каждом шаге алгоритма для случайного объекта из обучающей выборки выбирается нейрон-победитель (best matching unit, BMU), который в определенном смысле похож на данный объект. А архитектура карты Кохонена представляет два полносвязных слоя из нейронов: первый слой (будем называть его <math>l_1</math>) состоит из входных нейронов (их количество равно размерности исходного пространства), второй слой (<math>l_2</math>) представляет собой регулярную (прямоугольную или шестиугольную) решётку из нейронов. Размеры сетки выбираются вручную до начала запуска алгоритма. Таким образом каждый нейрон слоя <math>l_2</math> описывается двумя векторами: первый вектор - вектор весов <math>\mathbf{w}</math>, размерность которого совпадает с размерностью исходного пространства, а второй вектор <math>\mathbf{r}</math> определяет положение нейрона в регулярной сетке слоя <math>l_2</math>. Процесс обучения состоит в настройке векторов <math>\mathbf{w}</math>, а положение нейрона в решететке - вектор <math>\mathbf{r}</math> остается неизменым на протяжении всего обучения.
Карты Кохонена и по своей архитектуре, и по методу обучения отличаются от обычных нейронных сетей прямого распространения. C точки зрения метода обучения карты Кохонена не используют градиентные методы для минимизации ошибки (как это делается в сетях прямого распространения), поскольку являются алгоритмом обучения без учителя и никак не могут учитывать информацию и метках классов. Поэтому нейронная сеть обучается через соревнование между нейронами: на каждом шаге алгоритма для случайного объекта из обучающей выборки выбирается нейрон-победитель (best matching unit, BMU), который в определенном смысле похож на данный объект. А архитектура карты Кохонена представляет два полносвязных слоя из нейронов: первый слой (будем называть его <math>l_1</math>) состоит из входных нейронов (их количество равно размерности исходного пространства), второй слой (<math>l_2</math>) представляет собой регулярную (прямоугольную или шестиугольную) решётку из нейронов. Размеры сетки выбираются вручную до начала запуска алгоритма. Таким образом каждый нейрон слоя <math>l_2</math> описывается двумя векторами: первый вектор - вектор весов <math>\mathbf{w}</math>, размерность которого совпадает с размерностью исходного пространства, а второй вектор <math>\mathbf{r}</math> определяет положение нейрона в регулярной сетке слоя <math>l_2</math>. Процесс обучения состоит в настройке векторов <math>\mathbf{w}</math>, а положение нейрона в решететке - вектор <math>\mathbf{r}</math> остается неизменым на протяжении всего обучения.



Версия от 13:15, 21 сентября 2016


Автор: Гой Антон, 617 группа.

Свойства и структура алгоритмов

Общее описание алгоритма

Рисунок 1. Структура самоогранизующейся карты Кохонена с шестиугольной решеткой

Самоорганизующаяся карта Кохонена (англ. Self-Organizing Map или сокращено SOM) - это разновидность нейронных сетей, относящаяся к алгоритмам обучения без учителя. Основная цель - найти скрытые закономерности в данных по средством снижения размерности исходного пространства. Важным свойством карт Кохонена является то, что они строят отображение в пространство низкой размерности (обычно двумерное) таким образом, что топология исходного пространства сохраняется. Результат данного отображения - правильная решетка из обученных нейронов - называется "картой" исходного пространства. Алгоритм был разработан известным финским учёным, заслуженным академиком Финской Академии Наук Теуво Кохоненом в 1984(2) году. Карты Кохенана находят успешное применение в задачах кластеризации и визуализации, а также для снижения размерности и детектирования аномалий в данных.

Карты Кохонена и по своей архитектуре, и по методу обучения отличаются от обычных нейронных сетей прямого распространения. C точки зрения метода обучения карты Кохонена не используют градиентные методы для минимизации ошибки (как это делается в сетях прямого распространения), поскольку являются алгоритмом обучения без учителя и никак не могут учитывать информацию и метках классов. Поэтому нейронная сеть обучается через соревнование между нейронами: на каждом шаге алгоритма для случайного объекта из обучающей выборки выбирается нейрон-победитель (best matching unit, BMU), который в определенном смысле похож на данный объект. А архитектура карты Кохонена представляет два полносвязных слоя из нейронов: первый слой (будем называть его [math]\displaystyle{ l_1 }[/math]) состоит из входных нейронов (их количество равно размерности исходного пространства), второй слой ([math]\displaystyle{ l_2 }[/math]) представляет собой регулярную (прямоугольную или шестиугольную) решётку из нейронов. Размеры сетки выбираются вручную до начала запуска алгоритма. Таким образом каждый нейрон слоя [math]\displaystyle{ l_2 }[/math] описывается двумя векторами: первый вектор - вектор весов [math]\displaystyle{ \mathbf{w} }[/math], размерность которого совпадает с размерностью исходного пространства, а второй вектор [math]\displaystyle{ \mathbf{r} }[/math] определяет положение нейрона в регулярной сетке слоя [math]\displaystyle{ l_2 }[/math]. Процесс обучения состоит в настройке векторов [math]\displaystyle{ \mathbf{w} }[/math], а положение нейрона в решететке - вектор [math]\displaystyle{ \mathbf{r} }[/math] остается неизменым на протяжении всего обучения.

Математическое описание алгоритма

Пусть [math]\displaystyle{ \mathcal{L} = \left\{ \mathbf{x}_i \right\}_{i=1}^{N} }[/math] - некоторое подмножество точек пространства [math]\displaystyle{ \mathbb{R}^D }[/math], [math]\displaystyle{ \mathbf{x}_i = \left( x_{i1}, \dots, x_{iD} \right) \in \mathbb{R}^D }[/math]. В машинном обучении множество [math]\displaystyle{ \mathcal{L} }[/math] называют обучающей выборкой. Кроме того, задана структура слоя [math]\displaystyle{ l_2 }[/math]: выбрана прямоугольная или шестиугольная связность между неронами, задано общее количество нейронов (обозанчим через [math]\displaystyle{ L }[/math]), а также для каждого [math]\displaystyle{ i }[/math]-го нейрона определено его положение в решетке - вектор [math]\displaystyle{ \mathbf{r}_i }[/math].