Самоорганізаційна карта Кохонена ( — SOM) — нейронна мережа з некерованим навчанням, яка використовується для конструювання багатовимірного простору в простір з нижчою розмірністю (найчастіше, двовимірний). Створює дискретне представлення вхідних просторів навчальних вибірок, які називаються картою (), і тому використання цього типу нейронної мережі є методом для зниження розмірності. Самоорганізовані карти відрізняються від інших штучних нейронних мереж, оскільки вони застосовують конкурентне навчання, яке є протилежним до навчання з виправленням помилок (наприклад, метод зворотного поширення помилки з градієнтним спуском), і в тому сенсі, що вони використовують функцію сусідства для збереження топологічних властивостей вхідного простору.
Це робить самоорганізовані карти корисними для візуалізації шляхом створення маловимірних зображень багатовимірних даних, цей процес схожий на багатовимірне шкалювання. Штучна нейронна мережа, впроваджена фінським професором Теуво Кохоненом у 1980-х роках, іноді називають картою Кохонена або мережею Кохонена. Мережа Кохонена є зручною для обчислювання абстракцією, що ґрунтується на біологічних моделях нейронних систем з 1970-х років, та моделі морфогенезу, що були впроваджені ще Аланом Тюрінгом у 1950-х роках.
У той час як заведено вважати, що цей тип структури мережі пов'язана із мережею прямого поширення, вузли якої зображуються пов'язаними між собою, але тип архітектури самоорганізованої карти принципово відрізняється в аранжуванні та мотивації.
Корисні розширення цього типу нейронної мережі включають використання тороїдальних сіток, де протилежні ребра з'єднані та використовується велика кількість вузлів.
Показано, що самоорганізовані карти з невеликим числом вузлів поводяться подібно до кластеризації методом к–середніх, більші самоорганізовані карти візуалізують дані таким чином, що є принципово топологічним за характером.
Широко використовується . Значення U-матриці конкретного вузла — це середня відстань між ваговим вектором вузла та його найближчими сусідами. Наприклад, у квадратній сітці ми можемо розглядати найближчі 4 або 8 вузлів (окіл фон Неймана і Мура, відповідно) або шість вузлів у гексагональній сітці.
Великі карти показують нові властивості. У картах, що складаються із тисяч вузлів, можна виконувати кластерні операції на самій карті.
Структура та операції Як і більшість штучних нейронних мереж, самоорганізаційні карти працюють у двох режимах: навчання та відображення (). «Навчання» створює карту використовуючи вхідні приклади (конкурентний процес, або ), тоді як «відображення» автоматично класифікує новий вхідний вектор.
Видимою частиною самоорганізаційні карти є простір карти, який складається з компонентів, які називаються вузлами або нейронами. Простір карти визначається заздалегідь, як правило, як скінчення двовимірна область, де вузли розташовані у правильній гексагональній або прямокутній сітці. Кожен вузол пов'язаний з «ваговим» вектором, який є позицією у вхідному просторі; тобто, цей вектор має таку ж розмірність, що і кожний вхідний вектор. Хоча вузли в просторі карти залишаються фіксованими, тренування полягає в переміщенні векторів ваги у напрямку вхідних даних (зменшення метрики відстані) без псування топології, індукованої з простору карти. Таким чином, самоорганізаційна карта описує відображення () з багатовимірного вхідного простору до картографічного простору з меншою вимірністю. Після навчання карта може класифікувати вектор з вхідного простору, знаходячи вузол з найближчим (найменшою метричною відстанню) ваговим вектором до вхідного вектора простору.
Алгоритм навчання Метою навчання самоорганізаційної карти — змусити різні частини мережі давати однакову відповідь на певні вхідні шаблони. Це частково мотивується тим, як візуальна, слухова або інша сенсорна інформація обробляється в окремих частинах кори головного мозку людини.
Ваги нейронів ініціалізуються або малими випадковими значеннями, або рівномірно відбираються з підпростору, охопленого двома найбільшими власними векторами головних компонентів. В останньому варіанті навчання відбувається набагато швидше, оскільки початкові ваги вже дають гарну апроксимацію вагових коефіцієнтів.
У мережу повинна подаватися велика кількість прикладів векторів, що представляють види векторів, найточніше наскільки це можливо, очікуваних при відображенні. Приклади зазвичай застосовуються кілька разів як ітерації.
Навчання використовує конкурентне навчання. Коли навчальний приклад подається в мережу, обчислюється її евклідова відстань до всіх векторів ваги. Нейрон, чий ваговий вектор найбільш схожий на вхідний, називається найкращим вузлом відповідності (НВВ, ). Ваги цього вузла та нейронів, близьких до нього в сітці самоорганізаційної карти, коригуються до вхідного вектора. Величина зміни зменшується з часом та з відстанню сітки від найкращого вузла відповідності. Формула оновлення нейрона v з ваговим вектором Wv(s) має вигляд
,
де s — індекс кроку, t — індекс в навчальній вибірці, u — індекс НВВ для вхідного вектора , — коефіцієнт навчання, який монотонно зменшується; — функція сусідства, яка дає відстань між нейроном u і нейроном v на етапі s. Залежно від реалізації, t може сканувати набір навчальних даних, що систематично вибирається випадковим чином з набору даних (статистичний бутстреп), або реалізувати інший метод вибірки (наприклад, складано-ножева перевибірка). (t = 0, 1, 2,…,T-1, потім повторюється, T — розмір навчальної вибірки).
Функція сусідства залежить від відстані між найкращим вузлом відповідності (нейрон u) та нейрона v. У найпростішому випадку беруть 1 для всіх нейронів, достатньо близьких до НВВ, та 0 для інших, проте, натомість часто використовують функцію Гауса. Незалежно від функціональної форми, функція сусідства стискається з часом. На початку, коли сусідство є далеким, самоорганізація відбувається в глобальному масштабі. Коли окіл зменшується до декількох нейронів, ваги сходяться до локальних оцінок. У деяких реалізаціях коефіцієнт навчання та функція сусідства неухильно зменшуються зі збільшенням s, в інших випадках (зокрема, коли t сканує набір даних навчання) вони зменшуються покроково, один раз на кожні T кроків.
Цей процес повторюється для кожного вхідного вектора для (зазвичай великого) числа циклів . Мережа зав'язує вихідні вузли з групами або шаблонами у наборі вхідних даних. Якщо ці шаблони можна назвати, їх імена можуть бути прикріплені до відповідних вузлів в натренованій мережі.
Під час встановлення відповідностей буде один нейрон-переможець: нейрон, чий ваговий вектор лежить ближче до вхідного вектора. Його можна просто визначити обчисленням евклідової відстані між вхідним вектором та ваговим вектором.
В цій статті підкреслювалися вхідні дані як вектори, та слід зазначити, що будь-який вид об'єкта, який може бути представлений в цифровому форматі, який має відповідну міру відстані, пов'язану з ним, та в якому можливі необхідні операції для навчання, може бути використаний для побудови самоорганізаційної карти. Це можуть бути матриці, неперервні функції або навіть інші самоорганізаційні карти.
Змінні поточна ітерація, ліміт ітерацій, індекс цільового вхідного вектора даних у вхідній множині , вектор цільових вхідних даних, індекс вузла на карті, поточний вектор ваги вузла , індекс найкращого вузла відповідності на карті, функція сусідства, а також коефіцієнт навчання.
Алгоритм
Розташувати в довільному порядку вектори ваги вузла на карті Випадковим чином вибирати вхідний вектор Обійти кожен вузол на карті Використовуючи формулу евклідової відстані, для знаходження схожості між вхідним вектором і ваговим вектором вузла карти Запам'ятовуємо вузол, який має найменшу відстань (цей вузол є найкращим вузлом відповідності, BMU) Оновити вагові вектори вузлів в околі BMU (включаючи сам BMU) шляхом наближення їх до вхідного вектора
Збільшити та повторювати крок 2 поки
Або інший варіант алгоритму:
Розташувати в довільному порядку вектори ваги вузла на карті Обійти кожен вхідний вектор із набору вхідних даних Обійти кожен вузол на карті Використовуючи формулу евклідової відстані, для знаходження схожості між вхідним вектором і ваговим вектором вузла карти Запам'ятовуємо вузол, який має найменшу відстань (цей вузол є найкращим вузлом відповідності, BMU) Оновити вагові вектори вузлів в околі BMU (включаючи сам BMU) шляхом наближення їх до вхідного вектора
Збільшити та повторювати крок 2 поки
Ініціалізація самоорганізаційної карти Кохонена Вибір гарного початкового наближення є відомою проблемою для всіх ітераційних методів навчання нейронних мереж. КохоненT. Kohonen, Self-Organization and Associative Memory. Springer, Berlin, 1984. використовував випадкове ініціювання ваг самоорганізаційної карти. Останнім часом популярна ініціалізація основних компонентів, в якій ваги початкової карти вибираються з простору перших основних компонентів, завдяки точній відтворюваності результатів.A. Ciampi, Y. Lechevallier, Clustering large, multi-level data sets: An approach based on Kohonen self organizing maps, in D.A. Zighed, J. Komorowski, J. Zytkow (Eds.), PKDD 2000, Springer LNCS (LNAI), vol. 1910, pp. 353—358, 2000.
Ретельне порівняння підходу випадкової ініціації до ініціалізації головних компонентів для одновимірної самоорганізаційної карти (моделі основних кривих) показало, що переваги ініціалізації карти головного компонента не є універсальними. Найкращий метод ініціалізації залежить від геометрії конкретного набору даних. Ініціалізація основного компонента є кращою (в одиниці виміру), якщо головна крива, наближена до набору даних, може бути однозначно та лінійно спроектована на першу головну складову (квазілінійні множини). Однак для нелінійних наборів даних випадкове ініціювання краще.
Інтерпретація
Існує два способи інтерпретації самоорганізаційної карти Кохонена. Оскільки в фазі тренування ваги околиці всіх сусідів переміщуються в одному напрямку, подібні предмети мають тенденцію збуджувати сусідні нейрони. Таким чином, самоорганізаційна карта утворює семантичну карту, де схожі приклади зображаються близькими один до одного, а несхожі — протилежними. Це може бути візуалізовано U-матрицею (евклідова відстань між ваговими векторами сусідніх клітин) SOM..Ultsch, Alfred (2003); U*-Matrix: A tool to visualize clusters in high dimensional data, Department of Computer Science, University of Marburg, Technical Report Nr. 36:1-12Saadatdoost, Robab, Alex Tze Hiang Sim, and Jafarkarimi, Hosein. «Application of self organizing map for knowledge discovery based in higher education data.» Research and Innovation in Information Systems (ICRIIS), 2011 International Conference on. IEEE, 2011.
Інший спосіб полягає в тому, щоб вважати нейронні ваги як вказівники на вхідному просторі. Вони утворюють дискретну апроксимацію розподілу навчальних вибірок. Більше нейронів вказують на регіони з великою кількістю зразків для тренування та менше, де бракує зразків.
Самоорганізаційну карту можна вважати нелінійним узагальненням методу головних компонент (МГК).Yin, Hujun; Learning Nonlinear Principal Manifolds by Self-Organising Maps, in Gorban, Alexander N.; Kégl, Balázs; Wunsch, Donald C.; and Zinovyev, Andrei (Eds.); Principal Manifolds for Data Visualization and Dimension Reduction, Lecture Notes in Computer Science and Engineering (LNCSE), vol. 58, Berlin, Germany: Springer, 2008, Було показано що SOM має багато переваг, при використанні як штучних, так і реальних геофізичних даних над звичайними методами вилучення ознак, такими як емпіричні ортогональні функції (МЕОФ) або МГК.