🧠 Perceptron
Algorytm Rosenblatta z 1958 roku w akcji: każdy źle sklasyfikowany punkt przechyla wektor wag o w ← w + η·y·x. Prosta zbiega dla danych liniowo separowalnych — i słynnie zawodzi na XOR.
O tej symulacji
Ta symulacja trenuje perceptron — oryginalny algorytm uczenia pojedynczego sztucznego neuronu, opracowany przez Franka Rosenblatta — na żywo w Twojej przeglądarce, na punktach 2D, które wybierzesz sam lub wygenerujesz z gotowego zestawu. Przy każdym błędnie sklasyfikowanym punkcie wektor wag jest przesuwany według klasycznej reguły aktualizacji w ← w + η·y·x, b ← b + η·y, co lekko przechyla zieloną linię decyzyjną w·x + b = 0, przybliżając ją do rozdzielenia klasy niebieskiej (+1) i czerwonej (−1) — aż do zbieżności, albo, jak w przypadku XOR, nigdy.
🔬 Co pokazuje
Pojedynczy klasyfikator liniowy uczy się na własnych błędach — po jednym punkcie naraz. Płótno zabarwia płaszczyznę na niebiesko lub czerwono w zależności od tego, po której stronie bieżącej granicy decyzyjnej w·x + b = 0 przewidywana jest klasa pozytywna czy negatywna, żółta strzałka to aktualny wektor wag w na żywo, a mały wykres w rogu śledzi liczbę błędów na przebieg, dzięki czemu widać, jak liczba błędów spada do zera w miarę treningu — albo oscyluje w nieskończoność na danych nieseparowalnych.
🎮 Jak korzystać
Wybierz gotowy zestaw (Dwie gaussiany, Pas liniowy, XOR lub Koło w kwadracie) albo przełącz się na Custom i klikaj na płótnie, aby samodzielnie rozmieścić punkty + Positive / − Negative. Dostosuj współczynnik uczenia η (0,01–1,0) oraz Szybkość, następnie naciśnij Step, aby zastosować jedną aktualizację, lub Auto-run, aby trenować w sposób ciągły; Reset w zeruje wagi i obciążenie (bias), nie ruszając Twoich punktów. Panel statystyk pokazuje iterację, liczbę błędów na przebieg, łączną liczbę błędów, składowe wektora wag w₁/w₂, obciążenie b, margines oraz to, czy model osiągnął zbieżność (Converged).
💡 Czy wiesz, że?
Twierdzenie o zbieżności perceptronu gwarantuje, że jeśli dane są liniowo separowalne, ta sama reguła aktualizacji znajdzie linię rozdzielającą w skończonej liczbie kroków, niezależnie od początkowej inicjalizacji wag. Spróbuj jednak zestawu XOR — jego cztery punkty nie da się rozdzielić żadną pojedynczą prostą, więc perceptron będzie popełniał błędy i aktualizował wagi w nieskończoność, co historycznie było tym samym ograniczeniem, które zahamowało badania nad sieciami neuronowymi w latach 70., aż do pojawienia się sieci wielowarstwowych.
Najczęściej zadawane pytania
Czym jest perceptron?
Perceptron to najwcześniejszy trenowalny model pojedynczego sztucznego neuronu, wynaleziony przez Franka Rosenblatta w 1958 roku. Przyjmuje wektor wejściowy x, oblicza ważoną sumę w·x + b i zwraca +1, jeśli ta suma jest co najmniej równa zero, a −1 w przeciwnym razie, działając jako liniowy klasyfikator binarny. Jest koncepcyjnym przodkiem wielowarstwowych sieci neuronowych stosowanych we współczesnym uczeniu głębokim.
Jak faktycznie działa reguła uczenia perceptronu?
Algorytm przeszukuje punkty w poszukiwaniu takiego, który obecne wagi klasyfikują błędnie, czyli takiego, dla którego etykieta y i wynik w·x + b mają przeciwne znaki. Gdy taki punkt zostanie znaleziony, stosowana jest aktualizacja w ← w + η·y·x oraz b ← b + η·y, która bezpośrednio przesuwa granicę decyzyjną w stronę poprawnej klasyfikacji tego punktu. Powtarza się to, po jednym błędnie sklasyfikowanym punkcie naraz, aż wszystkie punkty zostaną poprawnie sklasyfikowane lub zostanie osiągnięty limit iteracji.
Co właściwie oznaczają wektor wag i linia decyzyjna?
Linia decyzyjna to zbiór punktów, dla których w·x + b = 0, rysowany przez symulację na zielono; wszystko po jednej stronie jest przewidywane jako +1, a wszystko po drugiej jako −1. Żółta strzałka to sam wektor wag w i zawsze jest prostopadła do linii decyzyjnej, wskazując kierunek najszybszego wzrostu wyniku w·x + b, czyli w stronę klasy pozytywnej.
Dlaczego perceptron zawodzi na zestawie XOR?
Dane typu XOR mają punkty pozytywne w dwóch przekątnie przeciwległych obszarach, a negatywne w pozostałych dwóch, więc żadna pojedyncza prosta nie jest w stanie rozdzielić klas niezależnie od ustawienia wag — to znane ograniczenie „separowalności liniowej”. Ponieważ perceptron może reprezentować tylko jedną prostą granicę decyzyjną, na tym zestawie w nieskończoność znajduje błędnie sklasyfikowane punkty, a wykres błędów na przebieg nigdy nie osiąga zera, w przeciwieństwie do separowalnych zestawów Gaussians czy Linear stripe.
Co oznacza tu „zbieżność” i dlaczego ma znaczenie?
Zbieżność oznacza, że obecne wagi poprawnie klasyfikują każdy punkt zbioru danych, więc pełne przeszukanie nie znajduje żadnego błędnie sklasyfikowanego punktu, a trening zatrzymuje się, gdy wskaźnik Converged przełącza się na YES. Twierdzenie o zbieżności perceptronu dowodzi, że musi to nastąpić w skończonej liczbie aktualizacji, gdy tylko dane są liniowo separowalne — to fundamentalny wynik teorii uczenia maszynowego, choć nic nie mówi o tym, jak duży będzie uzyskany margines między klasami.