# Capitolo 10: Il neurone artificiale

Appunti di lezione di Tommaso C. per BIAR (Ingegneria Informatica e Automatica, Sapienza). Progetto indipendente, non ufficiale Sapienza.

- Materia: Programmazione Matematica
- Documento: C1
- Pagine: 8
- Aggiornato il: 2026-10-10
- Argomenti: Perceptron, Classificatore lineare, Addestramento, Funzione logistica, XOR e reti di neuroni
- Lettore: /programmazione-matematica/10
- PDF: /notes/programmazione-matematica/10.pdf?v=3a987c0618

> Testo estratto dal PDF compilato: le formule perdono l'impaginazione (apici, pedici, frazioni, matrici) e le figure mancano. Per una formula esatta, apri la pagina nel lettore. Un link come /programmazione-matematica/10?page=N apre la pagina N.

## Indice

- Il Perceptron (pagina 1)
- Un classificatore lineare (pagina 1)
- Addestrare un neurone (pagina 2)
- Una funzione di errore derivabile (pagina 2)
- Lo XOR e le reti di neuroni (pagina 3)
- Esercizi (pagina 5)
- Soluzioni (pagina 6)

## Pagina 1

[Apri nel lettore](/programmazione-matematica/10?page=3)

1 Il Perceptron Definizione – Perceptron Il Perceptron è il modello di neurone con ingressi x = (x1, . . . , xn), pesi v = (v1, . . . , vn) e soglia θ ∈ R, la cui uscita è F (x; v, θ) = G vTx − θ = G  nX i=1 vixi − θ  , dove G è la funzione di attivazione a gradino: G(t) = (1 se t ≥ 0, 0 se t < 0. Il modello imita il neurone biologico: riceve segnali da altri neuroni, ciascuno moltiplicato per un peso sinaptico, e si attiva quando la somma pesata raggiunge la soglia. Il neurone vale 1 (attivo) se P i vixi ≥ θ, 0 (inattivo) altrimenti. x1 x2 xn ... Σ v1 v2 vn −θ G vTx − θ F (x; v, θ) Il Perceptron: somma pesata degli ingressi, meno la soglia, passata attraverso il gradino G. 2 Un classificatore lineare Proposizione – Il neurone divide il piano con una retta Con n = 2 e (v1, v2)̸ = (0, 0), l’insieme {(x1, x2) ∈ R2 : v1x1 + v2x2 = θ} è una retta. Il neurone dà uscita 1 nel semipiano v1x1 + v2x2 ≥ θ e uscita 0 nel semipiano v1x1 + v2x2 < θ. Per questo il Perceptron è un classificatore lineare: separa gli ingressi in due classi con una superficie di separazione lineare, la retta per n = 2 e l’insieme {x ∈ Rn : vTx = θ} in generale. Pesi e soglia decidono dove sta la retta. Canale 1 · Prof. Marco Sciandrone 1

## Pagina 2

[Apri nel lettore](/programmazione-matematica/10?page=4)

Esempio – Pazienti a rischio Di ogni paziente si misurano due caratteristiche, pressione arteriosa x1 e fluidità del sangue x2: il paziente è un punto di R2. Dopo cinque anni si assegna l’etichetta 1 a chi ha avuto un evento ischemico e 0 agli altri. Una retta che separa i due gruppi permette di classificare un paziente nuovo dal semipiano in cui cade. x1 x2 v1x1 + v2x2 = θ + + + + + + uscita 1 uscita 0 Pazienti con etichetta 1 (croci) e 0 (cerchi): la retta lascia le croci nel semipiano dove il neurone vale 1. 3 Addestrare un neurone Definizione – Training set Il training set è un insieme di P coppie di dati T = (x(p), y(p)) : p = 1, . . . , P , dove x(p) ∈ Rn è il vettore delle caratteristiche e y(p) ∈ {0, 1} la sua etichetta nota. Addestrare il neurone significa scegliere v e θ in modo che classifichi correttamente i dati noti: F (x(p); v, θ) = y(p), p = 1, . . . , P. I dati (x(p), y(p)) sono parametri assegnati; le variabili sono i pesi e la soglia, n + 1 numeri. Le P equazioni si trasformano in un problema di minimo. Si misura l’errore sul campione p ep(v, θ) = F (x(p); v, θ) − y(p) , che è nullo solo se il neurone classifica bene x(p), e si somma su tutti i campioni: min v∈Rn, θ∈R PX p=1 ep(v, θ). Il problema si risolve con un algoritmo, come il metodo del gradiente (Capitolo 8), che usa le derivate della funzione da minimizzare. Canale 1 · Prof. Marco Sciandrone 2

## Pagina 3

[Apri nel lettore](/programmazione-matematica/10?page=5)

4 Una funzione di errore derivabile L’errore così scritto non è continuo. Fissato un campione con y(p) = 1, si guardi ep come funzione della soglia θ, con s = vTx(p): ep = (0 se θ ≤ s, 1 se θ > s. L’errore salta da 0 a 1 in θ = s, come il gradino G in 0. Un algoritmo che usa le derivate non si può applicare. Le due cause si correggono una alla volta. 1. Attivazione. Il gradino si sostituisce con la funzione logistica σ (definizione sotto), che ha andamento simile ma è continua e derivabile. 2. Errore. Il valore assoluto |t| non è derivabile in t = 0: si sostituisce con il quadrato t2, che come |t| è nullo solo per t = 0 e cresce con |t|. Definizione – Funzione logistica La funzione logistica è σ(t) = 1 1 + e−t , t ∈ R. σ è continua e derivabile su R, con valori in (0, 1), σ(0) = 1 2 , σ(t) → 0 per t → −∞ e σ(t) → 1 per t → +∞. t 1 1 2 G(t) σ(t) Il gradino G salta in 0; la logistica σ passa da 0 a 1 senza salti. Con queste due sostituzioni il neurone diventa F (x; v, θ) = σ(vTx − θ) e il problema di addestramento è min v∈Rn, θ∈R PX p=1  σ vTx(p) − θ − y(p) 2 La funzione da minimizzare è continua e derivabile rispetto a ciascun peso vi e alla soglia θ, tenendo fisse le altre variabili: un algoritmo con le derivate si può applicare. Canale 1 · Prof. Marco Sciandrone 3

## Pagina 4

[Apri nel lettore](/programmazione-matematica/10?page=6)

5 Lo XOR e le reti di neuroni Lo XOR (o esclusivo) assegna a due ingressi binari l’etichetta 1 se sono diversi e 0 se sono uguali: x1 x2 y 0 0 0 0 1 1 1 0 1 1 1 0 Proposizione – Un neurone non basta Non esistono v1, v2, θ tali che il Perceptron classifichi correttamente i quattro punti dello XOR. Dimostrazione Se esistessero, da G(t) = 1 ⇐⇒ t ≥ 0: 1. da (0, 0) 7 → 0: −θ < 0, cioè θ > 0; 2. da (1, 0) 7 → 1 e (0, 1) 7 → 1: v1 ≥ θ e v2 ≥ θ, quindi v1 + v2 − θ ≥ θ > 0; 3. da (1, 1) 7 → 0: v1 + v2 − θ < 0, contro il passo 2. □ In termini geometrici, nessuna retta lascia (0, 1) e (1, 0) da una parte e (0, 0) e (1, 1) dall’altra. Una rete di tre neuroni risolve il problema. I neuroni N1 e N2 ricevono x1, x2; le loro uscite z1, z2 sono gli ingressi del neurone N3, che dà l’uscita della rete: z1 = G x1 + x2 − 3 2 , z2 = G x1 + x2 − 1 2 , y = G −z1 + z2 − 1 2 . Per l’ingresso (0, 1): x1 + x2 = 1, quindi z1 = G(−1 2 ) = 0, z2 = G(1 2 ) = 1 e y = G(1 2 ) = 1. Gli altri tre ingressi sono l’Esercizio 1. Canale 1 · Prof. Marco Sciandrone 4

## Pagina 5

[Apri nel lettore](/programmazione-matematica/10?page=7)

x1 x2 N1 N2 N3 1 1 1 1 z1 −1 z2 1 y θ1 = 3 2 θ2 = 1 2 θ3 = 1 2 x1 x2 N2 N1 + + A sinistra la rete, con i pesi sulle frecce e le soglie. A destra le rette di N2 (x1 + x2 = 1 2 ) e di N1 (x1 + x2 = 3 2 ): la rete vale 1 nella striscia fra le due, dove stanno (0, 1) e (1, 0). I pesi e le soglie della rete sono 9 numeri, 3 per neurone. Qui sono stati scelti a mano; in pratica li sceglie l’addestramento, minimizzando come nella Sezione 4 una funzione di errore di 9 variabili sui dati dello XOR. Riepilogo • Perceptron: F (x; v, θ) = G(vTx − θ), con G(t) = 1 per t ≥ 0 e 0 per t < 0. • Classificatore lineare: uscita 1 nel semipiano v1x1 + v2x2 ≥ θ, 0 nell’altro. • Training set: T = {(x(p), y(p))}, con y(p) ∈ {0, 1}. • Addestramento: scegliere v, θ con F (x(p); v, θ) = y(p), minimizzando la somma degli errori. • Regolarità: il gradino e |t| rendono l’errore discontinuo o non derivabile. • Logistica: σ(t) = 1/(1 + e−t), continua e derivabile. • Errore derivabile: minv,θ P p  σ(vTx(p) − θ) − y(p)2. • XOR: un neurone non basta; una rete di tre neuroni (9 parametri) sì. 6 Esercizi Esercizio 1 – La rete dello XOR Verificare che la rete di tre neuroni della Sezione 5, z1 = G x1 + x2 − 3 2 , z2 = G x1 + x2 − 1 2 , y = G −z1 + z2 − 1 2 , dà l’uscita dello XOR sui quattro ingressi (0, 0), (0, 1), (1, 0), (1, 1). Soluzione a pagina 6 → Canale 1 · Prof. Marco Sciandrone 5

## Pagina 6

[Apri nel lettore](/programmazione-matematica/10?page=8)

7 Soluzioni Soluzione dell’Esercizio 1 – La rete dello XOR z1 e z2 dipendono solo da s = x1 + x2: z1 = 1 se e solo se s ≥ 3 2 , z2 = 1 se e solo se s ≥ 1 2 . (x1, x2) s z1 z2 −z1 + z2 − 1 2 y (0, 0) 0 0 0 −1 2 0 (0, 1) 1 0 1 1 2 1 (1, 0) 1 0 1 1 2 1 (1, 1) 2 1 1 −1 2 0 La colonna y coincide con l’etichetta dello XOR in tutti e quattro i casi. N1 vale 1 solo se entrambi gli ingressi sono 1, N2 se almeno uno lo è; N3 vale 1 quando N2 è attivo e N1 no. ← Torna all’Esercizio 1, pagina 5 Canale 1 · Prof. Marco Sciandrone 6
