Что такое самоорганизующиеся карты: руководство для начинающих по карте Кохонена

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

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

Что такое самоорганизующиеся карты?

Своего рода искусственная нейронная сеть, называемая самоорганизующейся картой, часто известная как карта Кохонена или SOM, возникла под влиянием биологических моделей нейронных систем 1970-х годов. Он использует методологию обучения без учителя и алгоритм конкурентного обучения для обучения своей сети. Чтобы свести к минимуму сложные проблемы для простой интерпретации, SOM используется для процедур сопоставления и кластеризации (или уменьшения размерности) для отображения многомерных данных в пространствах меньшей размерности. Выходной слой и входной слой — это два слоя, составляющие SOM. Это также известно как карта Кохонена.

Теперь, когда мы обсудили, что такое SOM, мы обсудим, как работают карты Кохонена.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Как работают СОМ?

Рассмотрим входной набор с размерами (m, n), где m представляет собой n, представляющее количество функций, присутствующих в каждом примере, и количество обучающих примеров. Сначала инициализируются веса размера (n, C), где C — количество кластеров. Выигрышный вектор (весовой вектор с кратчайшим расстоянием от обучающего примера, например, евклидово расстояние) затем обновляется после перебора входных данных для каждого обучающего примера. Рекомендации по обновлению веса предоставлены:

мы = мы(старые) + альфа

Здесь i обозначает i-ю особенность обучающего примера, j — выигрышный вектор, альфа — скорость обучения в момент времени t, а k — k-й обучающий пример входных данных. Сеть SOM обучена, и обученные веса используются для кластеризации новых примеров. В коллекцию успешных векторов включен новый пример.

Алгоритм

Сопутствующие действия:

  • Шаг 1: Инициализируйте вес w_ij каждого узла случайным значением.
  • Шаг 2: Случайным образом выберите входной вектор xk.
  • Шаг 3. Для каждого узла на карте повторите шаги 4 и 5 еще раз.
  • Шаг 4: Найдите расстояние в Евклиде между входным вектором x
  • Шаг 5: Следите за узлом, который дает наименьшее t-расстояние.
  • Шаг 6. Выполните глобальный расчет наилучшей подходящей единицы (BMU). Он относится к узлу, ближайшему ко всем остальным вычисляемым узлам.
  • Шаг 7: Найдите топологическую окрестность BMU и его радиус на карте Кохонена.

Примечание. Шаги со 2 по 9 представляют собой этап обучения, тогда как шаг 1 представляет собой этап инициации.

Здесь,

X → входной вектор

Радиус функции соседства o

w_ij → — вес ассоциации между узлами сетки I j.

t → текущая итерация

На итерации t X

i → — координата строки сетки для узлов.

w → Весовой вектор

Функция соседства, которая представляет расстояние между узлами I j и BMU, равна β_ij.

j → — координата столбца сетки для узлов.

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

Использование самоорганизующихся карт

Самоорганизующиеся карты, которые не всегда линейны, имеют то преимущество, что сохраняют нетронутой структурную информацию из обучающих данных. Анализ главных компонентов может просто привести к потере данных при использовании данных большой размерности, когда размерность уменьшается до двух. Самоорганизующиеся карты могут стать отличной альтернативой PCA для уменьшения размерности, если данные имеют несколько измерений и каждое заданное измерение актуально. Группы создаются посредством сейсмофациального анализа на основе обнаружения различных индивидуальных особенностей. Используя этот метод, организованные реляционные кластеры создаются путем определения организации объектов в наборе данных.

Теперь мы обсудим архитектуру самоорганизующихся карт или карт Кохонена.

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

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

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

Проще говоря, обучение происходит следующими способами:

  • Чтобы определить, аналогичны ли соответствующие веса входному вектору, анализируется каждый узел. Лучшей единицей соответствия является термин, используемый для описания соответствующего узла.
  • Затем определяется значение окрестности наиболее подходящей единицы. Со временем количество соседей уменьшается.
  • Соответствующий вес в дальнейшем превращается во что-то более похожее на вектор выборки. Окружающие области изменяются аналогично выбранному вектору выборки. Веса узла изменяются больше по мере его приближения к единице наилучшего соответствия (BMU) и меньше по мере удаления от соседа.
  • Для N итераций повторите второй шаг.

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

Плюсы и минусы самоорганизующихся карт

Самоорганизующиеся карты имеют как преимущества, так и недостатки, некоторые из которых показаны ниже:

Плюсы

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

Минусы

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

Давайте теперь займемся реализацией самоорганизующихся карт в Python.

Реализация самоорганизующихся карт с использованием Python

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

!pip установить минисом

из минисома импорт МиниСом

# определение обучения и нейронов

нейроны_а = 9

нейроны_b = 9

сом = MiniSom(neurons_a, нейроны_b, соседство_функция = 'гауссова', data.shape(1), случайное_семя = 0, скорость обучения = 0,5, сигма = 1,5)

som.pca_weights_init(данные)

som.train(данные, 1000, подробный =True)

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

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

Можно создать еще один псевдоцветной график, отражающий частоты нейронной активности, чтобы выявить, какие нейроны карты активны чаще:

plt.figure(figsize=(7, 7))

частоты = som.activation_response(данные)

plt.pcolor(frequency.T, cmap='Blues')

plt.colorbar()

plt.show()

Наши ученики также спрашивают:

Вот некоторые общие часто задаваемые вопросы о самоорганизующихся картах или картах Кохонена:

1. Для чего используются самоорганизующиеся карты?

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

2. Что является примером самоорганизующихся карт?

Самоорганизующаяся карта, отображающая тенденции голосования в Конгрессе США. У каждого члена Конгресса была строка в базе данных входных данных, а столбцы для конкретных голосов содержали голоса «да», «нет» или «воздержался» каждого члена. Эти элементы были отсортированы в двумерной сетке методом SOM, при этом связанные элементы были сгруппированы ближе друг к другу.

3. В чем преимущество самоорганизующихся карт по сравнению с нейронными сетями?

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

4. Каковы пять этапов карты самоорганизации?

Пять этапов самоорганизующейся карты или карты Кохонена:

  • Инициализация
  • Выборка
  • Соответствие
  • Обновление
  • Продолжение

Освойте самоорганизующиеся карты с помощью Simplilearn

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *