- •3 Створення та навчання самоорганізованих карт кохонена за допомогою пакеТу прикладних програм som toolbox у середовищі matlab
- •3.1 Мета роботи
- •3.2 Методичні вказівки з організації самостійної роботи студентів
- •3.2.1 Побудова самоорганізованих карт Кохонена
- •3.2.2 Архітектура самоорганізованої карти
- •3.2.3 Модель карти Кохонена
- •3.2.4 Процедури настроювання параметрів
- •1.3 Порядок виконання роботи
- •3.4 Зміст звіту
- •3.5 Контрольні запитання
3.2.4 Процедури настроювання параметрів
Визначимо процес навчання карти Кохонена як процедуру настроювання ваг і швидкості навчання з метою зменшення помилки кластеризації, використовуючи деяке правило настроювання (навчання). Карта Кохонена призначена для кластеризації образів, тому відноситься до алгоритмів навчання без вчителя.
При навчанні без вчителя ваги змінюються тільки у зв'язку зі змінами входів мережі.
Правила настроювання
Настроювання параметрів (навчання) самоорганізованої карти Кохонена здійснюється з використанням навчальної множини. Позначимо через вектор входівмережі. Мета навчання - зменшити погрішність , де- погрішність кластеризації уj-ому кластері, - функція сусідства, яка задає міру впливу образу на формування j-ого кластера, - Евклідова відстань між та .
Навчання мережі Кохонена
Для пошуку нейрона-переможця, порівнюються зважені суми вхідних сигналів і вибирається нейрон з максимальним значенням функції
(6.1)
Досить корисною операцією попередньої обробки вхідних векторів є їх нормалізація
, i = 1,N (6.2)
Алгоритм навчання мережі Кохонена:
Ініціалізація.
Вибір навчального сигналу.
Аналіз відклику (вибір нейрону).
Визначається активований нейрон за формулою 6.1.
Процес навчання.
Приклад програми кластеризації:
%створення та ініціалізація нової структури даних
sD = som_data_struct([-2 100; -1 0; 0 0; 0.5 -100; 0.5 100]);
%створення, ініціалізація та навчання карти Кохонена
sM = som_make(sD);
%присвоєння позначок першим 12 векторам вагових коефіцієнтів карти
sM = som_label(sM, 'add', 1:12, ['a';'b';'c';'d';'e';'f';'g';'h';'i';'j';'k';'l']);
%присвоєння позначок вхідним образам на основі голосування
%між векторами вагових коефіцієнтів карти
sD = som_autolabel(sD, sM, 'vote');
%візуалізація вхідних даних
som_grid('rect', [5 1], 'Line', 'none', 'Coord', sD.data, 'Label', sD.labels, 'labelColor', 'k', 'marker', 'x', 'markerColor' , 'b');
%утримання поточного графіку
hold on
%візуалізація карти
som_grid(sM,'Coord',sM.codebook, 'MarkerColor','y', 'marker', 'o', 'Label',sM.labels,'LabelColor','k');
1.3 Порядок виконання роботи
Створити та ініціалізувати структуру даних відповідно до обраного варіанту завдання;
Провести моделювання самоорганізованої карти Кохонена;
Провести кластеризацію векторів (варіант завдання відповідно до таблиці 6.1) за допомогою самоорганізованої карти.
Візуалізувати результати кластеризації (навчальні образи та карту Кохонена у вигляді решітки).
Занести результати у звіт.
Таблиця 3.1 - Варіанти завдання
№ варіанта |
Координати точок |
|
(-2;100), (-1;0), (0;0), (0.5;-100), (0.5;100) |
|
(-1;-100), (0.5;0), (0;0), (1;100) |
|
(-0.5;-100), (-1;0), (-1.5;150), (0;0), (0.5;-100) |
|
(1;-100), (-1;-100), (0.5;0), (-1.5;100) |
|
(0;-200), (0;-100), (0.5;-50), (-1;-100), (-0.5;1) |
|
(-0.5;-50), (-1;0), (0;50), (0.5;100) |
|
(0;50), (-1;0), (0.5;-100), (-1.5;150), (0.5;0) |
|
(0;0), (0.5; 50), (-0.5;-50), (-1;-100) |
|
(-1;-50), (-0.5;0), (0;0), (0.5;50), (1;100) |
|
(0;-100), (-0.5;0), (0;100), (1;100) |
|
(1;50), (0.5;100), (-0.5;0), (-0.5;100), (-1;50) |
|
(0;0), (0.5;100), (-0.5;-100), (-1;-50) |
|
(0.5;0), (0;100), (-0.5;-50), (-1;0), (-0.5;100) |
|
(0;50), (0;-50), (-1;50), (-1;-50) |
|
(0.5;50), (0.5;-100), (-0.5;50), (0;0), (0;100) |
Нормалізувати дані.
Провести моделювання самоорганізованої карти Кохонена та кластеризацію векторів образів (для нормалізованих даних).
Візуалізувати результати кластеризації (навчальні образи та карту Кохонена у вигляді решітки).
Результати занести у звіт.