Критерий сходимости для (пакетной) SOM (Самоорганизующейся карты, также известной как “Карта Кохонена”)?
-
23-09-2019 - |
Вопрос
Мне нравится останавливать выполнение, когда пакетный SOM становится конвергентным.Какую функцию ошибки я могу использовать для определения сходимости?
Решение
Когда речь идет о сходимости для СОМС, для заданного размера карты (n x m) вы хотите знать, выполнили ли достаточные итерации алгоритма, чтобы гарантировать, что карта "Стабильна".Это означает, грубо говоря, размещаются ли новые входные данные (наблюдения) на карте в одних и тех же векторах нейронов / кодовой книги, если карта переобучается много раз?(Игнорируя проблему с тем фактом, что расположение карты может меняться при каждом ее обучении, что нормально, пока кластеры по-прежнему расположены стабильным образом).
Чтобы помочь ответить на вопрос о том, достаточно ли было выполнено итераций, ознакомьтесь с академическими работами, перечисленными ниже.В обеих статьях также затрагивается вопрос о том, какой размер карты является подходящим (какие значения n x m помогают обеспечить сходимость SOM?).
Здесь приведен один из традиционных подходов, который был популярен в статьях:
Статистические инструменты для оценки надежности самоорганизующихся карт (Бодт, Коттрелл, Верлейсен)
Совсем недавно появился этот метод, который выглядит довольно многообещающе:
Этот тезис, на мой взгляд, был действительно хорошо написан, и читать его было одно удовольствие.Что также приятно, так это то, что это исследование было написано как тест сходимости SOM в (довольно неизвестном) пакете на R, называемом popsom
.Зацени это:
Другие советы
Я почти уверен, что вы имеете в виду функцию затрат, а не функцию ошибок.
SOM не требует функции ошибок (как и функции затрат).
На верхнем уровне таксономии машинного обучения SOM - это неконтролируемая методика обучения--нет целевого вектора и, следовательно, нет "целевого вектора" минус "value_at_the_current_iteration" для минимизации.
Другой способ думать об этом:Роль функции затрат заключается в минимизации некоторых затрат;в ML это разница между расчетами модели и предоставленными данными.В SOM никакие данные для этой цели алгоритму не предоставляются.
(Я понимаю, что это несколько сбивает с толку, потому что входные данные, на основе которых создается сеть, часто называют "обучающими данными" - вероятно, такова роль входных данных в контролируемых методах ML, которые гораздо более распространены, чем неконтролируемые.Вероятно, это также сбивает с толку, потому что Теуво Кохонен, человек, которому приписывают "изобретение" SOM, первоначально называл их классом нейронных сетей - и, конечно, NN является контролируемой техникой и действительно опирается на функцию затрат (часто градиентный спуск).)
Наконец, просто чтобы убедиться, я проверил свой собственный код SOM, а также код из учебника Марсленда по ML "Машинное обучение:Алгоритмическая перспектива".Как в моем, так и в его коде единственным критерием остановки является любое значение для "максимальных итераций", переданное пользователем при вызове основной функции.