AI-For-Beginners/translations/sk/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] 3c760d21ff chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:29:36 +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, 201 changes) 2026-01-30 02:29:36 +00:00

README.md

Úvod do neurónových sietí: Perceptron

Kvíz pred prednáškou

Jedným z prvých pokusov o implementáciu niečoho podobného moderným neurónovým sieťam bol projekt Franka Rosenblatta z Cornell Aeronautical Laboratory v roku 1957. Išlo o hardvérovú implementáciu nazvanú "Mark-1", ktorá bola navrhnutá na rozpoznávanie primitívnych geometrických tvarov, ako sú trojuholníky, štvorce a kruhy.

Frank Rosenblatt The Mark 1 Perceptron

Obrázky z Wikipédie

Vstupný obraz bol reprezentovaný mriežkou 20x20 fotobuniek, takže neurónová sieť mala 400 vstupov a jeden binárny výstup. Jednoduchá sieť obsahovala jeden neurón, nazývaný tiež jednotka logického prahu. Váhy neurónovej siete fungovali ako potenciometre, ktoré bolo potrebné manuálne nastaviť počas fázy učenia.

Potenciometer je zariadenie, ktoré umožňuje používateľovi nastaviť odpor v obvode.

New York Times v tom čase napísali o perceptrone: embryo elektronického počítača, od ktorého [Námorníctvo] očakáva, že bude schopné chodiť, rozprávať, vidieť, písať, reprodukovať sa a byť si vedomé svojej existencie.

Model perceptronu

Predpokladajme, že máme N vlastností v našom modeli, v takom prípade by vstupný vektor mal veľkosť N. Perceptron je model binárnej klasifikácie, t.j. dokáže rozlišovať medzi dvoma triedami vstupných údajov. Predpokladáme, že pre každý vstupný vektor x bude výstup nášho perceptronu buď +1 alebo -1, v závislosti od triedy. Výstup sa vypočíta pomocou vzorca:

y(x) = f(wTx)

kde f je aktivačná funkcia typu krok.

Tréning perceptronu

Na tréning perceptronu potrebujeme nájsť vektor váh w, ktorý klasifikuje väčšinu hodnôt správne, t.j. vedie k najmenšej chybe. Táto chyba E je definovaná kritériom perceptronu nasledovne:

E(w) = -∑wTxiti

kde:

  • súčet sa berie na tých tréningových dátových bodoch i, ktoré vedú k nesprávnej klasifikácii
  • xi je vstupný údaj a ti je buď -1 alebo +1 pre negatívne a pozitívne príklady.

Toto kritérium sa považuje za funkciu váh w, ktorú potrebujeme minimalizovať. Často sa používa metóda nazývaná gradientný zostup, pri ktorej začíname s počiatočnými váhami w(0) a potom v každom kroku aktualizujeme váhy podľa vzorca:

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

Tu η je tzv. rýchlosť učenia a ∇E(w) označuje gradient E. Po výpočte gradientu dostaneme:

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

Algoritmus v Pythone vyzerá takto:

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

Záver

V tejto lekcii ste sa naučili o perceptrone, ktorý je modelom binárnej klasifikácie, a ako ho trénovať pomocou vektora váh.

🚀 Výzva

Ak si chcete vyskúšať vytvoriť vlastný perceptron, skúste tento lab na Microsoft Learn, ktorý používa Azure ML designer.

Kvíz po prednáške

Prehľad a samostatné štúdium

Ak chcete vidieť, ako môžeme použiť perceptron na riešenie jednoduchého problému, ako aj reálnych problémov, a pokračovať v učení, prejdite na Perceptron notebook.

Tu je zaujímavý článok o perceptronoch.

Úloha

V tejto lekcii sme implementovali perceptron pre úlohu binárnej klasifikácie a použili sme ho na klasifikáciu medzi dvoma ručne písanými číslicami. V tomto laboratóriu máte za úlohu vyriešiť problém klasifikácie číslic úplne, t.j. určiť, ktorá číslica najpravdepodobnejšie zodpovedá danému obrázku.