Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Roberto Prevete » 14.Complessità della rete, generalizzazione e termini di regolarizzazione


Introduzione

Nella presente lezione daremo alcune precisazioni su

  • La dimensione dello spazio delle caratteristiche.
  • La dimensione di training, validation e test set.
  • Vincoli sulle soluzioni.
  • Complessità del modello.

La maledizione della dimensionalità

Dato una funzione continua f: K → R , con K sottoinsieme compatto di Rd

Abbiamo detto che:

Tale funzione può essere approssimata bene come si vuole con una

  • rete a due strati di pesi supposto di avere un numero sufficiente di nodi interni.
  • Esiste un processo di apprendimento che ci permette di calcolare la rete cercata.
  • Tale processo si basa sulla presenza del Training set composto da coppie (xk,tk).
  • Ci domandiamo, allora, quale è il numero sufficiente di coppie affinché il processo abbia buon fine?

La maledizione della dimensionalità (segue)

Il numero di elementi del training set è strettamente legato alle dimensioni del vettore di input, cioè a d.

Infatti, se supponiamo che x=(x1,x2, …,xd) sia composto da d variabili indipendenti affinché il training set rappresenti un campione rappresentativo del fenomeno (la funzione f) che vogliamo rappresentare possiamo procedere nel seguente modo:

  • Suddividere il dominio di ciascuna variabile in M sotto-intervalli (M circa pari a 20).
  • Ottenere, così, Md celle che partizionano l’intero insieme K.
  • Da ciascuna cella estrarre una coppia (x,t).

La maledizione della dimensionalità (segue)

In questo modo otteniamo Md elementi appartenenti al Training Set.

Come si vede questo fa sì che, in linea generale, non possiamo scegliere una dimensione del vettore di caratteristiche troppo grande, in quanto già con d=5 otteniamo un numero di coppie paria a (20)5(10)6 , cioè un numero di coppie dell’ordine di un milione!

Il vincolo teorico di non poter scegliere un numero di caratteristiche troppo grande è detto “maledizione della dimensionalità”

Generalizzazione e complessità del modello

Le migliori prestazioni in termini di capacità di generalizzare si hanno per reti la cui complessità non è né troppo piccola né troppo grande.

Con il termine complessità della rete si fa riferimento al numero di parametri della rete, cioè al numero di pesi e di biases (quindi, al numero di nodi).

Generalizzazione e complessità del modello (segue)

Una rete estremamente complessa può:

  • adattarsi ai dati estremamente bene (errore sul training set molto piccolo),
  • ma dare una rappresentazione molto povera delle regolarità espresse dal training set, cioè della funzione da approssimare.
  • Per tale ragione avrà una scarsa capacità di generalizzazione.

Viceversa una rete troppo poco complessa riuscirà difficilmente ad adattarsi ai dati.

Generalizzazione e complessità del modello (segue)

Le precedenti considerazioni ci portano ad affermare:

  • che è necessario un corretto bilanciamento (trade-off) tra il raggiungere un
  • errore piccolo sui dati del training set e ottenere una rete che realizzi una funzione ragionevolmente smooth in modo tale che sia capace di seguire le regolarità del training set (non over-fit).

Ricordo che con il termine smooth (o dolce) si fa riferimento a funzioni che non presentano “brusche” variazioni, ad esempio funzioni appartenenti a C¥.

Generalizzazione e complessità del modello (segue)

Tale trade-off può essere messo in luce considerando che la
funzione di errore (la somma dei quadrati, E= ∑ nk [yk(xn,w) -tkn]2/2)
può essere espressa, considerando il training set composto da un numero
molto grande di coppie, come somma di due termini:

E= (bias)2 + variance

dove

(bias)2= (½) ∫{eD [y(x)] – }2p(x) dx
variance= (½) ∫eD [{y(x) - _D[y(x)]}2]p(x) dx

con eD [] che rappresenta il valore medio calcolato su un numero molto grande di differenti training set tutti composti di N coppie e tutti presi da una popolazione avente una densità di probabilità p(x,t).

Generalizzazione e complessità del modello (segue)

I due termini, bias e variance, in cui è stata suddivisa la funzione di errore hanno il seguente significato:

