Участник:Emaksimov/Кластеризация сетями Кохонена
Кластеризация сетями Кохонена
Содержание
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
Искусственная нейронная сеть Кохонена или самоорганизующаяся карта признаков (SOM) была предложена финским исследователем Тойво Кохоненом в начале 1980-х годов.
Она представляет собой двухслойную сеть. Каждый нейрон первого (распределительного) слоя соединен со всеми нейронами второго (выходного) слоя, которые расположены в виде двумерной решетки. Нейроны выходного слоя называются кластерными элементами, их количество определят максимальное количество групп, на которые система может разделить входные данные. Увеличивая количество нейронов второго слоя можно увеличивать детализацию результатов процесса кластеризации.
1.2 Математическое описание алгоритма
Каждый нейрон сети соединен со всеми компонентами n - мерного входного вектора 



























Каждый j-ый нейрон описывается вектором весов 
























Обучение сети Кохонена представляет собой подбор значений весов,минимизирующих ошибки от замены близких в смысле используемой метрики входных векторов вектором весов
1.2.1 Алгоритм обучения
шаг 0: Подача исходных данных на входы. Весовой вектор 




шаг 1: Выбрать произвольное наблюдение 



шаг 2: Определить расстояние между между входным вектором и каждого вектора весовых коэффициентов






























шаг 3: Определение нейрона -победителя (веса которого в наименьшей степени отличаются от соответствующих компонентов входного вектора)



























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







































шаг 5: Прекратите, если максимальное число итераций достигнуто; в противном случае изменить параметры 



Переменные
-текущая итерация
-предельное значение итераций
-вектор входных данных



-индекс узла в карте
-текущий вектор веса в узле k

-индекс нейрона-побдителя
- функция "соседства", определяет расстояне между нейроном





и



- монотонно убывающий коэффициент обучения .



Инициализация начальных весов
Удачно выбранный способ инициализации может существенно ускорить обучение, и привести к получению более качественных результатов.
Существуют три способа инициирования начальных весов.
- Инициализация случайными значениями, когда всем весам даются малые случайные величины.
- Инициализация примерами, когда в качестве начальных значений задаются значения случайно выбранных примеров из обучающей выборки.
- Линейная инициализация. В этом случае веса инициируются значениями векторов, линейно упорядоченных вдоль линейного подпространства, проходящего между двумя главных собственными векторами исходного набора данных. Собственные вектора могут быть найдены например при помощи процедуры Грама-Шмидта.
Задание 
Часто в качестве функции соседства используется гауссовская функция:
[math]h_{ci}(t)=\alpha(t)\cdot\exp(-\frac{\|r_c-r_k\|^2}{2\sigma^2(t)})[/math]
где 



























Более простой способ задания функции соседства:
[math]h_{ci}(t)=\alpha(t)[/math],
если 

















