37
Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali Lezione Lezione 5 5

Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Mercoledì, 10 Novembre 2004

Giuseppe Manco

References:Chapter 4, Mitchell

Chapter 1-2,4, HaykinChapter 1-4, Bishop

Reti Neurali

LezioneLezione 55

Page 2: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

OutlineOutline

• Perceptron Learning– Unità neurale– Gradiente Discendente

• Reti Multi-Layer– Funzioni nonlineari– Reti di funzioni nonlineari

• Backpropagation dell’errore– L’algoritmo backpropagation– problematiche

• Ottimi locali• Overfitting

Page 3: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

ModelliModelli ConnezionistiConnezionisti

• Il cervello umano– Tempo di switch di un neurone: ~ 0.001 (10-3) secondi– Numero di neuroni: ~10-100 miliardi (1010 – 1011)– connessioni per neurone: ~10-100.000 (104 – 105)– Tempo di classificazione: ~0.1 secondi

• Reti Neurali artificiali– “… a system composed of many simple processing elements operating in parallel

whose function is determined by network structure, connection strengths, and the processing performed at computing elements or nodes.” - DARPA (1988)

• Proprietà– Molti neuroni

– Molte interconnessioni pesate

– Computazione distribuita

– I pesi si costituiscono automaticamente

Page 4: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

RetiReti NeuraliNeurali

• Input: dati numerici di alta dimensionalità– Esempio: input da sensori– Rumore

• Output: nominale/Numerico/vettoriale– Funzione di forma ignota

• Risultato: leggibilità meno importante delle performances– Performance misurata in termini di accuratezza– Leggibilità: capacità di spiegare l’inferenza

• Esempi– Classificazione di immagini– Predizione finanziaria

Page 5: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

ReteRete neuraleneurale

– http://www.cs.cmu.edu/afs/cs/project/alv/member/www/projects/ALVINN.html

Page 6: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Riconoscimento di caratteriRiconoscimento di caratteri(Progetto)(Progetto)

•Dimensionalità

Page 7: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Le regioni di decisioneLe regioni di decisione

• Dato x, vogliamo trovare h(x) consistente con c(x)– h(x) può essere approssimata con una funzione lineare y

– y = 1: h(x) = +– y = 0: h(x) = -

– Qual è una possibile istanziazione di y?– generalizzazione?

+

-+

+

--

x1

