Как сделать карту кохонена

Обновлено: 25.06.2024

Чтобы сократить текст m-файла, повторяющиеся команды можно вынести в отдельный файл и оформить его как функцию, задав её параметры и возвращаемые значения:

Функция выполняет создание, обучение и обработку результатов обучения сети.

Приступаем к написанию тела функции. Перед созданием сети нужно определить количество входов нейросетевой модели. Оно равно количеству факторов, т.е. столбцов в массиве X:

Следующая команда создаёт карту Кохонена net размерностью axb:

Где вместо a и b будут показаны фактические значения.

После перед запуском обучения сети необходимо задать его параметры.

Зададим начальные и конечные значения. Все параметры обучения задаются через массив с ключевых именем options:

Обучение сети net на массиве данных X с заданными параметрами options осуществляется следующей командой:

Далее определим номера нейронов победителей Y:

Первый выходной параметр данной функции D2 – матрица, в которой на пересечении i-й строки и j-го столбца находится квадрат евклидова расстояния между вектором данных i и весовым вектором нейрона j. В дальнейшем исследовании этот массив не требуется.

Количество кластеров – количество несовпадающих номеров нейров-победителей в массиве Y. Сами номера можно получить с помощью функции intersect. Данная функция служит для определения пересечения, она выдаст массив из элементов, которые принадлежат обоим массивам

Далее приступаем к расчёту среднего межкластерного расстояния. Это среднее расстояние между центроидами кластеров. В карте самоорганизации центроидами являются весовые векторы нейронов. Получим матрицу весовых коэффициентов сети:

Весовые векторы – строки матрицы W.

Используем массив с номерами нейронов-победителей, скопируем только соответствующие им строки в новую матрицу:

Рассчитаем суммарное векторное расстояние SED и разделим на количество кластеров, чтобы определить среднее межкластерное расстояние:

Отбор оптимальной сети.

Необходимо построить карты самоорганизации с различной размерностью нейронного слоя. Для каждой из карт:

- задать параметры обучения;

- провести обучение на полученном массиве X;

- подсчитать количество кластеров, на которые разделены исходные 16 столбцов массива Х;

- рассчитать среднее межкластерное евклидово расстояние.

Этот алгоритм, с целью сокращения программы, реализуем в виде отдельного файла. Используем двумерную карту самоорганизации. Размеры нейронного слоя обозначим через a и b. В таблице приведены размерности карт.

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

Для отбора оптимальной сети необходимо построить график.

В системе Octave существует несколько способов построить два графика на одном рисунке, например использовать функцию plotyy. В этом случае масштабы по оси ординат будут независимы. Аргументы функции: plotyy(X1,Y1,X2,Y2), где массивы X1 и Y1 содержат координаты точки для построения первого графика, X2 и Y2 – второго. Пусть первый график – количество кластеров, второй – межкластерное расстояние. Так как X1 и X2 совпадают, то понадобится сформировать 3 массива:

1) Количество нейронов;

2) Количество кластеров;

3) Межкластерное расстояние.

Таким образом, описанные выше действия в программе можно отобразить так:

Определить оптимальную сеть можно по графику:


Рисунок 1 – Графики зависимости количества кластеров и межкластерного расстояния от количества нейронов карты.

Здесь ось абсцисс – количество нейронов в сети, синяя линия – количество кластеров, зелёная – среднее межкластерное евклидово расстояние. Как видно, оптимальной является карта 7х7=49 нейронов, выделившая 13 кластеров.

Вывод: Используя функционал математического пакета Octave, мы подготовили набор данных, на которых решалась задача кластеризации. А также мы изучили и создали карты самоорганизации – карты Кохонена, с различной размерностью нейронного слоя. Итогом работы стало построение графика зависимости количества кластеров и межкластерного расстояния, с помощью которого мы определили оптимальную сеть. Можно сделать вывод, что оптимальной является двумерная карта Кохонена 7х7=49 нейронов, выделившая 13 кластеров.

Средневековье: основные этапы и закономерности развития: Эпоху Античности в Европе сменяет Средневековье. С чем связано.

