Выполнил: студент МЭО 4-5 Приступа Андрей
Нейронная сеть Кохонена это широкий класс сетей, насчитывающий несколько десятков реализаций, объединяемый общим тезисом "Победитель получает все". Сеть обучается "без учителя": просматривается входная выборка векторов и выявляются законы их распределения. Сеть Кохонена используется для решения двух задач: наилучшей квантизации и выделения главных компонент. В этом качестве она может использоваться самостоятельно или же в качестве первого слоя сети более сложной архитектуры (например, сети Кохонена-Гроссберга). ниже алгоритм описан в доступном для быстрого понимания виде
Наилучшая квантизация Задача наилучшей квантизации состоит в нахождении такой разбивки пространства на области, при которой минимизируется среднеквадратичная ошибка, возникающая при замене векторов выборки на позиционные вектора этих областей. Сеть Кохонена решает эту задачу следующим образом: 1. Вектора обучающей выборки нормируются, после чего их концы попадают на поверхность единичной гиперсферы; 2. В местах скопления векторов выбираются случайным образом несколько позиционных векторов (количество зависит от требуемой квантизации); 3. Для каждого вектора обучающей выборки находится ближайший позиционный вектор; 4. Найденный позиционный вектор сдвигается в направлении вектора обучающей выборке на некоторое, небольшое расстояние. 5. Пункты 3-4 повторяются до тех пор, пока среднеквадратичная ошибка сети не перестанет изменятся; Поскольку и позиционные вектора, и вектора обучающей выборки нормированы, то в п.3 в качестве меры близости можно использовать скалярное произведение векторов, что существенно быстрее, чем подсчет квадрата разности векторов.
Приведенный вариант алгоритма является, в каком-то смысле, базовым, существуют различные его улучшения, позволяющие достичь более быстрого обучения. Один из них называетсяа "Метод k-средних" и используется на конечных выборках. В этом случае, шаги 3-5 выполняются следующим образом: 1. Тоже самое; 2. Тоже самое; 3. Для каждого позиционного вектора находятся ближайшие вектора выборки; 4. Позиционный вектор заменяется на средний вектор ближайших векторов выборки; 5. Тоже самое. В любом случае, в результате обучения получается разбивка пространства на "регионы Вороного", позиционные вектора которой являются наилучшим в среднеквадратичном смысле приближением всей совокупности векторов. В таком виде сеть Кохонена применяется для кодирования и сжатия сигналов с потерями, а также в качестве первого слоя сети Кохонена- Гроссберга или ее аналогов.
Карта признаков Построение карты признаков является развитием идеи анализа главных компонент. Главные компоненты распределения облака векторов, это такие направления в пространстве, на которые проекция облака векторов является наибольшей. Хотя их легко найти стандартными методами векторного анализа, анализ главных компонент обладает одним существенным недостатком: хорошо работает для выпуклых облаков. Если облако векторов образует сложную фигуру (например, криволинейную гиперповерхность), то более полезным было бы найти "наибольшую проекцию" этой гиперповерхности на прямоугольное пространство той же размерности, что и гиперповерхность. В качестве простого примера :), попробуйте представить себе скомканную скатерть выброшенную в мерное пространство. Ее можно расстелить на двумерном столе, и тогда рисунок на ней будет легко рассмотреть. Вот именно такое "расстилание на столе" и делает "самоорганизующаяся карта признаков Кохонена" и производные от нее алгоритмы. Алгоритм работает следующим образом. На множестве позиционных векторов вводится отношение соседства, позволяющее для каждых двух векторов получить скалярный коэффициент близости, величиной от 0 до 1. Обычно, это отношение соседства распределяет множество векторов по узлам N-мерной (в случае SOM - двухмерной) решетки. При обучении сети, в сторону вектора выборки смещается не только ближайший позиционный вектор, но и соседние с ним (т.е. с коэффициентом близости большим нуля) позиционные вектора. Но величина этого смещения меньше, чем у нейрона- победителя, в пропорции коэффициента близости. В простейшем случае используют двумерную решетку и коэффициент близости порядка 0.2 у непосредственных соседей. После обучения, в целях визуализации, можно раскрасить нейроны в узлах решетки в цвета, интенсивность которых пропорциональна количеству векторов, ближайших к этому позиционному вектору.
Двумерная решетка: Матрица отношения близости: Элементы главной диагонали матрицы не показаны, так как их значение зависит от особенностей частной реализации алгоритма. В нашем описании они не используются вообще.
Аналоги карты признаков Все аналоги карты признаков используют заданное определенным образом отношение соседства. Существует интересный случай (Нейронный газ и различные его клоны) в котором отношение соседства изменяется в процессе обучения и используется для введения в сеть новых нейронов.
Заключение С точки зрения систем автоматического принятия решений, работа сети Кохонена, в сущности, соответствуют накоплению опыта прецедентов неких событий. В этом смысле использование ее в двухслойной архитектуре типа сети Кохонена-Гроссберга примерно соответствует теории бихевиоризма в психологии: агент на этой основе "обучается" прецедентам правильного поведения. Суть использование сети Кохонена сводится к установлению того факта, что опыт событий, описываемых состоянием "детекторов", уже имеется, а сигнал с победившего нейрона передается на соответствующую программу- эффектор. В такой архитектуре, сеть Кохонена может быть заменена или совмещена с конвенциональными алгоритмами, такими как R-дерево.