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

README.md

Introducere în Rețele Neuronale: Perceptron

Chestionar înainte de lecție

Una dintre primele încercări de a implementa ceva similar cu o rețea neuronală modernă a fost realizată de Frank Rosenblatt de la Cornell Aeronautical Laboratory în 1957. A fost o implementare hardware numită "Mark-1", concepută pentru a recunoaște figuri geometrice primitive, cum ar fi triunghiuri, pătrate și cercuri.

Frank Rosenblatt The Mark 1 Perceptron

Imagini de pe Wikipedia

O imagine de intrare era reprezentată de o matrice de fotocelule de 20x20, astfel încât rețeaua neuronală avea 400 de intrări și o ieșire binară. O rețea simplă conținea un singur neuron, numit și unitate logică de prag. Greutățile rețelei neuronale funcționau ca potențiometre care necesitau ajustare manuală în timpul fazei de antrenare.

Un potențiometru este un dispozitiv care permite utilizatorului să ajusteze rezistența unui circuit.

The New York Times a scris despre perceptron la acea vreme: embrionul unui computer electronic pe care [Marina] se așteaptă să fie capabil să meargă, să vorbească, să vadă, să scrie, să se reproducă și să fie conștient de propria existență.

Modelul Perceptron

Să presupunem că avem N caracteristici în modelul nostru, caz în care vectorul de intrare ar fi un vector de dimensiune N. Un perceptron este un model de clasificare binară, adică poate distinge între două clase de date de intrare. Vom presupune că pentru fiecare vector de intrare x, ieșirea perceptronului nostru va fi fie +1, fie -1, în funcție de clasă. Ieșirea va fi calculată folosind formula:

y(x) = f(wTx)

unde f este o funcție de activare de tip treaptă.

Antrenarea Perceptronului

Pentru a antrena un perceptron, trebuie să găsim un vector de greutăți w care clasifică corect majoritatea valorilor, adică rezultă în cea mai mică eroare. Această eroare E este definită prin criteriul perceptronului în următorul mod:

E(w) = -∑wTxiti

unde:

  • suma este luată pentru acele puncte de date de antrenament i care duc la clasificarea greșită
  • xi este datele de intrare, iar ti este fie -1, fie +1 pentru exemplele negative și pozitive, respectiv.

Acest criteriu este considerat ca o funcție a greutăților w, și trebuie să îl minimizăm. Adesea, se folosește o metodă numită descendentă pe gradient, în care începem cu niște greutăți inițiale w(0), și apoi la fiecare pas actualizăm greutățile conform formulei:

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

Aici η este așa-numita rată de învățare, iar ∇E(w) denotă gradientul lui E. După ce calculăm gradientul, ajungem la:

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

Algoritmul în Python arată astfel:

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

Concluzie

În această lecție, ai învățat despre perceptron, care este un model de clasificare binară, și cum să îl antrenezi folosind un vector de greutăți.

🚀 Provocare

Dacă dorești să încerci să construiești propriul perceptron, încearcă acest laborator pe Microsoft Learn, care folosește Azure ML designer.

Chestionar după lecție

Recapitulare & Studiu Individual

Pentru a vedea cum putem folosi perceptronul pentru a rezolva o problemă simplă, precum și probleme din viața reală, și pentru a continua să înveți - accesează notebook-ul Perceptron.

Iată un articol interesant despre perceptroni.

Temă

În această lecție, am implementat un perceptron pentru o sarcină de clasificare binară și l-am folosit pentru a clasifica între două cifre scrise de mână. În acest laborator, ți se cere să rezolvi problema clasificării cifrelor în întregime, adică să determini care cifră corespunde cel mai probabil unei imagini date.