При игре на рынке акций трейдеры стремятся обнаружить те или иные закономерности в рядах цен. Чем лучше трейдер разбирается в закономерностях фондового рынка, тем успешнее он торгует. Как выявить закономерности в огромных массивах данных, хранящих множество рыночных показателей для эмитентов NYSE, Nasdaq и AMEX за последние годы?

Для решения подобных проблем применяются самоорганизующиеся карты Кохонена (Kohonen's self organizing maps), дающие двумерное визуальное представление многомерных данных с сохранением их топологических особенностей. Самоорганизующаяся карта имеет практически полную аналогию с обычными топографическими картами, представляющими трехмерное пространство в виде двумерных рисунков, и позволяет в процессе исследования многомерных объектов выполнять следующие аналитические операции:

  • нейросетиобнаруживать скрытую (априори неизвестную) структуру совокупности многомерных данных с помощью возникших на карте кластеров – областей скоплений данных;
  • карты кохонена,фондовые рынкиописывать обнаруженные кластеры на содержательном уровне в терминах распределения значений признаков;
  • карты кохонена,фондовые рынкиопределять принадлежность объекта к конкретному кластеру;
  • карты кохонена,фондовые рынкипроводить сравнение занимаемых объектами позиций на карте, оценивая при этом степень их различия;
  • карты кохонена,фондовые рынкисортировать объекты по сложным критериям путем выбора изображенных на карте зон.

Благодаря отмеченным свойствам СОК, появляется возможность изучать труднодоступные для традиционных средств визуализации множества многомерных объектов по их двумерным образам, изображаемым непосредственно на карте.

Как работает СОК Кохонена ?

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

Сеть состоит из M нейронов, образующих прямоугольную решетку на плоскости. Весовым коэффициентам нейронов сначала присваивают малые случайные значения. Затем N входных сигналов - векторов X0. XN-1 - последовательно предъявляются сети для обучения. Элементы входных сигналов подаются на входы всех нейронов сети.

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

У СОК также есть способность к обобщениям, т. е. нейросеть может распознать или охарактеризовать входные данные, которые ей никогда не предъявлялись прежде. Новый пример входных данных "усваивается" самоорганизующейся картой, а затем отображается на соответствующем месте карты. Кроме того, применение СОК для входных векторов с частично отсутствующими данными позволяет эти потерянные данные найти или спрогнозировать. Использование конкурентного обучения обеспечивает сохранение топологии исследуемой информации. Это означает, что СОК группирует сходные векторы входных данных на соответствующем им нейроне: точки, расположенные рядом во входном пространстве данных, попадают в соседние ячейки на самоорганизующейся карте. Таким образом, СОК может использоваться в качестве средства кластеризации, а также для визуализации многомерных данных.

Области синего цвета соответствуют наличию кластера во входных векторах, области красного цвета – границе между кластерами.

Применение СОК в исследованиях фондового рынка

Самоорганизующиеся карты обнаруживают в скоплениях комплексных данных изолированные структуры, анализ которых и позволяет выявлять скрытые закономерности. Это свойство СОК представляет больший интерес при исследованиях фондового рынка. Один из примеров применения СОК при анализе фондового рынка дает компания ТОРА-Центр. В этом примере с помощью СОК дается ответ на вопрос: "Есть ли закономерности в поведении цены акции РАО ЕЭС России в зависимости от дня недели?"

Для этого данные по акциям РАО ЕЭС России за 300 торговых дней подавались на вход карты Кохонена размером 50х50. Каждый входной сигнал содержал следующие значения:

  • день недели
  • тип свечи в текущий день,
  • тип свечи в предыдущий день

День недели кодировался числом от 1 (понедельник) до 7 (воскресенье). Тип японской свечи кодировался числом от -5 до +5, как показано на рисунке.

Анализ карты частот показывает, что, во-первых, все точки расположены неравномерно, а во-вторых, присутствуют нейроны-кластеры (ярко красные точки). Наличие таких кластеров объясняется дискретностью входных значений.

Существует ли какая-либо закономерность в этих данных, позволяющая спрогнозировать тип свечи в текущий день на основе информации о дне недели и типе свечи в предыдущий день?

Рассмотрим все кластеры на карте частот и определим число выпадения определенного типа свечи (например, черной с обеими тенями) в определенный день недели. После просмотра всех дней недели, мы выделили пятницу. Если в пятницу была белая свеча 2-го типа, то в 15 случаях в понедельник наблюдается черная свеча и только в 5 случаях - белая. Соотношение 15:5 является интересным результатом и показывает неочевидную закономерность в исследуемом ряде данных - в 75% случаев белая свечка в пятницу приводит к черной свечке в понедельник.

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

По способам настройки входных весов сумматоров и по решаемым задачам различают много разновидностей сетей Кохонена. [1] Наиболее известные из них:

  • Сети векторного квантования сигналов [1] , тесно связанные с простейшим базовым алгоритмом кластеризации (метод динамических ядер или K-средних, то есть K-means)
  • Самоорганизующиеся карты Кохонена (Self-Organising Maps, SOM) [1]
  • Сети векторного квантования, обучаемые с учителем (Learning Vector Quantization) [1]

Содержание

Слой Кохонена

Базовая версия

Слой Кохонена состоит из некоторого количества параллельно действующих линейных элементов. Все они имеют одинаковое число входов и получают на свои входы один и тот же вектор входных сигналов . На выходе го линейного элемента получаем сигнал

где — весовой коэффициент го входа го нейрона, — пороговой коэффициент.

Геометрическая интерпретация

Разбиение плоскости на многоугольники Вороного-Дирихле для случайно выбранных точек (каждая точка указана в своём многоугольнике).


Разбиение плоскости на многоугольники Вороного-Дирихле для случайно выбранных точек (каждая точка указана в своём многоугольнике).

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

Таким образом, координаты точки совпадают с весами линейного нейрона слоя Кохонена (при этом значение порогового коэффициента ).

Если заданы точки , то -мерное пространство разбивается на соответствующие многогранники Вороного-Дирихле : многогранник состоит из точек, которые ближе к , чем к другим (). [1]

Сети векторного квантования

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

где состоит из тех точек , которые ближе к , чем к другим (). Другими словами, состоит из тех точек , которые кодируются кодовым вектором .

Если совокупность задана и хранится в памяти, то стандартным выбором в обучении соответствующей сети Кохонена является метод K-средних. Это метод расщепления:

  • при данном выборе кодовых векторов (они же весовые векторы сети) минимизацией находим множества — они состоит из тех точек , которые ближе к , чем к другим ;
  • при данном разбиении на множества минимизацией находим оптимальные позиции кодовых векторов — для оценки по методу наименьших квадратов это просто средние арифметические:

где — число элементов в .

Далее итерируем. Этот метод расщепления сходится за конечное число шагов и даёт локальный минимум искажения.

где — шаг обучения. Остальные кодовые векторы на этом шаге не изменяются.

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

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

Самоорганизующиеся карты Кохонена

Идея и алгоритм обучения

где — шаг обучения. Соседи кодового вектора — победителя (по априорно заданной таблице близости) сдвигаются в ту же сторону, что и этот вектор, пропорционально мере близости.

Чаще всего, таблица кодовых векторов представляется в виде фрагмента квадратной решётки на плоскости, а мера близости определяется, исходя из евклидового расстояния на плоскости.

Самоорганизующиеся карты и главные многообразия

Самоорганизующиеся карты могут рассматриваться как аппроксимации главных многообразий и популярны в этом качестве [1] .

Упругие карты

Визуализация набора данных по экспрессии генов в раке молочной железы с использованием упругих карт (b) и метода главных компонент (c). Классы точек показаны с использованием размера (ER - статуc эстроген-рецептора), формы (GROUP - риск развития метастаз) и цвета (TYPE - молекулярный тип опухоли). На панели (a) показана конфигурация узлов двумерной упругой карты в проекции на первые три главные компоненты. Сравнивая (b) и (c), можно заметить, что базальный тип опухоли как кластер лучше отделен на нелинейной проекции (b).


Визуализация набора данных по экспрессии генов в раке молочной железы с использованием упругих карт (b) и метода главных компонент (c). Классы точек показаны с использованием размера (ER - статуc эстроген-рецептора), формы (GROUP - риск развития метастаз) и цвета (TYPE - молекулярный тип опухоли). На панели (a) показана конфигурация узлов двумерной упругой карты в проекции на первые три главные компоненты. Сравнивая (b) и (c), можно заметить, что базальный тип опухоли как кластер лучше отделен на нелинейной проекции (b).

Пусть задана совокупность входных векторов . Так же, как и сети векторного квантования и самоорганизующиеся карты, упругая карта представлена как совокупность кодовых векторов (узлов) в пространстве сигналов. Множество данных разделено на классы , состоящие из тех точек , которые ближе к , чем к другим (). Искажение кодирования

может трактоваться как суммарная энергия пружин единичной жёсткости, связывающих векторы данных с соответствующими кодовыми векторами.

энергия растяжения энергия изгиба

где — соответствующие модули упругости.

Задача построения упругой карты состоит в минимизации функционала

Если разбиение совокупности входных векторов на классы фиксировано, то минимизация — линейная задача с разреженной симметричной матрицей коэффициентов. Поэтому, как и для сетей векторного квантования, применяется метод расщепления: фиксируем — ищем — для данных ищем — для данных ищем — … Алгоритм сходится к (локальному) минимуму .

Метод упругих карт позволяет решать все задачи, которые решают самоорганизующиеся карты Кохонена, однако обладает большей регулярностью и предсказуемостью. При увеличении модуля изгиба упругие карты приближаются к линейным главным компонентам. При уменьшении обоих модулей упругости они превращаются в Кохоненовские сети векторного квантования. В настоящее время упругие карты интенсивно используются для анализа многомерных данных в биоинформатике. [1] Соответствующее программное обеспечение опубликовано и свободно доступно на сайте Института Кюри (Париж). [1] [1]

На рисунке представлены результаты визуализации данных по раку молочной железы. Эти данные содержат 286 примеров с указанием уровня экспрессии 17816 генов [1] . Они доступны онлайн как ставший классическим тестовый пример для визуализации и картографии данных [1] .

Сети векторного квантования, обучаемые с учителем

Пример возможного разделения классов, составленного с помощью разбиения Вороного-Дирихле.


Решается задача классификации. Число классов может быть любым. Изложим алгоритм для двух классов, и . Исходно для обучения системы поступают данные, класс которых известен. Задача: найти для класса некоторое количество кодовых векторов , а для класса некоторое (возможно другое) количество кодовых векторов таким образом, чтобы итоговая сеть Кохонена с кодовыми векторами , (объединяем оба семейства) осуществляла классификацию по следующему решающему правилу:

С каждым кодовым вектором объединённого семейства связан многогранник Вороного-Дирихле. Обозначим эти многогранники , соответственно. Класс в пространстве сигналов, согласно решающему правилу, соответствует объединению , а класс соответствует объединению . Геометрия таких объединений многогранников может быть весьма сложной (см. Рис с примером возможного разбиения на классы).

Это — простейшая (базовая) версия метода [1] . Существует множество других модификаций.

Учебное програмное обеспечение

Ссылки

Среди самоорганизующихся сетей есть важный класс нейросетей, в основе которых лежит конкуренция между нейронами. Это обычно однослойные сети, где каждый нейрон связан со всеми составляющими TV-мерного входного вектора U (рис. 2.5.10.1).

Топология самоорганизующейся сети с двумя входами

Рис. 2.5.10.1. Топология самоорганизующейся сети с двумя входами

Синапсические веса связей образуют вектор:

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

1 /Г ) — расстояние в смысле выбранной метрики между вектором U и вектором W, а / — число нейронов в слое.