x2

);( wxfy rr=

Page 8: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

• Perceptron: modello neuronale singolo– Input definito come una combinazione lineare

– Output: funzione di attivazione basata su una soglia sull’input (threshold θ = w0)∑=

=n

0iii xwnet

Il Il PerceptronPerceptron

x1

x2

xn

w1

w2

wn

Σ

x0 = 1w0

∑=

n

0iii xw

( )⎪⎩

⎪⎨

⎧>

= ∑=

altrimenti 1-

0 se 1 i

n

0ii

n21xw

xxxo ,, K

( ) ( )⎩⎨⎧ >⋅

==altrimenti 1-

0 se 1 xww ,xsgnxo

rrrrr

Page 9: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Le Le regioniregioni didi decisionedecisione

• Il perceptron può rappresentare alcune funzioni– Emulazione di porte logiche

– ESERCIZIO: Quali pesi rappresentano g(x1, x2) = AND(x1, x2)? OR(x1, x2)? NOT(x)?

• Alcune funzioni non sono rappresentabili– Non linearmente separabili

Esempio A

+

-+

+

--

x1

x2

+

+

Esempio B

-

-x1

x2

Page 10: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

PerceptronPerceptron LearningLearning

• Regola di learning del Perceptron (Rosenblatt, 1959)– Idea: un target può aggiornare I pesi in modo tale da produrre l’output desiderato

– dove t = c(x) è il valore di output atteso, o è il valore di output calcolato– η è il tasso di learning

ii

iii

o)x(t∆w∆www−=+←

η

Page 11: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

AlgoritmoAlgoritmo PerceptronPerceptron learninglearning

• Algorithm Train-Perceptron (D ≡ {<x, t(x) ≡ c(x)>})– inizializza tutti I pesi wi a valori random– WHILE non tutti i valori sono predetti correttamente DO

FOR EACH istanza x ∈ DCalcola l’output o(x)FOR i = 1 to n

wi ← wi + η(t - o)xi

Page 12: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

ConvergenzaConvergenza delldell’’algoritmoalgoritmo

• Teorema di convergenza– Se esiste un insieme di pesi consistente con i dati (cioè: I dati sono linearmente

separabili), l’algoritmo converge– Complessità computazionale– Regioni non linearmente separabili

– Se le regioni non sono linearmente separabili, l’algorimo entra in un loop infinito– Cicla sugli stessi pesi

Page 13: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

GradienteGradiente DiscendenteDiscendente::IdeaIdea

• Unità lineari– Consideriamo l’unità più semplice:

– Obiettivo: trovare il “migliore adattamento” a D

• Algoritmo di approssimazione– Minimizzare l’errore sul training set D– Funzione dell’errore: Somma dei quadrati (SSE)

• Come si minimizza?– Ottimizzazione semplice– Ci muoviamo in direzione del più ripido gradiente nello spazio pesi-errore

( ) ( ) ∑=

==n

0iii xwxnetxo

rr

[ ] [ ] ( ) ( )( )2Dx

D xoxt21werrorwE ∑

−==rr

Page 14: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Idea di fondoIdea di fondo• Vogliamo trovare una sequenza di pesi w(1), w(2), …, w(t) tali che

• Metodo:

• Giustificazione:– Sviluppo in serie di Taylor al primo ordine

– Sostituendo,

– Quando η è positivo, il secondo addendo è sempre negativo

[ ] [ ](t)wE1)(twErr

≤+

E-(t)w1)(tw ∇=+ ηrr

[ ] [ ] [ ]( )(t)w-w(t)wE(t)wEwErrrrr T∇+≈

[ ] [ ] [ ]( )[ ] [ ] 2

(t)wE(t)wE

(t)w-1)(tw(t)wE(t)wE1)(twErr

rrrrr

T

T

∇−=

+∇+≈+

η

Page 15: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

GradienteGradiente discendentediscendente: delta rule: delta rule

• Il gradiente

• Regola di learning

[ ] ⎥⎦

⎤⎢⎣

⎡∂∂

∂∂

∂∂

≡∇n10 w

E,,wE,

wEwE K

r

[ ]

( ) ( )( ) ( ) ( )( )

( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( )( )

( ) ( )( )( )[ ]∑

∑∑

∑∑

∈∈

∈∈

−−=∂∂

⎥⎦

⎤⎢⎣

⎡⋅−

∂∂

−=⎥⎦

⎤⎢⎣

⎡−

∂∂

−=

⎥⎦

⎤⎢⎣

⎡−

∂∂

=⎥⎦

⎤⎢⎣

⎡−

∂∂

=∂∂

∂∂

−=

∇−=

Dxi

i

Dx iDx i

Dx

2

iDx

2

ii

ii

xxoxtwE

xwxtw

xoxtxoxtw

xoxt221

xoxtw2

1xoxt21

wwE

wE∆w

wEw∆

rr

rr

η

η

Page 16: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

AlgoritmoAlgoritmo del del GradienteGradiente DiscendenteDiscendente

• Algorithm Gradient-Descent (D, r)– Ogni istanza ha la forma <x, t(x)>, dove x è il vettore di input e t(x) è il valore di

output. r è il tasso di learning (ad esempio, 0.05)– Inizializza i pesi wi a valori random– WHILE la condizione di terminazione non è soddisfatta, DO

Inizializza ogni ∆wi a 0FOR each <x, t(x)> in D, DO

Calcola o(x)FOR each wi, DO

∆wi ← ∆wi + r(t - o)xi

FOR each wi, DOwi ← wi + ∆wi

– RETURN w

Page 17: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

• Concetti Linearmente Separabili: classificazione ottimale– esempio A: Convergenza

• Concetti Non-LS: approssimazione– esempio B: non LS; la delta rule converge, ma non è ottimale– esempio C: non LS; buona generalizzazione

• Vettore w = somma dei x ∈ D misclassificati– Perceptron: minimizza w– Delta Rule: minimizza errore ≡ distanca dal separatore

Delta e Delta e PerceptronPerceptron RulesRules

Esempio A

+

-+

+

--

x1

x2

+

+

Esempio B

-

-x1

x2

Esempio C

x1

x2

++

+

++

++

++

+

+

++

-

-

--

--

-

--

-

--

-

--

- - -

Page 18: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Sommario: Sommario: PerceptronPerceptron LearningLearning

• Funzione di base:

– Classificazione binaria– Separabilità lineare

• Due estensioini: – K classi– Relazioni nonlineari

⎩⎨⎧

≤−>

=

+=

=

∑=

0 se10 se1

)sgn(

)sgn(

10

zz

z

wxwa

ayn

iii

Page 19: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

EstensioniEstensioni

• K classi

• Relazioni nonlineari0

10

)(

wWxa +=

+=

=

∑=

n

ikikik

kk

wxwa

agy

0

10

)(

)(

)(

wxWφa +=

+=

=

∑=

n

ikikik

kk

wxwa

agy

φ

Page 20: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

• Unità nonlineari– Funzione d’attivazione (originaria): sgn (w • x)– Attivazione nonlinare: generalizzazione di sgn

• Reti Multi-Layer– Multi-Layer Perceptrons (MLPs)– Una rete multi-layer feedforward è composta da uno strato di input, uno strato

intermedio (nascosto) e uno strato di output– Gli strati di output è intermedi sono perceptrons (unità nonlineari)

• MLPs in teoria– Le reti (di 2 or o più strati) possono rappresentare qualsiasi funzione

• MLPs in pratica– Trovare la topologia “giusta” è difficoltoso– La fase di training è molto dispendiosa

RetiReti MultiMulti--LayerLayer

x1 x2 x3Input Layeru 11

h1 h2 h3 h4Hidden Layer

o1 o2 v42

Output Layer

Page 21: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

• Funzione sigmoidale– Funzione di attivazione a threshold: sgn (w • x)

– Funzione nonlineare: generalizzazione di sgn

– σ è la funzione sigmoidale

– utile per ottenere l’update dal gradiente per

• Una unità

• Reti Multi-layer

• Funzione iperbolica

FunzioniFunzioni didi attivazioneattivazione nonlinearinonlineari

x1

x2

xn

w1

w2

wn

Σ

x0 = 1w0

xwxwnetn

0iii

rr•==∑

=

( ) ( ) ( )netσwxσxo =•=rrr

( ) netenetσ −+

=1

1

( ) ( )( ) netnet

netnet

eeee

netnetnetσ −

+−

==coshsinh

Page 22: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Reti Reti FeedFeed--ForwardForward

=

=

+=

=

+=

+=

=

n

ikijij

jj

m

jkjkjk

a

kk

wxwb

bgz

vzva

eag

agy

10

10

)(

11)(

)(

x

W

z

V

y

Page 23: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Addestramento di Addestramento di FFNNsFFNNs: : BackpropagationBackpropagation

• Obiettivo: minimizzazione dell’errore

• Utilizzando

• Dobbiamo calcolare

∑∑==

=−=c

kk

c

kkk eytE

1

2

1

2

21)(

21

nmmcuwE

wE

wEE

u

×+×=

⎥⎦

⎤⎢⎣

⎡∂∂

∂∂

∂∂

=∇ ,...,,][21

w

hwE

∂∂

Page 24: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

BackpropagationBackpropagation (2)(2)

• Per un peso di output,

• otteniamo:

ji

j

j

j

j

j

jji va

ay

ye

eE

vE

∂×

∂×

∂×

∂∂

=∂∂

iji

j

jjjj

j

zva

agagagay

=∂

−=′=∂

∂))(1)(()(

1−=∂

=∂∂

j

j

jj

ye

eeE

Page 25: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

BackpropagationBackpropagation (3)(3)

• riassumendo:

• Regola di aggiustamento:

)( jjj

ijji

age

zvE

′=

−=∂∂

δ

δ

ijji zv ηδ−=∆

Page 26: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

BackpropagationBackpropagation (4)(4)

• Su un peso interno,

• otteniamo: j

k

k

kc

kk

j

kc

kk

j

ji

j

j

j

jji

za

aee

zee

zE

wb

bz

zE

wE

∂∂

×∂∂

=∂∂

=∂∂

∂×

∂×

∂∂

=∂∂

∑∑== 11

iji

j

jjjj

j

xwb

bgbgbgbz

=∂

−=′=∂

∂))(1)(()(

kjj

k

kk

k

vza

agae

=∂∂

′−=∂∂ )(

Page 27: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

BackpropagationBackpropagation (5)(5)

• riassumendo:

• Regola di aggiustamento:

∑=

′=

−=∂∂

c

kkjkjj

ijji

vbg

xwE

1)( δδ

δ

ijji xw ηδ−=∆

Page 28: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

AlgoritmoAlgoritmo BackpropagationBackpropagation

x1 x2 x3Input Layerw 11

h1 h2 h3 h4Hidden Layer

o1 o2 v42

Output Layer

• Idea: Riportiamo l’effetto dell’errore ai layers successivi• Algorithm Train-by-Backprop (D, r)

– Ogni istanza ha la forma <x, t(x)>, dove x è il vettore di input e t(x) è il valore dioutput. r è il tasso di learning (ad esempio, 0.05)

– Inizializza tutti i wi a valori random– UNTIL la condizione di terminazione non è ottenuta, DO

FOR EACH <x, t(x)> in D, DOcalcola o(x) = σ(net(x))

FOR EACH unità k di output, DO

FOR EACH unità j interna, DO

Aggiorna ogni w = wi,j (a = xj) o w = vj,k (a = zk) wstart-layer, end-layer ← wstart-layer, end-layer + ∆ wstart-layer, end-layer

∆wstart-layer, end-layer ← ηδend-layer aend-layer

– RETURN w, v

∑=

′=c

kkjkjj vbg

1)( δδ

)( jjj age ′=δ

Page 29: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

ProprietProprietàà

• Gradiente Discendente– Trova un ottimo locale

• Backprop in pratica– Tipicamente, si tende ad include il momento α

– Quanto generalizza su altri esempi?

– La fase di training è molto lenta: migliaia di iterazioni (epoche)

– Inferenza (applicazione della rete) estremamente veloce

( ) ( )1α∆δ∆ −+= nwa nw layer-end layer,-startlayer-endlayer-endlayer-end layer,-start η

Page 30: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

Potere di rappresentazionePotere di rappresentazione

x1 x2

x1 x2

x1 x2

Page 31: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

PoterePotere didi rappresentazionerappresentazione

• Representational (i.e., Expressive) Power– 2-layer feedforward ANN

• Funzioni booleane• Ogni funzione continua limitata

– 3-layer feedforward ANN: Qualsiasi funzione• Inductive Bias

– Spazio delle ipotesi continuo– Spazio euclideo n-dimensionale (spazio dei pesi)

– Preference bias: “interpolazione” tra gli esempi positivi– Non ancora compreso a fondo

Page 32: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

• Unità interne e Feature Extraction– I valori interni rappresentano le proprietà essenziali dell’input

• esempio

Learning Hidden Layer RepresentationsLearning Hidden Layer Representations

Input Hidden Values Output1 0 0 0 0 0 0 0 → → 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 → → 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 → → 0 0 1 0 0 0 0 00 0 0 1 0 0 0 0 → → 0 0 0 1 0 0 0 00 0 0 0 1 0 0 0 → → 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0 → → 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 → → 0 0 0 0 0 0 1 00 0 0 0 0 0 0 1 → → 0 0 0 0 0 0 0 1

Input Hidden Values Output1 0 0 0 0 0 0 0 → 0.89 0.04 0.08 → 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 → 0.01 0.11 0.88 → 0 1 0 0 0 0 0 00 0 1 0 0 0 0 0 → 0.01 0.97 0.27 → 0 0 1 0 0 0 0 00 0 0 1 0 0 0 0 → 0.99 0.97 0.71 → 0 0 0 1 0 0 0 00 0 0 0 1 0 0 0 → 0.03 0.05 0.02 → 0 0 0 0 1 0 0 00 0 0 0 0 1 0 0 → 0.22 0.99 0.99 → 0 0 0 0 0 1 0 00 0 0 0 0 0 1 0 → 0.80 0.01 0.98 → 0 0 0 0 0 0 1 00 0 0 0 0 0 0 1 → 0.60 0.94 0.01 → 0 0 0 0 0 0 0 1

Page 33: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

EvoluzioneEvoluzione delldell’’erroreerrore e e deidei nodinodi interniinterni

errorD(ok)

zj(01000000), 1 ≤ j ≤ 3

Page 34: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

– w0 converge a 0

– Cambiamneti dopo le prime 1000 epoche

EvoluzioneEvoluzione deidei pesipesi

ui1, 1 ≤ i ≤ 8

Page 35: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

OverfittingOverfitting

• Overfitting– h’peggio di h su Dtrain, meglio su Dtest

• Overtraining– Overfitting dovuto a troppe iterazioni

Page 36: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

OverfittingOverfitting

• Altre possibili cause– Il numero di nodi interni è fissato– Troppo pochi (“underfitting”)

• La rete non riesce a riassumere• Analogia: sistemi di equazioni non

determinati (troppe variabili rispettoalle equazioni)

– Troppi• La rete non generalizza• analogia: approssimare una parabola

con un polinomio di grado >> 2

• Approcci– Prevenzione: selezione degli attributi– aggiramento

• Hold out o k-fold cross-validation• Weight decay: degrementiamo ogni

peso di un certo fattore ad ogni epoca– recovery: aggiunta o cancellazione di unità

interne

Page 37: Lezione 5 Reti Neurali - CNRstaff.icar.cnr.it/manco/Teaching/2005/datamining/lezioni/lezione6.pdf · Reti Neurali Algoritmo Backpropagation Input Layer x 1 x 2 x 3 w 11 Hidden Layer

Reti Neurali

ProgettoProgetto::RetiReti per per ilil riconoscimentoriconoscimento faccialefacciale

30 x 32 Inputs

sinistra fronte destra su