Klasyczny Perceptron

Wprowadzenie teoretyczne:
Perceptron

Perceptron to najprostsza architektura sztucznej sieci neuronowej. Został opracowany w 1957 roku przez Franka Rosenblatta. Stanowi matematyczny model pojedynczego neuronu biologicznego.

X1
X2
X3
Suma = Σ (W*X)
Wyj: 1

Wartości wejściowe mnożone są przez wagi i sumowane, co prowadzi do ostatecznej binarnej decyzji na wyjściu.

Inicjalizacja Klasy
(__init__)

Aby przetestować ten model matematyczny od podstaw, zbudujemy go korzystając z języka Python w formie obiektowej (OOP).

W0
W1
W2

Trzy wylosowane wartości początkowe (w tym bias W0), które w trakcie nauki ulegną odpowiedniej korekcie.

Proces predykcji
(predict)

Funkcja decyzyjna neuronu działa w oparciu o iloczyn skalarny wektora sygnałów oraz wektora wag.

Przekroczenie progu: 1

Potencjał sumy w tym wzorcu rośnie do momentu przekroczenia wartości zerowej, zwracając ostateczną aktywację binarną.

Trening Klasyfikatora
(fit)

Aby wagi dostosowały się do rzeczywistego środowiska zadania, inicjujemy pętlę uczenia nadzorowanego.

Kalkulacja Błędu
(Reguła uczenia)

Implementacja fundamentalnej zasady różnicowej na bazie korekt Hebbianowskich z logiką modyfikacji wag w zależności od popełnionego błędu klasyfikacji.

W: 0.12W: 0.52 !

Błąd predykcyjny spowodował modyfikację pierwotnego ułamka przestrzeni liniowej aby obniżyć lub zwiększyć istotność parametru sieci.

Ewaluacja Dokładności
(evaluate)

W celu weryfikacji rzetelności wytrenowanego wcześniej systemu decyzyjnego, podajemy nową próbę danych ewaluacyjnych bez dostarczania możliwości modyfikacji wag.

📈 Interaktywna Granica Decyzyjna (Perceptron)

Dopasuj wagi (W1, W2) i Bias, aby linia oddzieliła czerwone punkty od niebieskich.

Problemy Modelu Liniowego
(Bramka XOR)

Za pomocą perceptronu da się wymodelować bramki matematyczne z klasycznymi granicami cięcia (takie jak AND czy OR). Prawdziwym problemem dla prostej funkcji stała się nieresponsywność na bramkę Alternatywy Wykluczającej XOR.

0
0
1
1

Bezpośrednia, osamotniona linia percepcyjna nie potrafi odpowiednio przeciąć koordynatów na macierzy wyrysowanych XOR aby pozycjonować prawidłowo odpowiednią klasę.

Gotowe klasyfikatory
(Scikit-Learn)

Środowiska analityczne posługują się obecnie zoptymalizowanymi rozwiązaniami bibliotecznymi jak np. Scikit-Learn. Pozwala to na przyspieszone badania algorytmu bez koniczności pisania architektury w pętli operacyjnej własnoręcznie dla każdego przypadku.

Zbudowany Skrypt (Python): 19.0ms
Scikit-Learn (C++ Wrapper): 0.4ms

Zanotowana różnica czasu kompilacji dzięki ujęciu silnika matematycznego niższego poziomu na zasadzie interfejsu C powiązanego ze stosem Python.

Eksperyment Diagnostyczny
(Confusion Matrix)

Zaimportujemy złożony wielowymiarowy zbiór wariantów medycznych raka piersi i wytestujemy skuteczność zachowując wirtualną Macierz Błędu (Confusion Matrix).

TP / Czułość
(Znalezione Pozytywne: 41)
FP / Błąd 1 Rodz.
(Podniesiony Alarm Błędny: 5)
FN / Błąd 2 Rodz.
(Ominięte zagrożenie: 1)
TN / Specyficzność
(Prawidłowe zaprzeczenie: 67)

Pole "FN" generuje w przypadku medycyny najbardziej dotkliwy błąd ze względu na odesłanie chorego pacjenta w przeświadczeniu pełnego zdrowia przez system.

Interaktywny Model Perceptronu

Zaimportowaliśmy gotowe historyczne wagi prosto z wytrenowanego skryptu Python na podstawie prostego testu warunków wyjścia na przejażdżkę rowerem.

Wzór Oceny = Bias (-0.4100) + Łączne parametry aktywnych cech W[n].

Quiz końcowy

🎓 Sprawdź swoją wiedzę

Pytania z modułu. Wybierz poprawną odpowiedź.

1. Przykładowe pytanie?

Poprawna odpowiedź
Błędna odpowiedź