Около нейрона-победителя определяется топологическое соседство Гы(п), с некоторым наименьшим радиусом в данный момент времени. Нейрон-победитель и все нейроны-соседи подлежат адаптации, изменяя свои веса в направлении вектора U(n) по правилу Кохоиена:

для i е Гы(п).

В правиле (2.5.10.2) ^(л), — коэффициент обучения i-го нейрона из соседства ГД л) в момент времени п. Значение /;(и) уменьшается вместе с расстоянием от нейрона-победителя. Веса нейронов, не входящих в соседство ГДи), не подлежат изменению.

Поскольку понимание процесса коррекции играет первостепенную роль, он графические изображен в пространстве (рис. 2.5.10.2) и геометрически на плоскости на рисунках 2.5.10.3 и 2.5.10.4. На рисунке 2.5.10.2 показано распределение входных векторов на поверхности сферы. Местоположение вектора условно обозначено крестиками.

Пример кластеризации в трехмерном пространстве с нормализованными векторами, лежащими на общей сфере

Рис. 2.5.10.2. Пример кластеризации в трехмерном пространстве с нормализованными векторами, лежащими на общей сфере

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

Вращение весового вектора в процессе обучения

Рис. 2.5.10.3. Вращение весового вектора в процессе обучения

Если на рисунке 2.5.10.2 показаны начальное и конечное положения векторов-весов, то на рисунке 2.5.10.3 изображено и промежуточное положение (оно обозначено черной точкой), но уже на плоскости. На рисунке 2.5.10.3 даны не только начальное, промежуточное и конечное состояния, но сами вектора и правило обучения Кохонена. Можно видеть, что самоорганизация состоит во вращении весового вектора без существенного изменения его длины.

