Сеть КохоненаСтраница 1
Сети Кохонена [131, 132] (частный случай метода динамических ядер [224, 262]) являются типичным представителем сетей решающих задачу классификации без учителя. Рассмотрим пространственный вариант сети Кохонена. Дан набор из m точек x
p в n- мерном пространстве. Необходимо разбить множество точек x
p на k классов близких в смысле квадрата евклидова расстояния. Для этого необходимо найти k точек αl таких, что
, минимально;
.
Существует множество различных алгоритмов решения этой задачи. Рассмотрим наиболее эффективный из них.
1. Зададимся некоторым набором начальных точек αl .
2. Разобьем множество точек x
p на k классов по правилу
.
3. По полученному разбиению вычислим новые точки αl из условия минимальности
.
Обозначив через |Pi | число точек в i- ом классе, решение задачи, поставленной на третьем шаге алгоритма, можно записать в виде
.
Второй и третий шаги алгоритма будем повторять до тех пор, пока набор точек αl не перестанет изменяться. После окончания обучения получаем нейронную сеть, способную для произвольной точки x вычислить квадраты евклидовых расстояний от этой точки до всех точек αl и, тем самым, отнести ее к одному из k классов. Ответом является номер нейрона, выдавшего минимальный сигнал.
Теперь рассмотрим сетевую реализацию. Во первых, вычисление квадрата евклидова расстояния достаточно сложно реализовать в виде сети (рис. 18а). Однако заметим, что нет необходимости вычислять квадрат расстояния полностью. Действительно,
.
Отметим, что в последней формуле первое слагаемое не зависит от точки x , второе вычисляется адаптивным сумматором, а третье одинаково для всех сравниваемых величин. Таким образом, легко получить нейронную сеть, которая вычислит для каждого класса только первые два слагаемых (рис. 18б).
Второе соображение, позволяющее упростить обучение сети, состоит в отказе от разделения второго и третьего шагов алгоритма.
Алгоритм классификации.
1. На вход нейронной сети, состоящей из одного слоя нейронов, приведенных на рис. 18б, подается вектор x .
2. Номер нейрона, выдавшего минимальный ответ, является номером класса, к которому принадлежит вектор x .
Алгоритм обучения.
1. Полагаем поправки всех синапсов равными нулю.
2. Для каждой точки множества x
p выполняем следующую процедуру.
1. Предъявляем точку сети для классификации.
2. Пусть при классификации получен ответ — класс l . Тогда для обратного функционирования сети подается вектор Δ, координаты которого определяются по следующему правилу:
3. Вычисленные для данной точки поправки добавляются к ранее вычисленным.
3. Для каждого нейрона производим следующую процедуру.
1. Если поправка, вычисленная последним синапсом равна 0, то нейрон удаляется из сети.
2. Полагаем параметр обучения равным величине, обратной к поправке, вычисленной последним синапсом.
3. Вычисляем сумму квадратов накопленных в первых n синапсах поправок и, разделив на –2, заносим в поправку последнего синапса.
Другое по теме
Задачник и обучающее множество
Эта глава посвящена одному из наиболее важных
и обделенных вниманием компонентов нейрокомпьютера — задачнику. Важность этого
компонента определяется тем, что при обучении сетей всех видов с использованием
любых алгоритмов обуче ...