AI-For-Beginners/translations/it/lessons/3-NeuralNetworks/03-Perceptron
localizeflow[bot] 0a8996b7d7 chore(i18n): sync translations with latest source changes (final snapshot) 2026-01-30 01:46:13 +00:00
..
lab chore(i18n): sync translations with latest source changes (final snapshot) 2026-01-30 01:46:13 +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 (final snapshot) 2026-01-30 01:46:13 +00:00

README.md

Introduzione alle Reti Neurali: Perceptron

Quiz pre-lezione

Uno dei primi tentativi di implementare qualcosa di simile a una rete neurale moderna fu realizzato da Frank Rosenblatt del Cornell Aeronautical Laboratory nel 1957. Si trattava di un'implementazione hardware chiamata "Mark-1", progettata per riconoscere figure geometriche primitive, come triangoli, quadrati e cerchi.

Frank Rosenblatt Il Perceptron Mark 1

Immagini da Wikipedia

Un'immagine di input era rappresentata da una matrice di fotocellule 20x20, quindi la rete neurale aveva 400 ingressi e un'uscita binaria. Una rete semplice conteneva un solo neurone, chiamato anche threshold logic unit. I pesi della rete neurale funzionavano come potenziometri che richiedevano regolazioni manuali durante la fase di addestramento.

Un potenziometro è un dispositivo che consente all'utente di regolare la resistenza di un circuito.

Il New York Times scrisse del perceptron in quel periodo: l'embrione di un computer elettronico che [la Marina] si aspetta sarà in grado di camminare, parlare, vedere, scrivere, riprodursi e essere consapevole della propria esistenza.

Modello del Perceptron

Supponiamo di avere N caratteristiche nel nostro modello, nel qual caso il vettore di input sarebbe un vettore di dimensione N. Un perceptron è un modello di classificazione binaria, cioè può distinguere tra due classi di dati di input. Supponiamo che per ogni vettore di input x l'output del nostro perceptron sia +1 o -1, a seconda della classe. L'output sarà calcolato utilizzando la formula:

y(x) = f(wTx)

dove f è una funzione di attivazione a gradino

Addestramento del Perceptron

Per addestrare un perceptron, dobbiamo trovare un vettore di pesi w che classifichi correttamente la maggior parte dei valori, cioè che produca il minimo errore. Questo errore E è definito dal criterio del perceptron nel seguente modo:

E(w) = -∑wTxiti

dove:

  • la somma è calcolata sui punti di dati di addestramento i che risultano classificati in modo errato
  • xi è il dato di input, e ti è -1 o +1 per esempi negativi e positivi rispettivamente.

Questo criterio è considerato una funzione dei pesi w, e dobbiamo minimizzarlo. Spesso si utilizza un metodo chiamato discesa del gradiente, in cui si parte da un vettore di pesi iniziale w(0), e poi a ogni passo si aggiornano i pesi secondo la formula:

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

Qui η è il cosiddetto tasso di apprendimento, e ∇E(w) denota il gradiente di E. Dopo aver calcolato il gradiente, otteniamo:

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

L'algoritmo in Python appare così:

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

Conclusione

In questa lezione, hai imparato cos'è un perceptron, un modello di classificazione binaria, e come addestrarlo utilizzando un vettore di pesi.

🚀 Sfida

Se vuoi provare a costruire il tuo perceptron, prova questo laboratorio su Microsoft Learn che utilizza il designer di Azure ML.

Quiz post-lezione

Revisione e Studio Autonomo

Per vedere come possiamo utilizzare il perceptron per risolvere un problema semplice e problemi reali, e per continuare a imparare, vai al notebook Perceptron.

Ecco un interessante articolo sui perceptron.

Compito

In questa lezione, abbiamo implementato un perceptron per un compito di classificazione binaria e lo abbiamo utilizzato per classificare tra due cifre scritte a mano. In questo laboratorio, ti viene chiesto di risolvere completamente il problema della classificazione delle cifre, cioè determinare quale cifra corrisponde più probabilmente a una data immagine.