На рисунке 2.5.10.4 изображена адаптация весов не только нейрона-победителя, но и его соседей.

Иллюстрация адаптации весов в сети Кохонена

Рис. 2.5.10.4. Иллюстрация адаптации весов в сети Кохонена: а — исходное состояние; б — состояние после адаптации

Меры расстояния между векторами

Важное место в самоорганизации сети занимает выбор метрики, в которой будет измерено расстояние между векторами и и :. Чаще всего для этого применяются Евклидова (2.5.10.3) и скалярная метрики (2.5.10.4):

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

Распределение областей доминирования нейронов при разных мерах расстояния между ненормализованными векторами

Рис. 2.5.10.5. Распределение областей доминирования нейронов при разных мерах расстояния между ненормализованными векторами:

а — Евклидова мера; б — скалярное значение


Выбор начальных значений весовых векторов

Всем весам нейросети Кохонена априори должны быть даны начальные значения. Зачастую это делают, присваивая весам небольшие, случайным образом выбранные значения. Проблема возникает из-за того, что входные векторы группируются в кластеры, распределенные, как правило, неравномерно по поверхности гиперсферы. Более того, они имеют тенденцию группироваться в ее малой части. В случае рандомизации большинство нейронов удаляются от кластеров и никогда не дадут наилучшего соответствия. Эти нейроны всегда будут иметь нулевой выход и окажутся просто бесполезными. Более того, оставшихся нейронов может не хватить, чтобы разделить во входном пространстве близко расположенные друг к другу кластеры, ведь нейроны-победители выступают именно в качестве идентификаторов таких классов-кластеров.

