Нейронные сети Кохонена

Нейронные сети Кохонена относятся к самоорганизующимся нейронным сетям. Самоорганизующаяся сеть позволяет выявлять кластеры (группы) входных векторов, обладающих некоторыми общими свойствами.

Кластеризация — это разделение исследуемого множества объектов на группы "похожих" объектов, называемых кластерами. Задача кластеризации принципиально отличается от задачи классификации. Решением задачи классификации является отнесение каждого из объектов к одному из заранее определенных классов. В задаче кластеризации происходит отнесение объекта к одному из заранее неопределенных классов. Разбиение объектов по кластерам осуществляется при одновременном формировании кластеров. Кластеризация позволяет сгруппировать сходные данные, что облегчает решение ряда задач Data Mining.

Важно отметить роль содержательной интерпретации каждого кластера. Каждому кластеру необходимо присвоить содержательное название, отражающее суть объектов кластера. Для этого необходимо выявить, признаки, объединяющие объекты в кластер. Это может потребовать статистического анализа свойств объекта кластера.

Сеть Кохонена— это однослойная нейронная сеть, построенная из нейронов типа WTA (Winner Takes All — победитель получает все) .

Каждый нейрон сети соединен со всеми компонентами m -мерного входного вектора x = ( x1 , x2, ..., xk). Входной вектор — это описание одного из объектов, подлежащих кластеризации. Количество нейронов совпадает с количеством кластеров, которое должна выделить сеть. В качестве нейронов сети Кохонена применяются линейные взвешенные сумматоры

s[j] = b[j] + sum(w[i][j]*x[i])
i = 1..k

где j — номер нейрона, i — номер входа, s[j] — выход адаптивного сумматора, w[i][j] — вес i -го входа j -го нейрона, b[j] — порог.

Каждый j -ый нейрон описывается вектором весов w j = (w[1][j], w[2][j], ... w[m][j]), где m – число компонентов входных векторов. С выходов адаптивных сумматоров сигнал поступает на функцию конкуренции, работающую по правилу "победитель получает всё". Функция конкуренции находит выход адаптивный сумматор с максимальным значением выхода. Пусть k — номер такого сумматора. Тогда на выходе сети формируется выходной сигнал y[k] =1 , остальные выходные сигналы равны нулю. Если максимум достигается одновременно на выходах нескольких сумматоров, то выходной сигнал, равный единице, соответствует одному из них, например, первому. Обучение сети Кохонена представляет собой подбор значений весов, минимизирующих ошибки от замены близких в смысле используемой метрики входных векторов вектором весов. Такой подход называется векторным квантованием и применяется в задачах сжатия аудио- и видеосигналов. Идея векторного квантования состоит в компактном представлении многомерных входных векторов с помощью ограниченного набора опорных векторов меньшей размерности, образующих кодовую таблицу. В случае сети Кохонена входные векторы кодируются номерами нейронов-победителей (номерами кластеров). Таким образом, все векторы из некоторой области входного пространства заменяются одним и тем же опорным вектором, являющимся их ближайшим соседом. При использовании евклидова расстояния входное пространство разбивается на многогранники (мозаику) Вороного.

В сетях Кохонена используется обучение без учителя. Для обучения сети применяются механизмы конкуренции. Перед процессом обучения производится инициализация сети, то есть первоначальное задание векторов весов. В простейшем случае задаются случайные значения весов. Процесс обучения сети Кохонена состоит из циклического повторения ряда шагов:

  1. Подача исходных данных на входы. Обычно это случайная выборка одного из входных векторов.
  2. Нахождение выхода каждого нейрона.
  3. Определение "выигравшего" нейрона (веса которого в наименьшей степени отличаются от соответствующих компонентов входного вектора), или нейрона-победителя.
  4. Корректировка весов "выигравшего" нейрона по правилу Кохонена
    w(k+1)[i] = w(k)[i] + n(k)[i] * ( x - w(k)[i] ),
    где x — входной вектор, k — номер цикла обучения n(k)[i] — коэффициент скорости обучения i -го нейрона в k -ом цикле обучения.

  5. Переход на шаг 1, если обучение не завершено.

В сети Кохонена входные значения желательно (хотя и не обязательно) нормировать.

 

Тэги: искусственный интеллект нейронные сети


 


 
архив

подписка