Jądro idei i architektura
SOM jest warstwą pojedynczej warstwy neuronów ułożonych na ustalonej siatce — zazwyczaj prostokątnej lub sześciokątnej. Każdy neuron i nosi wektor wag wi, który istnieje w tym samym przestrzeniach jak dane wejściowe: jeśli dane wejściowe są 50-wymiarowe, każdy wektor wag każdego neuronu również jest 50-wymiarowy, mimo że same neurony zasiadają na płaskiej dwuwymiarowej siatce. Pozycja na siatce nigdy się nie zmienia — tylko wektory wag są uczone. Dwa rzeczy się simultaneously: wektory wag przemieszczają się, aby pokryć dane, jak w grupowaniu, podczas gdy ustalona siatka wprowadza topologię, która zmusza sasiednich neuronów do nauki podobnych rzeczy. Uczenieta siatka staje się niskowymiarową, zachowującą topologię reprezentacją zbioru danych o wysokiej wymiarowości — nieformalnie modelowaną na mapach kortyczowych mózgu, takich jak tonotopiczne mapy w kortex słuchowym, gdzie neuronów sasiednich odpowiada za podobne sygnały.
Uczestwowanie konkurencyjne i Najlepsza pasująca jednostka
Trening jest sterowany przez konkurencję. Dla każdego wektora wejściowego x, każda neuronowa ocenia, jak blisko jest jej wektor wag do wektora wejściowego, a najbardziej podobny neuron wygrywa — Najlepsza pasująca jednostka (NajLPJ):
c = argmin_i ‖x − w_i‖, ‖x − w_i‖ = √(Σ_j (x_j − w_ij)²) h_ci(t) = exp(−d(c,i)² / (2σ(t)²)) // funkcja sąsiedztwa gaussowskiego, zanika o czasie w_i(t+1) = w_i(t) + α(t)·h_ci(t)·(x(t) − w_i(t)) W prostym
c = argmin_i ‖x − w_i‖, ‖x − w_i‖ = √(Σ_j (x_j − w_ij)²) h_ci(t) = exp(−d(c,i)² / (2σ(t)²)) // Gaussian neighborhood, shrinks with time w_i(t+1) = w_i(t) + α(t)·h_ci(t)·(x(t) − w_i(t))
Algorytm treningowy, krok po kroku
Powtarzane dla wielu iteracji: inicjalizacja wektora wag każdego neuronu (losowo lub z głównych składowych dla szybszego zbiegania); prezentacja losowo wybranego wejścia x; znalezienie BMU — neuronu, którego wagi są najbliżej do x; aktualizacja BMU i jego sąsiadów w kierunku x; zmniejszenie stopnia uczenia α oraz promieni sąsiedztwa σ; powtórzenie aż do stabilizacji wag. Ponieważ każdy krok wymaga tylko obliczenia odległości i lokalnej aktualizacji, SOM skali się dobrze i jest proste w zaimplementowaniu, co jest częścią przyczyn jego popularności po latach od wprowadzenia.
Czytanie mapy nauczonej: macierz U
Po nauczeniu, SOM jest układem — ale jak widzieć klastry w nim? Standardowym narzędziem jest macierz U (unified distance matrix): dla każdego neuronu oblicza ona średnią odległość między wektorem wag danego neuronu a wektorami wag jego bezpośrednich sąsiadów siatkowych. Niska wartość U oznacza, że neuron jest podobny do swoich sąsiadów — wewnątrz klastra; wysoka wartość U oznacza duży skok w danych — granicę między klastrami. Przedstawiona jako mapa ciepła, macierz U pokazuje klastry jako niskie „waleczki” oddzielone wysokimi „górkami,” przekształcając abstrakcyjny, wielowymiarowy zestaw danych w czytelne mapy terenowe.
Zastosowania
SOMy są cenione w każdym miejscu, gdzie ważne jest eksploracyjne wizualizowanie skomplikowanych danych: wykrywanie dokumentów i tekstu (projekt WEBSOM Kohonena organiżował miliony dokumentów na dwuwymiarową mapę do przeglądania); bioinformatyka (klasterowanie profilów wyrażeń genowych); ekonomia ("mapa biedności świata", ustawianie krajów według indywidualnych wskaźników gospodarczych na jednej siatce); wykrywanie awarii (stan normowy mapowany do jednego obszaru, a odchylenia zanotowane w innym miejscu); oraz kwantyzacja kolorów (skompresowanie palety podczas zachowania relacji percepencyjnych). SOM jest jednocześnie metodą klasterowania, redukcji wymiarowości i wizualizacji — ta kombinacja jest przyczyną, dlaczego pozostaje ona na liście przedmiotów nauczania i narzędzi praktycznych po dekadach od opublikowania przez Kohonena.
Często zadawane pytania
Co sprawia, że mapa samorozumiany jest różna od normalnej sieci neuronowej?
Większość sieci neuronowych naucza się z etykietowanych przykładów przy użyciu backpropagacji. Mapa samorozumiana uczy się bez żadnych etykiet — bierze dane o wysokiej dimensji i rozkładuje je na siatkę o niskiej wymiarowości, zwykle 2D, tak aby podobne wektory wejściowe kończyły się blisko siebie. Uczenie jest napędzane wyłącznie przez konkurencję między neuronami, a nie przez minimalizację sygnału błędu etykietowanego.
Co to jest Najlepszy dopasowany neuron (BMU)?
Dla każdego wektora wejściowego x, każdy neuron pomierza odległość między swoim wektorem wag a x. Neuron najbliżej wygrywa — ten zwycięzca nazywany jest Najlepszym dopasowanym neuronem (BMU). W prostym uczeniu konkurencyjnym tylko BMU byłoby aktualizowane, ale kluczowym dodatkiem mapy samorozumianej jest to, że BMU i jego sąsiedzi na siatkach poruszają się w kierunku wektora wejściowego, co połącza mapę w uporządkowaną, zachowującą topologię siatkę.
Co pokazuje macierz U?
Macierz U (unified distance matrix) dla każdego neuronu oblicza średnią odległość między jego wektorem wag a wektorami wag jego bezpośrednich sąsiadów na siatce. Przedstawiona jako mapa ciepła pokazuje klastry jako niskie „waleczki” oddzielone wysokimi „górkami”, przekształcając abstrakcyjne, wysokiej wymiarowości zestaw danych w czytelny teren. Standardowa metoda do widoku struktury w treningowej mapie samorozumianej, a nie tylko jej obliczania.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Self-Organising Map (SOM) i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Self-Organising Map (SOM)