Наиболее желательное решение проблемы состоит в том, чтобы первоначально распределять весовые векторы в соответствии с плотностью входных векторов во входном пространстве. На практике это не выполнимо из-за отсутствия такой информации. Однако есть несколько эвристических приемов для достижения данной цели.

Метод выпуклых комбинаций состоит в том, что начальные веса прирав-

ниваются к одной и той же величине ил = -^=, где N — число входов, и, сле-

дователыю, количество компонент входного вектора. Благодаря этому все весовые векторы одинаковы и имеют единичную длину. Каждой же компоненте вектора U придается значение и. =аи. 4- (1 - а) / VJv . Вначале значение а очень мало, вследствие чего все входные векторы имеют длину, близкую к

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

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

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

Нормализация векторов

Доказано, что самоорганизация всегда приводит к полному разделению входного пространства данных, если хотя бы один из векторов U или W будет априори нормализован. При нормализации векторов U весовые вектора автоматически становятся нормализованными. С другой стороны, нормализация весового вектора, т.е. ||И 200 она уже не оказывает заметного влияния на самоорганизацию.

Мера организованности карты Кохонена

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

h а>-1 Л-1

ГЕДА«+ЕЕДо.,

/=1 / = 1____________ 1=1 У=1

где ДЛ17 = Ц1Г + Wj /+11|, Дьг = ||ИС + WM . ||, а ИС обозначает вектор весов (zj)-ro нейрона в прямоугольной сетке, содержащей h нейронов по оси ординат и со нейронов по оси абсцисс; значение //д представляет среднее расстояние между весовыми векторами; а длЯ i = 0 >

