AI-For-Beginners/translations/pl/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] 33ce0e5757 chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00
Perceptron.ipynb 🌐 Update translations via Co-op Translator 2025-12-12 20:42:50 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 203 changes) 2026-01-30 01:54:20 +00:00

README.md

Wprowadzenie do sieci neuronowych: Perceptron

Quiz przed wykładem

Jednym z pierwszych prób stworzenia czegoś podobnego do współczesnej sieci neuronowej był projekt Franka Rosenblatta z Cornell Aeronautical Laboratory w 1957 roku. Była to implementacja sprzętowa nazwana "Mark-1", zaprojektowana do rozpoznawania prostych figur geometrycznych, takich jak trójkąty, kwadraty i koła.

Frank Rosenblatt The Mark 1 Perceptron

Obrazy z Wikipedii

Obraz wejściowy był reprezentowany przez matrycę fotokomórek o wymiarach 20x20, co oznaczało, że sieć neuronowa miała 400 wejść i jedno binarne wyjście. Prosta sieć zawierała jeden neuron, nazywany również jednostką logiczną progową. Wagi sieci neuronowej działały jak potencjometry, które wymagały ręcznego dostosowania podczas fazy treningowej.

Potencjometr to urządzenie, które pozwala użytkownikowi regulować opór w obwodzie.

The New York Times pisał o perceptronie w tamtym czasie: zarodek elektronicznego komputera, który [Marynarka Wojenna] oczekuje, że będzie mógł chodzić, mówić, widzieć, pisać, reprodukować się i być świadomy swojego istnienia.

Model perceptronu

Załóżmy, że mamy N cech w naszym modelu, w takim przypadku wektor wejściowy będzie miał rozmiar N. Perceptron to model klasyfikacji binarnej, czyli potrafi rozróżniać między dwoma klasami danych wejściowych. Zakładamy, że dla każdego wektora wejściowego x wyjście perceptronu będzie wynosić +1 lub -1, w zależności od klasy. Wyjście będzie obliczane według wzoru:

y(x) = f(wTx)

gdzie f to funkcja aktywacji typu schodkowego

Trenowanie perceptronu

Aby wytrenować perceptron, musimy znaleźć wektor wag w, który klasyfikuje większość wartości poprawnie, czyli prowadzi do najmniejszego błędu. Ten błąd E jest definiowany przez kryterium perceptronu w następujący sposób:

E(w) = -∑wTxiti

gdzie:

  • suma jest obliczana dla tych punktów danych treningowych i, które są błędnie klasyfikowane
  • xi to dane wejściowe, a ti wynosi -1 lub +1 dla odpowiednio negatywnych i pozytywnych przykładów.

To kryterium jest traktowane jako funkcja wag w, którą musimy zminimalizować. Często stosuje się metodę gradientu prostego, w której zaczynamy od początkowych wag w(0), a następnie na każdym kroku aktualizujemy wagi według wzoru:

w(t+1) = w(t) - η∇E(w)

Tutaj η to tak zwana szybkość uczenia, a ∇E(w) oznacza gradient funkcji E. Po obliczeniu gradientu otrzymujemy:

w(t+1) = w(t) + ∑ηxiti

Algorytm w Pythonie wygląda następująco:

def train(positive_examples, negative_examples, num_iterations = 100, eta = 1):

    weights = [0,0,0] # Initialize weights (almost randomly :)
        
    for i in range(num_iterations):
        pos = random.choice(positive_examples)
        neg = random.choice(negative_examples)

        z = np.dot(pos, weights) # compute perceptron output
        if z < 0: # positive example classified as negative
            weights = weights + eta*weights.shape

        z  = np.dot(neg, weights)
        if z >= 0: # negative example classified as positive
            weights = weights - eta*weights.shape

    return weights

Podsumowanie

W tej lekcji nauczyłeś się o perceptronie, który jest modelem klasyfikacji binarnej, oraz jak go trenować, używając wektora wag.

🚀 Wyzwanie

Jeśli chcesz spróbować zbudować własny perceptron, wypróbuj to laboratorium na Microsoft Learn, które korzysta z Azure ML designer.

Quiz po wykładzie

Przegląd i samodzielna nauka

Aby zobaczyć, jak można użyć perceptronu do rozwiązania prostego problemu oraz problemów z życia codziennego, i aby kontynuować naukę - przejdź do notatnika Perceptron.

Oto interesujący artykuł o perceptronach.

Zadanie

W tej lekcji zaimplementowaliśmy perceptron do zadania klasyfikacji binarnej i użyliśmy go do klasyfikacji dwóch cyfr pisanych ręcznie. W tym laboratorium masz za zadanie rozwiązać problem klasyfikacji cyfr w całości, czyli określić, która cyfra najprawdopodobniej odpowiada danemu obrazowi.