In questa lezione vedremo:
E= (1/2) ∑ n ∑ k [yk(xn,w) -tkn]2
Somma dei quadrati
Come possibile funzione di errore abbiamo introdotto la somma dei quadrati:
E= (1/2) ∑ n ∑ k [yk(xn,w) -tkn]2
Ma perché minimizzare tale funzione di errore ci assicura di ottenere un buon insieme di parametri della rete?
Somma dei quadrati
Tale funzione di errore derivate dal principio di massima verosimiglianza.
Principio di massima verosimiglianza: dato un training set {xn,tn}, estratto da una data funzione h(x), vogliamo massimizzare la probabilità di avere proprio tale training set nel caso in cui al posto della funzione h(x) mettiamo un funzione modello y(xn,w) (la nostra rete neurale).
Naturalmente variare, e quindi massimizzare, tale probabilità significa variare i parametri del modello (i pesi e i bias della rete).
Somma dei quadrati
Estratto un training set, allora, quale è la sua verosimiglianza?
La verosimiglianza, ℒ, del training set può essere scritta nel seguente modo:
Sia p(x,t) la la densità di probabilità di avere la coppia di valori (x,t) allora la verosimiglianza del training set è data da:
ℒ =Πnp(xn,tn)
Ricordo che la probabilità di avere x appartenente ad un dato sottoinsieme X, x ∈X, e t appartenente ad un dato sottoinsieme T, t ∈T, è data da:
P(x ∈X,t _T)= ∫x ∈X ∫ t ∈T p(x,t) dx dt
Somma dei quadrati
Dato, allora
ℒ=Πnp(xn,tn)
E assumendo che i punti (xn,tn) siano indipendenti si ottiene
ℒ =Πnp(xn,tn)= Πnp(tn/xn) p(xn)
Dato che vogliamo massimizzare la probabilità di avere il training set dato, possiamo equivalenetemente minimizzare la seguente funzione:
E=-ln ℒ
Somma dei quadrati
La funzione E=-ln ℒ è allora la nostra funzione di errore da minimizzare
Tale funzione di errore può essere suddivisa in due termini, infatti:
E=-ln ℒ=-lnΠnp(tn/xn) p(xn) da qui
E= -∑ n ln p(tn/xn) p(xn) da qui
E= -∑ n ln p(tn/xn) – ∑ n ln p(xn)
Ottenendo così E come somma di da due termini E’ = -∑ n ln p(tn/xn) ed E” = – ∑ n ln p(xn)
Somma dei quadrati
Dato E come somma dei due termini E’ = -∑ n ln p(tn/xn) ed E” = – ∑ n ln p(xn), osserviamo che:
Il secondo termine non dipende dai parametri della rete (cioè indipendentemente dalla scelta dei parametri w di y(xn,w) la densità di probabilità a priori di x sarà sempre la stessa).
Quindi possiamo minimizzare solo la funzione
E=-∑ n ln p(tn/xn)
dove abbiamo rinominato E’ con E.
Somma dei quadrati
Supponendo che le componenti del vettore tn=(tkn,tkn, …,tcn) siano tutte variabili statisticamente indipendenti, ancora possiamo scrivere:
E=-∑ n ln p(tn/xn) = -∑ n ln Πk p(tkn/xn)= -∑ n ∑ k ln p(tkn/xn)
Quindi risulta:
E=-∑ n ∑ k ln p(tkn/xn)
Somma dei quadrati
Soffermiamoci, prima di andare avanti, su quale è la “distribuzioni” delle variabili target.
Ciascuna variabile target può essere scritta come
Assumendo che εk abbia una distribuzione normale, possiamo scrivere
p(εk)= exp(-εk2/2σ2)/(√2πσ)
Somma dei quadrati
Dal considerare p(εk)= exp(-εk2/2σ2)/(√2πσ), allora anche la variabile tk assumerà una distribuzione gaussiana con centro hk(x) e deviazione standard σ.
Possiamo scrivere, allora, che
p(tkn/xn)= exp(-[yk(xn,w) -tkn]2/2σ2)/(√2πσ)
dove abbiamo sostituito hk(x) con il suo modello yk(xn,w)
Somma dei quadrati
Infine possiamo dedurre quanto segue:
Quindi la funzione di errore è ancora una volta riscritta come somma di due termini.
Somma dei quadrati
Dato che il termine Nd ln(√2πσ) è indipendente dai parametri della rete, risulta che la funzione di errore da minimizzare è:
E= (1/2) ∑ n ∑ k [yk(xn,w) -tkn]2
Dove abbiamo omesso il termineσ2 (o analogamente abbiamo supposto σ=1) ottenendo così la classica funzione di errore somma dei quadrati.
Alcune osservazioni
Come errore sul test set, possiamo utilizziamo la seguente funzione di errore:
E’=(1/N’)∑ n ∑ k [yk(xn,w*) -tkn]2
N’ è il numero di elementi del test set.
Tale errore risulta indipendente dal numero di elementi del test set.
Alcune osservazioni
Come errore sul test set, possiamo anche utilizzare l’errore quadratico medio (RMS, Root Mean Square):
ERMS=∑ n ∑ k [yk(xn,w*) -tkn]2/∑ n ∑ k [yk(xn,w*) -mk]2
Dove w*è il vettore di pesi della rete già addestrata e m è il vettore valore medio dei target del test set, cioè:
mk=(1/N’) ∑ n tnk e N’ è il numero di elementi del test set.
Tale errore risulta indipendente dal range di variazione dei dati.
Alcune osservazioni
Più in generale possiamo utilizzare, su training, validation e test set, funzioni di errore di tipo diverso.
Ad esempio
∑ n ∑ k [yk(xn,w*) -tkn]p
Dove p è un parametro compreso tra 0 e 1.
Tali funzioni, ad esempio, per alcuni problemi ci permettono di raggiungere una migliore soluzione al problema.
Alcune osservazioni
Nel processo di addestramento di una rete neurale, e quindi nella ricerca dei parametri che rendono minimo il valore della funzione di errore, possiamo “incappare” in dei minimi locali.
In altre parole, la funzione di errore al variare dei parametri w può presentare più minimi, ma non tutto i minimi risultano una “buona soluzione” del nostro modello, e…
Nulla ci garantisce che il processo di apprendimento non ci faccia cadere in un minimo locale che non è una “buona soluzione” per il nostro problema.
Alcune osservazioni
Quindi uno dei problemi da risolvere quando minimizziamo una funzione di errore è di riuscire a “sfuggire” dai minimi locali e arrivare al minimo globale o in prossimità di esso.
Allora:
Non è detto che riusciamo a trovare il minimo globale dell’errore sul training set
Inoltre:
Non è detto che il minimo globale dell’errore sul training set sia la migliore soluzione, in quanto dobbiamo trovare un “giusto compromesso” tra valore dell’errore sul training set e valore dell’errore sul validation set.
1. Informazioni generali sul corso
3. Un modello computazionale del neurone biologico
4. Possibili problemi risolvibili con Reti Neurali
5. Problemi di Classificazione ed approccio probabilistico
7. Capacità rappresentativa delle reti neurali - parte prima
8. Capacità rappresentativa delle reti neurali - Parte seconda
9. Apprendimento e generalizzazione
10. Discesa del gradiente e backpropagation
11. Back-Propagation
13. Interpretazione output di una rete neural feed-forward
14. Complessità della rete, generalizzazione e termini di regolari...
15. Cross-entropy e variazioni sulla discesa del gradiente
16. Verso le reti neurali RBF: interpolazione esatta.
17. Reti neurali RBF
18. Addestramento di una rete RBF
19. Parametri delle funzioni a base radiale
20. Un primo modello di reti neurali ricorrenti: formalismo di Caia...