Алгоритм обучения Кохонена

Цель обучения самоорганизующихся конкуренцией нейронов — такое упорядочение нейронов, т.е. подбор значений их весов, которое минимизирует значение ожидаемого искажения. Это искажение измеряется как ошибка аппроксимации входного вектора U значениями весов нейрона, побеждающего в конкуренции. При Nu входных векторах и использовании Евклидовой нормы эта погрешность может выражаться зависимостью:

где — вектор весов нейрона-победителя при поступлении на вход вектора (7,.

где (о — номер победителя.

В классическом алгоритме Кохонена функция соседства определяется по формуле

В формуле (2.5.10.6) обозначает Евклидово расстояние между

векторами весов нейрона-победителя и /-го нейрона-соседа. Коэффициент А. — радиус соседства, уменьшающийся в процессе обучения. Этот тип соседства называется прямоугольным. Другой тип соседства — Гауссовское соседство: G(j,U) = exp(-d 2 (i,co)/2A 2 )), дающее значительно лучшие результаты обучения.

Сети с одно- и двухмерными пространствами входных сигналов

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

Топология карты Кохонена может быть прямоугольной (рис. 2.5.10.6, а), где у нейрона четыре соседа, гексоидальной (рис. 2.5.10.6, б), где у нейрона шесть соседей, или возможна другая топология, например случайная (рис. 2.5.10.6, в).

Соседство в картах Кохонена


Рис. 2.5.10.6. Соседство в картах Кохонена:

а, б, в —прямоугольная, гексоидальная и случайная топологии соответственно

На рисунке 2.5.10.7 представлены результаты обучения карты Кохонена в двухмерном входном пространстве.

Состояние самоорганизующейся карты Кохонена





Рис. 2.5.10.7. Состояние самоорганизующейся карты Кохонена:

а — после 20 итераций; б — после 100 итераций; в — после 300 итераций; г — после 500 итераций; д —после 1000 итераций; е — после 5000 итераций

Для экспериментов генераторами равномерно распределенных случайных величин было сгенерировано 1000 входных векторов, которые обозначены на плоскости серыми крестиками. Топология карты выбрана гексоидальной. Количество нейронов 10x10. Положение весовых векторов нейронов обозначено черными точками, а связи нейронов с соседями по топологии — черными линиями.

Самоорганизация карты Кохонена на данных о форме цифры четыре

Рис. 2.5.10.8. Самоорганизация карты Кохонена на данных о форме цифры четыре

Для фигур на рисунке 2.5.10.8 в порядке их расположения слева направо количество итераций было 300, 500, 1000 и 5000 соответственно. На самом правом рисунке упорядочение сети уже достаточно заметно, однако по-прежнему есть векторы весов, которые не легли на нужные отрезки. Это демонстрирует эффект смещения векторов весов нейронов в кластеры, где больше входных векторов. Это области пересечения отрезков, образующих цифру четыре. Чтобы получить лучшую аппроксимацию, необходимо большое искусство в формировании обучающего множества. Например, можно уменьшить количество обучающих примеров в местах пересечения отрезков.

Применение карт Кохонена для обнаружения неисправностей в технических системах

Карты Кохонена широко применяются для решения задач в практике проектирования и при эксплуатации сложных технических систем.

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

На рисунке 2.5.10.9 представлены данные, которые могут использоваться для обучения карты Кохонена распознаванию аварийных ситуаций. Эти данные сгруппированы в семь кластеров, которые могут быть отделены от точки нормального состояния установки, т. е. восьмого кластера.

Кластеры данных и их отображение весами нейронов карты Кохонена

Рис. 2.5.10.9. Кластеры данных и их отображение весами нейронов карты Кохонена

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


Типовая схема применения карты Кохонена

Рис. 2.5.10.10. Типовая схема применения карты Кохонена

для обнаружения неисправностей


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

Читайте также: