Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lb3_нейросети.doc
Скачиваний:
25
Добавлен:
13.04.2015
Размер:
181 Кб
Скачать
☆

3.2.2 Архітектура самоорганізованої карти

Кожний елемент вектора входу зважений з відповідною вагою . Всі нейрони решітки мають зв’язки з вузлами вхідного слою. Зв’язки між нейронами відображають сусідство кожного нейрона.

Рисунок 3.1 – Модель мережі Кохонена

Рисунок 3.2 – Візуалізація карти Кохонена

Карта має вигляд решітки, вузлами якої є нейрони, а лініями – зв’язки між нейронами. Рисунок 6.2 наочно ілюструє вигляд самоорганізованої карти у 3D вимірі.

3.2.3 Модель карти Кохонена

Функція формування моделі карти Кохонена:

sM = som_lininit(D)

з таким вхідним аргументом: ‑ навчальні образи (структура:som_data).

Приклад:

sM = som_lininit([5 3;12 1]); % створює самоорганізовану карту

% з двома входами [5 3] та [12 1].

Тепер визначимо, як відгукується мережа на вхідні вектори й, розташовані по різні сторони від поділяючої лінії.

Функція створення, ініціалізації та навчання самоорганізованої карти.

Для швидкого програмування карти Кохонена використовується команда som_make:

sM = som_make(D);

Приклад:

sM = som_make([5 3;12 1]); % створює, ініціалізує та настроює само організовану

% карту з двома входами [5 3] та [12 1].

Ця функція створює та ініціалізує карту за допомогою функції som_lininit (лінійна ініціалізація) та настроює за допомогою som_batchtrain (пакетний алгоритм навчання).

Функції присвоєння/усунення позначок нейронів карти Кохонена або вхідних векторів

Приклад присвоєння позначок:

sD = som_label(sD, 'add', 1:3, ['3'; '4'; '5']);

додає позначки ‘3’, ‘4’ та ‘5’ записам 1, 2 та 3 структури даних sD (dat_struct) відповідно.

Приклад автоматичного перенесення позначок:

sD = som_autolabel(sD, sM, 'vote');

присвоює позначки записам структури даних sD за допомогою голосування між векторами вагових коефіцієнтів карти sM.

Функція візуалізації решітки самоорганізованої карти

Приклад:

som_grid('rect', [5 1], 'Line', 'none', 'Coord', sD.data, 'Label', sD.labels, 'labelColor', 'k', 'marker', 'x', 'markerColor' , 'b');

візуалізує матрицю sD.data (Nx2 чи Nx3) з решіткою розміром 5х1 з прямокутними топологічними зв’язками між нейронами без відображення ліній зв’язків, позначками sD.labels чорного кольору та маркером ‘x’ синього кольору.

Приклад:

som_grid(sM, 'Coord', sM.codebook, 'MarkerColor', 'y', 'Label', sM.labels, 'LabelColor', 'k');

візуалізує карту sM з координатами sM.codebook (Nx2 чи Nx3 матриця) з маркером жовтого кольору та позначками sM.labels чорного кольору.

Нормалізація даних

Приклад:

sD = som_normalize(sD, 'var');

одинична нормалізація даних матриці, структури даних (data struct) чи карти (map struct) sD.

Ініціалізація самоорганізованої карти

Лінійна ініціалізація передбачає рівномірний розподіл початкових векторів вагових коефіцієнтів.

Приклад лінійної ініціалізації можна побачити на рисунку 6.3. Вхідні дані позначені синіми «х», а початкові ваги нейронів – чорними «о».

Рисунок 3.3 –Лінійна ініціалізація карти Кохонена

Приклад ініціалізації карти Кохонена випадковими значеннями можна побачити на рисунку 6.4. Вхідні дані позначені синіми «х», а початкові ваги нейронів – чорними «о».

Рисунок 3.4 – Ініціалізація карти Кохонена випадковими значеннями

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]