Головна Машинне навчання та Нейронні мережі Карта Кохонена (SOM)

🧠 Карта Кохонена (SOM)

Візуалізуйте, як карта Кохонена навчається представляти багатовимірні дані у двовимірній сітці.

Машинне навчання та Нейронні мережі2DСередній60 FPS
som-network ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Про цю симуляцію

Карта Кохонена, що самоорганізується (SOM), навчає 2D-сітку нейронів представляти вхідні дані вищої розмірності. Для кожного зразка знаходиться найкраще узгоджений нейрон (Best Matching Unit, BMU = argmin‖x−wᵢ‖), який притягується до вхідної точки разом із сусідніми нейронами, зваженими гаусіаном h = exp(−dᵢ²/2σ²), який звужується протягом навчання. Спостерігайте, як сітка розгортається, щоб відповідати гаусовим кластерам, кільцю, RGB-кубу кольорів або 4-вимірним даним типу iris.

🔬 Що це показує

Сітку нейронів, вектори ваг яких поступово самоорганізуються, відображаючи топологію обраного набору даних; переглядати можна або у вигляді сирих ваг (Weights), або як U-матрицю, що підсвічує межі кластерів.

🎮 Як користуватися

Установіть розмір сітки (Grid size), швидкість навчання η та радіус сусідства σ (Neighbourhood), оберіть Набір даних (Clusters, Ring, RGB Cube, Iris-like), перемикайтеся між вкладками Weights/U-Matrix, а потім натисніть ▶ Train або ↺ Reset.

💡 Чи знали ви?

Карти, що самоорганізуються, винайшов Теуво Кохонен у 1980-х роках, і вони й досі залишаються одним із небагатьох типів нейронних мереж, які створюють по-справжньому інтерпретовану 2D-карту — сусідні нейрони на сітці зрештою представляють схожі вхідні дані, тому SOM досі використовують для візуалізації даних високої розмірності.

Поширені запитання

Що насправді робить BMU (найкраще узгоджений нейрон)?

Для кожного навчального зразка мережа знаходить нейрон, вектор ваг якого найближчий до цього зразка (argmin‖x−wᵢ‖), і вважає його «переможцем» — саме цей нейрон і його сусіди притягуються до вхідної точки, що є основним кроком навчання алгоритму.

Чому радіус сусідства σ звужується протягом навчання, а не залишається фіксованим?

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

У чому різниця між переглядом Weights і переглядом U-Matrix?

Weights показує безпосередньо реальний навчений вектор кожного нейрона; U-Matrix натомість забарвлює кожен нейрон за його середньою відстанню до сусідніх нейронів, через що межі кластерів у даних проявляються як яскраві хребти, навіть коли самі ваги важко інтерпретувати напряму.

Чому похибка квантування (Quantization Error) зменшується в міру навчання?

Похибка квантування вимірює середню відстань між кожною точкою даних і її BMU. Коли нейрони розподіляються так, щоб краще покривати простір вхідних даних, ця середня відстань зменшується — падіння показника Quant. Error є найчіткішою ознакою того, що карта збігається.

Що вимірює показник Topo. Error, чого не показує Quant. Error?

Топологічна похибка перевіряє, чи є перший і другий найближчі нейрони для даного входу сусідами на сітці. Якщо вони розташовані далеко один від одного на сітці, попри схожість у просторі ваг, це означає, що карта «згорнулася» або втратила збереження топології — а саму лише Quant. Error це виявити неможливо.

Схожі симуляції