Strona główna Uczenie Maszynowe Mapa samoorganizująca się (SOM)

🧠 Mapa samoorganizująca się (SOM)

Zobacz, jak mapa samoorganizująca się uczy się reprezentować dane wielowymiarowe na dwuwymiarowej siatce.

Uczenie Maszynowe2DŚredni60 FPS
som-network ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Mapa samoorganizująca się Kohonena trenuje dwuwymiarową siatkę neuronów, aby reprezentowała dane wejściowe o wyższej wymiarowości. Dla każdej próbki wyznaczana jest jednostka najlepiej dopasowana (Best Matching Unit, BMU = argmin‖x−wᵢ‖) i przyciągana w stronę danych wejściowych wraz z sąsiadami, ważonymi funkcją Gaussa h = exp(−dᵢ²/2σ²), która maleje w trakcie treningu. Obserwuj, jak siatka rozwija się, dopasowując się do skupień gaussowskich, pierścienia, sześcianu kolorów RGB lub czterowymiarowych danych podobnych do zbioru Iris.

🔬 Co pokazuje

Siatkę neuronów, których wektory wag stopniowo samoorganizują się, odzwierciedlając topologię wybranego zbioru danych; można ją oglądać jako surowe wagi (Weights) lub jako macierz U (U-Matrix), która uwidacznia granice skupień.

🎮 Jak korzystać

Ustaw rozmiar siatki Grid size, tempo uczenia η (Learning rate) oraz promień sąsiedztwa σ (Neighbourhood), wybierz zbiór danych Dataset (Clusters, Ring, RGB Cube, Iris-like), przełączaj się między zakładkami Weights/U-Matrix, a następnie naciśnij ▶ Train lub ↺ Reset.

💡 Czy wiesz, że?

Mapy SOM zostały wynalezione przez Teuvo Kohonena w latach 80. XX wieku i pozostają jednym z niewielu typów sieci neuronowych, które tworzą naprawdę interpretowalną mapę 2D — sąsiadujące na siatce neurony reprezentują podobne dane wejściowe, dlatego wciąż są wykorzystywane do wizualizacji danych wielowymiarowych.

Najczęściej zadawane pytania

Czym właściwie jest BMU (Best Matching Unit) i co robi?

Dla każdej próbki treningowej sieć znajduje neuron, którego wektor wag jest najbliższy tej próbce (argmin‖x−wᵢ‖), i traktuje go jako „zwycięzcę” — ten neuron oraz jego sąsiedzi są przyciągani w stronę danych wejściowych, co stanowi podstawowy krok uczenia w tym algorytmie.

Dlaczego promień sąsiedztwa σ maleje w trakcie treningu, zamiast pozostawać stały?

Duże σ na początku pozwala całym obszarom siatki poruszać się razem, aby z grubsza rozłożyć się w przestrzeni danych; zmniejszające się później σ pozwala poszczególnym neuronom dostroić się do lokalnego sąsiedztwa, co jest niezbędne zarówno dla globalnego uporządkowania, jak i lokalnej dokładności.

Czym różni się widok wag (Weights) od widoku macierzy U (U-Matrix)?

Weights pokazuje bezpośrednio rzeczywisty, wyuczony wektor każdego neuronu; U-Matrix natomiast koloruje każdy neuron na podstawie jego średniej odległości od sąsiednich neuronów, dzięki czemu granice skupień w danych pojawiają się jako jasne grzbiety, nawet gdy surowe wagi są trudne do interpretacji.

Dlaczego błąd kwantyzacji (Quantization Error) maleje w miarę postępu treningu?

Błąd kwantyzacji mierzy średnią odległość między każdym punktem danych a jego BMU. W miarę jak neurony rozkładają się, by lepiej pokryć przestrzeń danych wejściowych, ta średnia odległość maleje — spadający wskaźnik Quant. Error jest najwyraźniejszym sygnałem, że mapa się stabilizuje.

Co mierzy statystyka błędu topologicznego (Topo. Error), czego nie mierzy Quant. Error?

Błąd topologiczny sprawdza, czy pierwszy i drugi najbliższy neuron dla danego wejścia są sąsiadami na siatce. Jeśli są od siebie daleko na siatce mimo podobieństwa w przestrzeni wag, oznacza to, że mapa się „załamała” lub utraciła zachowanie topologii — czego sam Quant. Error nie jest w stanie wykryć.

Podobne symulacje