Интерпретация самоорганизующейся карты
Я читал о самоорганизующихся картах, и я понимаю алгоритм (я думаю), однако что-то все еще ускользает от меня.
Как вы интерпретируете обученную сеть?
Как бы вы тогда использовали его, скажем, для задачи классификации (после того, как вы сделали кластеризацию с вашими данными обучения)?
Весь материал, который я нахожу (печатный и цифровой), посвящен обучению Алгоритму. Я считаю, что я могу упустить что-то важное.
С уважением
1 ответ
SOM
В основном это алгоритм уменьшения размерности, а не инструмент классификации. Они используются для уменьшения размерности так же, как PCA
и аналогичные методы (как после обучения, вы можете проверить, какой нейрон активируется вашим входом и использовать положение этого нейрона в качестве значения), единственное действительное отличие заключается в их способности сохранять заданную топологию выходного представления.
Так что же SOM
на самом деле производит отображение из вашего пространства ввода X
в уменьшенном пространстве Y
(наиболее распространенной является двумерная решетка, делающая Y
2-мерное пространство). Чтобы выполнить фактическую классификацию, вы должны преобразовать свои данные с помощью этого сопоставления и запустить некоторую другую классификационную модель (SVM
, Нейронная сеть, дерево решений и т. Д.).
Другими словами - SOM
s используются для поиска другого представления данных. Репрезентация, которая проста для дальнейшего анализа людьми (так как она в основном двумерная и может быть построена на графике) и очень проста для любых дальнейших классификационных моделей. Это отличный метод визуализации многомерных данных, анализа того, что происходит, как геометрически группируются некоторые классы и т. Д. Но их не следует путать с другими нейронными моделями, такими как искусственные нейронные сети или даже растущий нейронный газ (который это очень похожая концепция, но она дает прямую кластеризацию данных), поскольку они служат другой цели.
Конечно, можно использовать SOM
непосредственно для классификации, но это модификация исходной идеи, которая требует другого представления данных, и в общем случае она работает не так хорошо, как использование какого-либо другого классификатора поверх нее.
РЕДАКТИРОВАТЬ
Есть хотя бы несколько способов визуализации обученного SOM
:
- можно сделать
SOM
нейроны как точки во входном пространстве, с ребрами, соединяющими топологически близкие (это возможно, только если входное пространство имеет небольшое количество измерений, например 2-3) - отображать классы данных на
SOM
топология - если ваши данные помечены цифрами{1,..k}
мы можем связать некоторыеk
цвета к ним, для двоичного случая давайте рассмотримblue
а такжеred
, Затем для каждой точки данных мы вычисляем соответствующий нейрон вSOM
и добавьте цвет этой метки к нейрону. Как только все данные были обработаны, мы строим графикSOM
Это нейроны, каждый из которых имеет свое исходное положение в топологии, с цветом, являющимся неким агрегатом (например, средним) назначенных ему цветов. Этот подход, если мы используем некоторую простую топологию, такую как двумерная сетка, дает нам хорошее низкоразмерное представление данных. На следующем изображении субизображения от третьего до конца являются результатами такой визуализации, гдеred
цвет означает метку 1("yes" answer) and
синийmeans label
2` (ответ "нет") - Онк также может визуализировать межнейронные расстояния, вычисляя, как далеко каждый нейрон соединен, и нанося его на
SOM
карта (второй образ в приведенной выше визуализации) - можно кластеризовать положения нейрона с помощью некоторого алгоритма кластеризации (например, K-средних) и визуализировать идентификаторы кластеров в виде цветов (первый подизображение)