Анализ данных: самоорганизующиеся карты Кохонена

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

Концепция, или что такое SOM

Наиболее просто самоорганизующаяся карта Кохонена (или SOM, как ее принято называть в англоязычной среде) определяется как частный случай нейронной сети с обучением без учителя. Концепция используется для распространенных и важных задач анализа данных, таких как моделирование и дальнейшая визуализация или, например, кластеризация – и в последнее время часто упоминается в контексте big data. Несмотря на то, что метод только набирает обороты, сам метод был разработан финским ученым Теуво Кохоненом в 1984 году и на сегодня «оброс» приличным количеством модификаций.

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

Механизм работы самоорганизующейся карты

Рассмотрим механизм работы SOM с точки зрения концепции и одновременно через призму того, что происходит непосредственно в алгоритме. Итак, алгоритм состоит из двух шагов:

  1. Инициализация. Аналитик задает количество нейронов; задаются первоначальные значения векторов для узлов (поскольку размерность известна изначально, а координаты определяются в соответствии со значениями параметров).
  2. Цикл обучения
    1. Выбор вектора из набора входных данных, называемого наблюдением.
    2. Нахождение BMU (Best Matching Unit) – наиболее близкого значению вектора веса узла на карте.
    3. Определение количества соседних узлов BMU и непосредственно обучение сети, в ходе которого значения вектора m BMU и соседей изменяются, приближаясь к значению входных данных (конкретного наблюдения).
    4. Определение ошибки карты.

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

Результаты использования

Алгоритм работы SOM, в общем-то, прост и понятен, однако, что он дает? После того, как весь цикл обучения отработал, аналитик получает в распоряжение три карты:

  • Карта входов нейронов представляет собой визуализацию внутренней структуры входных данных. Каждый компонент обозначается определенным цветом, и аналитик может увидеть целостную картину данных.
  • Карта выходов нейронов – это визуализация модели взаимного расположения компонентов. Получается своеобразный цветной «атлас», на котором можно увидеть связи между компонентами – входными данными.
  • Карта кластеров. С точки зрения больших данных эта карта – самый полезный из результатов работы алгоритма обучения SOM. Близкие по цвету (вектору веса) узлы объединяются в кластеры – таким образом, задача кластеризации даже очень больших данных решается наглядно, а ее результат готов к дальнейшему анализу.

Резюме

Самоорганизующиеся карты Кохонена – популярная в эру big data концепция, которая помогает аналитикам справляться с непростыми задачами визуализации и кластеризации больших данных. Быстрое и «самостоятельное» обучение, способность «фильтровать» данные от шума и мощные возможности визуализации позволяют концепции «разделять» данные на кластеры и «властвовать» умами аналитиков. Единственным недостатком, пожалуй, является зависимость от первоначальных настроек сети – поэтому специалисту, работающему с алгоритмом, необходимо обладать некоторым опытом и, возможно, самому пройти несколько «циклов обучения». Надеемся, нам удалось доказать нашим коллегам и читателям, что это того стоит.

Автор: Елизавета Филиппова

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =