Зачем нужно количество итераций в самоорганизующейся карте?

:)

Пока я защищал свою диссертацию, один из моих профессоров спросил меня, почему мы должны указывать количество итераций в SOM? Он сказал, что для прекращения тренировок у нас должен был быть критерий конвергенции.

Однако я понимаю, что у нас нет целевого вектора, и поэтому мы не можем минимизировать затраты.

Мой вопрос: во-первых, зачем нужны MAX_ITERATIONS, и, во-вторых, что дает нам уверенность в том, что количество выбранных итераций даст оптимальную карту. :(

P.S. Основываясь на опыте, я попытался использовать 1000 и 10000 итераций для набора данных цвета. Кажется, что 10000 итераций не дают лучшей визуализации, чем 1000. :(


person Chester    schedule 24.10.2011    source источник
comment
Хороший первый вопрос! Однако в будущем вы можете либо указать некоторые детали реализации (например, какую библиотеку SOM вы используете, язык, какой набор данных цвета), либо не указывать неуказанные ссылки.   -  person zergylord    schedule 03.11.2011


Ответы (2)


Итак, и вы, и ваш профессор правы: вы должны указать жесткое ограничение на количество итераций И ​​критерий сходимости.

критерий сходимости - хотя вы имеете право на то, что SOM не контролируются и, следовательно, не имеют целевых векторов, их все же можно рассматривать как минимизирующие некоторую функцию стоимости. В общем, большинство методов неконтролируемого машинного обучения могут пытаться делать такие вещи, как минимизация неучтенной дисперсии, максимизация сбора информации и т. Д. В частности, для SOM я использовал дельты веса в качестве критерия. То есть, когда дополнительная итерация не изменяет веса SOM более чем на некоторый порог, прекратите итерацию.

Ограничение количества итераций. Несмотря на наличие критерия сходимости, жесткое ограничение необходимо на случай, если SOM не сходится (вы не хотите, чтобы он работал вечно). Если вы использовали мой пример критерия дельты весов, то мог бы быть случай, когда веса продолжали колебаться между итерациями, что приводило к тому, что критерий никогда не соблюдался.

С наступающим!

person zergylord    schedule 02.11.2011
comment
не совсем. ваш обычный SOM всегда будет сходиться, и ему всегда нужно именно то количество итераций, которое вы выберете. Алгоритм обучения имеет параметры скорости обучения и радиуса обучения, которые становятся все меньше и меньше с каждой итерацией, поэтому изменение весов будет все меньше и меньше. - person oli_obk; 18.03.2014

У вас неявно есть функция целевой стоимости, которую нужно минимизировать в SOM. SOM сродни многомерному масштабированию (MDS). Цель состоит в том, чтобы поддерживать топологическую связь; следовательно, каждая итерация SOM на самом деле предназначена для минимизации ошибки между «расстоянием между любыми двумя точками в исходном пространстве» и «расстоянием между теми же двумя точками в целевом пространстве», за исключением того, что в SOM эти похожие точки представлены с использованием нейрона в целевое пространство. Таким же образом можно использовать SOM для кластеризации.

Итерационный процесс можно рассматривать как градиентный спуск. При минимизации квадратичной функции стоимости ошибки она также может быть захвачена локальным минимумом. Это также может объяснить, почему SOM может приводить к «петлям» даже после большого количества итераций.

person rifle123    schedule 12.09.2017