Il termine di bias misura di quanto la media (su tutti i training set) delle funzioni realizzate dalla rete (cioè eD [y(x)] ) differisce dalla funzione desiderata (cioè <t/x>).

Il termine variance misura quanto le funzioni realizzate dalla rete sono sensibili alla particolare scelta del training set, infatti y(x) – eD[y(x)] misura proprio la differenza tra la risposta della rete per un particolare training set e la risposta media (su tutti i training set) della rete, sempre avente x come input.

Generalizzazione e complessità del modello (segue)

Si può dimostrare i due termini, bias e variance, sono fortemente legati tra di loro:

Al diminuire di un termine l’altro tende a crescere.

Ad esempio se il termine variance è molto piccolo (o zero) questo implica che y(x) ≈ eD[y(x)] . Questa è la tipica situazione in cui la rete è poco, o per niente, sensibile al training set (la risposta della rete sarà sempre la stessa comunque addestrata).
Tuttavia questo comporta un alto bias (in quanto, come detto, il bias misura di quanto la media delle funzioni realizzate dalla rete differisce dalla funzione desiderata <t/x> ).

Generalizzazione e complessità del modello (segue)

Un modo per ottimizzare la capacità di generalizzare di una rete neurale è di controllare la sua effettiva complessità:

  • Si considera una rete con molti parametri – alta complessità- ma si cerca di controllare il processo di training, aggiungendo un opportuno termine alla funzione di errore, in modo da ottenere solamente funzioni smooth.

Generalizzazione e complessità del modello (segue)

L’errore, allora, può essere riscritto come:

E’=E+γΩ

dove Ω è detto termine di regolarizzazione che va a penalizzare le funzioni rappresentate dalla rete che non sono smooth e γ è un coefficiente che esprime quale è l’influenza di Ω.

In altre parole, il termine di regolarizzazione limita la classe delle possibili funzioni che la rete può apprendere, durante il processo di training, alle sole funzioni smooth.

Generalizzazione e complessità del modello (segue)

In letteratura sono presenti differenti termini di regolarizzazione che hanno lo scopo di far sì che la rete possa apprendere solo funzioni smooth.

Una delle più semplici forme di regolarizzazione è detta decadimento dei pesi (weight decay).

In questo caso si ha:

Ω = (½) ∑i wi2

dove la somma corre su tutti i pesi.

Generalizzazione e complessità del modello (segue)

La scelta di tale termine

Ω = (½) ∑i wi2

può essere giustificato da un punto di vista qualitativo dalla seguente considerazione.

Un termine di regolarizzazione come quello precedente fa sì che le reti addestrate assumano dei “piccoli” valori per i pesi, quindi i nodi interni di una rete con piccoli valori dei pesi realizzano funzioni quasi lineari (siccome la regione centrale di una sigmoide può essere approssimata tramite una funzione lineare).

Questo comporta che la rete rappresenti funzioni con un andamento quasi lineare e, quindi, funzioni smooth.

Generalizzazione e complessità del modello (segue)

Un alternativa al termine di regolarizzazione precedente è il seguente:

1/2)∑w εW1 w2 +(γ2/2)∑w εW2 w2

dove Ω1 denota l’insieme dei pesi (senza i bias) del primo strato e Ω2 quello del secondo strato.

Tale termine di regolarizzazione permette di trovare reti che sono indipendenti da una trasformazione lineare degli input.

Generalizzazione e complessità del modello (segue)

Si noti che

  • L’aggiunta di un termine di regolarizzazione modifica le regole di aggiornamento dei parametri della rete.

In particolare

  • Nel caso di algoritmi di aggiornamento basati sulla derivata della funzione di errore cambia il modo in cui calcoliamo la derivate dell’errore.

Generalizzazione e complessità del modello (segue)

Se aggiungiamo il termine di regolarizzazione

Ω = (½) ∑i wi2
L’errore è

E’=E+γΩ

Quindi la derivata dell’errore è pari alla somma di due termini

Il primo uguale a quello visto nelle lezioni precedenti, ∂E/∂wi

Il secondo uguale a γwi

Prossima lezione

Nella prossima lezione vedremo

  • Una “migliore” funzione di errore per problemi di classificazione a due classi.
  • Alcune variazioni sull’algoritmo discesa del gradiente.
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93