Самоорганизующиеся карты - Карты Кохонена
Самоорганизующаяся карта (или карта Кохонена или SOM) - это тип искусственной нейронной сети, который также вдохновлен биологическими моделями нейронных систем 1970-х годов. Он следует подходу к обучению без учителя и обучил свою сеть с помощью алгоритма конкурентного обучения. SOM используется для методов кластеризации и сопоставления (или уменьшения размерности) для сопоставления многомерных данных с более низкоразмерными, что позволяет людям сокращать сложные проблемы для легкой интерпретации. SOM имеет два уровня: один - входной, а второй - выходной. Архитектура самоорганизующейся карты с двумя кластерами и n входными функциями любого образца приведена ниже:
Как работает SOM?
Скажем, входные данные размера (m, n), где m - номер обучающего примера, а n - количество функций в каждом примере. Во-первых, он инициализирует веса размера (n, C), где C - количество кластеров. Затем, перебирая входные данные, для каждого обучающего примера он обновляет вектор выигрыша (вектор веса с кратчайшим расстоянием (например, евклидово расстояние) из обучающего примера). Правило обновления веса задается:
w ij = w ij (старый) - alpha (t) * (x i k - w ij (старый))
где альфа - скорость обучения в момент времени t, j обозначает выигрышный вектор, i обозначает i- ю особенность обучающего примера, а k обозначает k- й обучающий пример из входных данных. После обучения сети SOM обученные веса используются для кластеризации новых примеров. Новый пример попадает в кластер выигрышного вектора.
Алгоритм
Вовлеченные шаги:
- Инициализация веса
- Для количества эпох от 1 до N
- Выберите пример обучения
- Вычислить выигрышный вектор
- Обновить выигрышный вектор
- Повторите шаги 3, 4, 5 для всех обучающих примеров.
- Кластеризация тестового образца
Ниже представлена реализация вышеуказанного подхода:
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.