Reti Neurali MLP e RFB - Digilander

annuncio pubblicitario
Reti Neurali MLP e RFB
Antonio Manno
[email protected], www.statistica.too.it
Indice
1 Introduzione
1
2 Le reti neurali
4
2.1
Il sistema nervoso e origine delle reti neurali . . . . . . . . . . . . . .
4
2.2
Reti neurali di tipo Multilayer perceptron, MLP . . . . . . . . . . . .
5
2.3
La rete neurale tipo radial basis function, RBF . . . . . . . . . . . . . 10
2.4
Confronto fra reti MLP e reti RBF . . . . . . . . . . . . . . . . . . . 13
1
Introduzione
Uno dei principali obiettivi di un ricercatore statistico è quello di poter prevedere i
valori futuri di una certa variabile, sulla base dei valori osservati di altre variabili.
Per raggiungere questo obiettivo è necessario considerare un modello statisticomatematico, che rappresenti la relazione esistente fra tali variabili.
Formalmente: dato un vettore d-dimensionale di variabili esplicative x=(x1 , x2 , . . . , xd )T
ed una variabile casuale continua y, detta variabile risposta, si ha la seguente
relazione:
y = f (x) + ε
(1)
dove f(·) è una funzione reale non nota, spesso non lineare, definita su un insieme
compatto D ⊂ Rd , ed ε è una variabile casuale non osservabile, con valore atteso
nullo.
1
Antonio Manno ([email protected]). Palermo, Italia
2
Lo scopo dell’analista è quello di stimare la funzione f(·), sulla base di un insieme finito di N osservazioni: {(x1 , y1 ), (x2 , y2 ), . . . , (xN , yN )}, dove la coppia (xt , yt )
rappresenta il valore osservato del vettore x e della variabile y al tempo t. Ovviamente, fra le componenti del vettore xt possono esserci anche valori antecedenti della
variabile yt .
In letteratura esistono diversi approcci per stimare la funzione f(·).
Un primo approccio è il cosiddetto ”parametrico”, in cui si definisce la forma
funzionale della funzione f(·), dipendente da un insieme finito di parametri da stimare; tale approccio è valido solo nel caso in cui la vera funzione f(·) è uguale
(o approssimativamente uguale) alla funzione parametrizzata, in caso contrario si
possono ottenere risultati fuorvianti.
Un altro approccio è quello definito ”non parametrico”, in cui si fanno pochissime
assunzioni sulla funzione da stimare. I metodi non parametrici sono basati su medie locali d-dimensionali: preso un valore x0 ∈ D, si stima f(x0 ) effettuando una
media ponderata delle y osservate in un intorno di x0 . Tali tecniche sono difficilmente applicabili nel caso in cui d sia elevato, a causa del problema, definito da
Bellman, ”maledizione della dimensionalità”, ossia ”se nel caso unidimensionale un
intervallo di variazione viene diviso in m sottointervalli e quindi richiede la stima di
m parametri, nel caso bidimensionale il campo di variazione della coppia di variabili
viene diviso in m2 rettangoli (e quindi la stima di m2 parametri), nel caso generale d-dimensionale, il campo di variazione delle d variabili viene suddiviso in md
rettangoloidi (e quindi la stima di md parametri)”.
Un approccio applicabile, nel caso di elevata dimensione dello spazio dei predittori
D, è quello di considerare M funzioni non lineari parametrizzate (dette funzioni base)
e quindi di ipotizzare la funzione f(·) come una combinazione lineare di tali funzioni
base, ossia:
f (x) =
M
X
βm φm (x; αm )
(2)
m=1
dove αm è un vettore di parametri che definisce completamente la funzione φm (·)
e β1 , β2 , . . . , βM sono i coefficienti delle funzioni base. I vettori αm e β1 , β2 , . . . , βM
sono tutti parametri da stimare, sulla base di un campione di dati.
Al fine di stimare i parametri del modello, si considera una funzione di perdita
Ψ(·) da minimizzare; per cui, posto θ = (αT1 , . . . , αTM , β1 , . . . , βM )T l’insieme di tutti
Antonio Manno ([email protected]). Palermo, Italia
3
i parametri del modello, si ha che lo stimatore θ̂ è quel vettore che minimizza la
funzione:
!
Ã
N
M
X
1 X
E(θ) =
Ψ yt ,
βm φm (xt ; αm )
N t=1
m=1
(3)
La funzione di perdita più usata è quella che definisce il metodo dei minimi quadrati,
precisamente:
Ã
Ψ yt ,
M
X
!
βm φm (xt ; αm )
m=1
Ã
=
yt −
M
X
!2
βm φm (xt ; αm )
(4)
m=1
È possibile considerare altre funzioni di perdita; una funzione usata spesso, perchè
poco sensibile agli outliers è:
¯
Ã
! ¯
M
M
¯
¯
X
X
¯
¯
Ψ yt ,
βm φm (xt ; αm ) = ¯yt −
βm φm (xt ; αm )¯
¯
¯
m=1
(5)
m=1
Per minimizzare tali funzioni è necessario utilizzare algoritmi di ottimizzazione
iterativi, poichè non esiste una soluzione in forma chiusa per gli stimatori.
Per evitare che il modello stimato fˆ(x) si adatti perfettamente ai dati osservati e
quindi abbia una scarsa capacità di generalizzazione ad altri dati, si utilizzano varie
tecniche.
Una tecnica, usata in presenza di grandi campioni, è quella di suddividere (casualmente) il campione in 2 sottoinsiemi; un sottoinsieme, definito campione di
addestramento (learning set), viene utilizzato per stimare i parametri del modello
ed un altro sottoinsieme, detto campione di verifica o test (test set), consente di
misurare la capacità di generalizzazione del modello.
In pratica, ad ogni passo dell’algoritmo di ottimizzazione, si misura l’errore del
modello, ossia E(θ̂), in entrambi i sottoinsiemi. L’errore calcolato sul learning set
tenderà a decrescere e sarà uguale a zero, nel caso di perfetto adattamento ai dati
osservati (che però implica una scarsa capacità di generalizzazione), mentre l’errore
calcolato sul test set seguirà un andamento parabolico, ossia all’inizio tenderà a
decrescere e poi, raggiunto un minimo, inizierà ad aumentare, ciò significa che il
modello inizia a seguire eccessivamente la dinamica dei dati osservati, per cui si
considera come stima dei parametri del modello, il valore assunto dai parametri nel
passo in cui l’errore sul test set aveva raggiunto il minimo. Tale tecnica è nota in
letteratura col nome di Early stopping.
Antonio Manno ([email protected]). Palermo, Italia
4
Tale approccio è impraticabile in presenza di piccoli campioni; ad ogni modo, si
possono adottare tecniche di tipo cross validation.
Un altro approccio aggiunge alla funzione di errore un termine di penalizzazione
Ω, per evitare che la funzione abbia troppi salti, in modo da adattarsi ai dati
osservati; per cui si considera un nuovo funzionale Ẽ(θ) = E(θ)+λΩ, da minimizzare.
λ è un parametro reale positivo, che attribuisce minore o maggiore importanza al
termine di penalizzazione, quindi è fondamentale il valore che gli viene attribuito.
R Pd ∂ 2 f (x)
Un termine di penalizzazione molto usato è: Ω =
i=1 ∂xi 2 dx
Tali approcci hanno lo scopo di raggiungere un compromesso fra bias e varianza
degli stimatori, in modo tale da poter generalizzare il modello, nel caso in cui si
considerano valori dei predittori diversi da quelli osservati e si vuole fare previsione.
2
Le reti neurali
2.1
Il sistema nervoso e origine delle reti neurali
Le reti neurali sono uno dei modelli più utilizzati per studiare la relazione fra variabili; esse nascono dall’idea di poter riprodurre alcune delle funzioni e capacità del
cervello umano.
Quest’ultimo è costituito da circa 100 miliardi di neuroni, ossia cellule cerebrali
deputate all’elaborazione dell’informazione, dai dendriti, che collegano fra loro i
neuroni ed un corpo centrale, chiamato assone, che propaga il segnale.
I neuroni ricevono polarizzazioni, ossia cariche elettriche, attraverso i dendriti, in
questo modo il neurone viene eccitato o inibito sino ad una soglia limite, superata
la quale ritrasmette la polarizzazione per mezzo dell’assone che si trova a contatto
in punti detti sinapsi con i dendriti di altri neuroni.
Risulta chiaro, quindi, che il patrimonio informativo del cervello umano è identificato dall’insieme dei valori di attivazione dei neuroni, la capacità di elaborazione
delle informazioni sono rappresentate dal flusso di eccitazioni ed inibizioni fra i
neuroni ed infine la memoria umana viene identificata dalle sinapsi.
Alcune proprietà delle cellule nervose vennero riprodotte nella prima metà del
1900 con modelli analogici, basati cioè sulla similitudine con sistemi di altra natura.
Nel 1943 McCulloch e Pitts proposero un modello elettronico del neurone, che poi
Antonio Manno ([email protected]). Palermo, Italia
5
fu ripreso nel 1962 da Rosenblatt per creare una rete neurale in grado di riconoscere
immagini, che prese il nome di perceptrone.
Da allora vi fu un susseguirsi di studi su tali sistemi, fino all’attuale situazione di
ricerca, che implica una grande interdisciplinarietà fra campi molto diversi.
2.2
Reti neurali di tipo Multilayer perceptron, MLP
Sebbene l’obiettivo originario delle reti neurali fosse quello di simulare il comportamento del sistema nervoso umano, successivamente la loro realizzazione ha avuto
lo scopo di costruire modelli matematici, che non presentano molte affinità con i
modelli biologici.
Una rete neurale è formata da una serie di unità elementari, cioè i singoli neuroni,
collegati fra loro da connessioni pesate.
Graficamente si rappresenta un neurone con un cerchio, mentre le connessioni fra i
neuroni con frecce orientate, il cui verso indica la direzione del flusso di informazioni.
Una rete multistrato (Multilayer perceptron, MLP) è costituita da uno strato di
d neuroni di input (ognuno dei quali corrisponde ad una variabile esplicativa), da
uno o più strati nascosti (hidden layers), ognuno dei quali composti da un certo
numero di neuroni e da uno strato di output, costituito da tanti neuroni quante
sono le variabili risposta.
I neuroni sono collegati fra loro da opportuni pesi, ossia parametri, stimati tramite
il learning set.
Esistono varie architetture di rete, a seconda del tipo di connessioni presenti fra
i neuroni, ma quelle che analizzeremo nel presente lavoro sono le reti feed-forward,
caratterizzate dal fatto che ogni neurone di uno strato è collegato ad ogni neurone
dello strato successivo, mentre non vi sono connessioni fra neuroni dello stesso strato,
inoltre le relazioni sono unidirezionali.
Un tipo particolare di architettura MLP è la rete ”skip layer”, dove oltre le
connessioni fra neuroni di strati diversi, ci sono anche connessioni dirette fra le
unità di input e quelle di output.
Nella pratica sono spesso usate reti MLP con un solo strato nascosto, in quanto
esse danno risultati soddisfacenti e sono computazionalmente meno onerose di reti
con più hidden layers.
Antonio Manno ([email protected]). Palermo, Italia
6
Le reti neurali rappresentano un particolare modello regressivo per studiare la
relazione fra una variabile y ed un vettore x.
Considerando una rete con un solo hidden layer, tale relazione si può esplicitare
nella seguente espressione:
"
y = g β0 +
M
X
Ã
βm φ α0m +
m=1
d
X
!#
αim xi
+ε
(6)
i=1
dove:
- αim è il peso della connessione fra l’i-esima variabile di input e l’m-esima unità
nascosta;
- α0m è un parametro, detto bias, appartenente all’m-esima unità nascosta;
- φ(·) è la funzione di trasferimento che lega le unità di input alle unità nascoste;
- βm è il peso che collega l’m-esima unità nascosta all’output y;
- β0 è il bias dell’output;
- g(·) è la funzione di trasferimento che lega le unità nascoste all’output;
- ε è una variabile casuale.
³
´
P
La quantità zm = φ α0m + di=1 αim xi rappresenta il valore dell’m-esima unità
nascosta.
Come funzione g(·) viene spesso utilizzata la funzione identità, mentre come funzione φ(·) si usa una funzione sigmoidale, ossia a forma di S allungata, come ad esempio la funzione logistica φ(z) =
φ(z) = tanh(z) =
1
,
1+exp(−z)
oppure la funzione tangente iperbolica
exp(z)−exp(−z)
.
exp(z)+exp(−z)
La funzione logistica ha come codominio l’intervallo (0,1), mentre la funzione
tangente iperbolica l’intervallo (-1,1).
Per semplicità di notazione si introduce un’unità d’input, alla quale si attribuisce
valore uno, in modo che l’m-esima unità nascosta si possa scrivere:
!
à d
X
;
con x0 = 1.
αim xi
zm = φ
i=0
(7)
Antonio Manno ([email protected]). Palermo, Italia
7
Inoltre si introduce anche un’unità nascosta, z0 , con valore pari ad uno, per cui si
ha:
"
y=g
M
X
m=0
βm φ
à d
X
!#
αim xi
Ã
+ε ;
con z0 = φ
i=0
d
X
!
αi0 xi
= 1.
(8)
i=0
Se si considera g(z) = z, allora la relazione precedente si può scrivere:
Ã
!
X
X
y=
βm φ
αim xi + ε
m
(9)
i
e si vede l’analogia con l’equazione (2), dove le funzioni φm (·) sono tutte uguali e
P
φ(x; αm ) = φ( i αim xi ).
Considerando una rete MLP, con d unità di input, M unità nascoste ed una sola
unità di output, ci sono da stimare M(d+2)+1 parametri; mentre in una rete di tipo
”skip layer” si devono stimare M(d+2)+d+1 paramtri.
Le reti MLP sono reti ad apprendimento supervisionato, in quanto la rete è
addestrata (stimata) con degli esempi (osservazioni) che contengono un input e
l’output ad esso associato; esistono reti ad apprendimento non supervisionato, dove
la rete deve essere in grado di estrarre delle informazioni di similitudine tra i dati
forniti in input (senza associazioni con output desiderato) al fine di classificarli in
categorie.
Per stimare i parametri, si considera una funzione d’errore, come nell’equazione
(3), da minimizzare. Un algoritmo iterativo molto utilizzato è quello della backpropagation in cui l’equazione di aggiornamento dei pesi al ciclo (i+1)-esimo è:
¯
∂E(θ) ¯¯
θ̂i+1 = θ̂i − η
+ µ ∆θ̂i
∂θ ¯θ=θ̂i
in cui η e µ sono parametri positivi, detti rispettivamente tasso di apprendimento e
momento.
I parametri η e µ possono anche variare ad ogni ciclo, al fine di raggiungere la
convergenza in un minor numero di cicli.
Esistono tantissimi altri metodi di ottimizzazione, come ad esempio il metodo di
Newton, il cui algoritmo è:
θ̂i+1 = θ̂i − H
−1
¯
∂E(θ) ¯¯
∂θ ¯θ=θ̂i
Antonio Manno ([email protected]). Palermo, Italia
8
dove H −1 è l’inversa della matrice Hessiana della funzione di errore E(·), calcolata in
θ̂i . Sovente, per evitare problemi numerici, si considerano i metodi quasi-Newton, in
cui si considera ad ogni iterazione un’approssimazione Gi della matrice H −1 , ossia:
¯
∂E(θ) ¯¯
θ̂i+1 = θ̂i − δi Gi
∂θ ¯θ=θ̂i
dove δi è un parametro che viene calcolato in ogni ciclo, mediante opportune minimizzazioni.
Le reti MLP godono della proprietà di essere ”approssimatori universali”, ossia, per M sufficientemente elevato, riescono ad approssimare qualunque funzione
continua definita su un insieme compatto D ⊂ Rd .
Da un punto di vista applicativo però, è indispensabile che M non risulti eccessivamente grande, in modo che la rete abbia una buona capacità di generalizzazione.
Per raggiungere questo obiettivo (ossia buona capacità di generalizzazione della
rete), spesso si aggiunge un termine di penalizzazione alla funzione di errore; il
termine di penalizzazione più usato per le reti neurali è chiamato ”weight decay” ed
è :
Ω=
M
X
m=0
"
2
βm
+
d
X
#
2
αim
i=0
Per applicare tale tecnica è essenziale che le variabili di input siano standardizzate,
in modo tale che l’unità di misura delle variabili non influisca sulla grandezza dei
pesi.
Un altro approccio è quello chiamato Early stopping, descritto nella sezione
precedente.
Per ridurre il numero di parametri si utilizzano anche tecniche di pruning (potatura): una volta addestrata la rete, si procede ad eliminare ad ogni passo quella connessione la cui rimozione produce il maggior peggioramento di adattamento e si
procede a rimuovere pesi e/o neuroni fin quando non si raggiunge un adattamento
prefissato accettabile.
Per migliorare le performance di una rete potrebbe essere importante trasformare
le variabili esplicative: ad esempio standardizzandole o normalizzandole, oppure
ricorrendo a tecniche di riduzione e selezione delle variabili, come ad esempio l’analisi
delle componenti principali.
Antonio Manno ([email protected]). Palermo, Italia
9
Finora si sono analizzate esclusivamente reti con un solo hidden layer; l’estensione
a reti con più hidden layers è immediata; ad esempio una rete MLP con 2 hidden
layers, si può scrivere:
(
y=g
H
X
h=0
"
βh φ2
M
X
m=0
γmh φ1
à d
X
!#)
αim xi
+ε
i=0
dove:
- αim è il peso della connessione fra l’i-esima variabile di input e l’m-esima unità del
primo hidden layer;
- γmh è il peso che connette l’m-esima unità del primo hidden layer con l’h-esima
unità del secondo hidden layer;
- βh è il peso che connette l’h-esima unità del secondo hidden layer con l’output y;
- φ1 (·) è la funzione di trasferimento che lega lo strato d’input al primo hidden layer;
- φ2 (·) è la funzione di trasferimento che lega il primo con il secondo hidden layer;
- g(·) è la funzione di trasferimento che lega il secondo hidden layer con l’output;
- ε è una variabile casuale.
Inoltre si ha:
³P
´
d
- zm = φ1
i=0 αim xi , con x0 = 1; dove zm è il valore dell’m-esima unità del
primo hidden layer;
³P
´
M
- uh = φ 2
γ
z
m=0 mh m , con z0 = 1; dove uh è il valore dell’h-esimo neurone del
secondo strato nascosto;
´
³P
H
β
u
- y=g
h=0 h h + ε, con u0 = 1.
Nella pratica, si utilizzano spesso funzioni sigmoidali per φ1 (·) e φ2 (·) e la funzione
identità per g(·).
L’estensione a reti con più di due strati nascosti è ovvia, ma tali reti trovano
scarsa applicazione nei casi reali, per l’eccessivo onere computazionale e perchè reti
con al più due hidden layers si adattano a quasi tutti i problemi reali.
Antonio Manno ([email protected]). Palermo, Italia
2.3
10
La rete neurale tipo radial basis function, RBF
La rete neurale tipo radial basis function (RBF) è una particolare classe di reti con
un singolo strato nascosto, in cui la funzione di attivazione g(·) per l’output è la
funzione identità; quindi la parte deterministica del modello che lega y ad x è una
combinazione lineare di M funzioni base non lineari, come nell’equazione (2).
Mentre nelle reti MLP, la funzione φ(·) dipendeva dal prodotto interno fra i vettori
αm ed x, nelle reti RBF essa dipende dalla distanza fra il vettore x ed un³vettore
´
prototipo µm , definito centro dell’m-esima funzione radiale. La distanza d x, µm
usata più spesso è quella euclidea, per cui si pone:
v
d
° u
³
´ °
X
°
° u
t
d x, µm = °x − µm ° =
(xi − µim )2
i=1
Quindi, una generica rete RBF, è definita dalla seguente equazione:
y=
M
X
°´
³°
°
°
β m φ ° x − µm ° + ε
(10)
m=0
°´
³°
°
°
con φ °x − µ0 ° = 1.
°´
´
³°
³
°
°
Si noti l’analogia con l’equazione generale (2), dove φm x; µm = φ °x − µm ° .
Le reti RBF differiscono dalle reti MLP poichè, oltre all’argomento della funzione
P
φ(·) (kx−µm k, al posto di di=0 αim xi ), si utilizza anche un tipo di funzione diversa:
infatti, mentre nelle reti MLP si considerava una funzione sigmoidale, nelle reti RBF
si usa una funzione radiale; la più usata è quella gaussiana, cioè:

°
°2 
° 

°´
 1°
³°
x
−
µ
°
° 
m
°
°
φ °x − µm ° = exp −
2


σm
 2

(11)
con µm ∈ Rd e σm ∈ R+ , ∀ m=1,. . .,M.
Il parametro σm è chiamato ampiezza dell’m-esima funzione base radiale. Unendo
la (10) e la (11), si ottiene:

°
°2 
°

 1 °x − µ °

° 
m
y=
βm exp −
+ε
2


2
σ
m


m=0
M
X
In tale modello i parametri da stimare sono M(d+2)+1.
Antonio Manno ([email protected]). Palermo, Italia
11
È possibile generalizzare la funzione φ(·) considerando una matrice Σm , al posto
di σm e scrivere:
½
°´
³°
´T
³
´¾
1 ³
°
°
−1
φ °x − µm ° = exp −
x − µm
Σm x − µm
2
Ma in questo caso cresce il numero di parametri da considerare.
Anche le reti RBF sono ”approssimatori universali”, per M sufficientemente
elevato.
Per la stima dei parametri si possono seguire due strategie alternative: considerare
un processo di apprendimento supervisionato, oppure effettuare una procedura di
stima a 2 stadi.
Con la prima scelta, si considera, come nella (3), una funzione d’errore (con la
possibilità di aggiungere un termine di penalizzazione) e si determinano i parametri
che simultaneamente la minimizzano.
Tale scelta non è la più praticata; infatti spesso si preferisce considerare un algoritmo di stima a 2 stadi: nel primo stadio si stimano i centri delle funzioni base,
mediante un processo di apprendimento non supervisionato e successivamente si stimano i pesi βm con un procedimento di apprendimento supervisionato, utilizzando
le stime dei parametri delle funzioni base ottenute al primo passo.
Tale scelta è molto più veloce da applicare della prima.
I metodi di apprendimento non supervisionato, usati per stimare i parametri che
definiscono le funzioni base, sono diversi.
Un primo approccio è quello di considerare i valori di µ̂1 , µ̂2 , . . . , µ̂M pari ad un
particolare sottoinsieme dei dati di input osservati; più in dettaglio, si potrebbe
seguire il seguente algoritmo: si inizia col considerare una rete con una sola funzione
base, quindi per ogni osservazione xt (t=1,2,. . .,N) si pone µ̂1 = xt e si stimano
(t)
(t)
(t)
β̂0 , β̂1 , · · · , β̂M attraverso l’insieme completo di N osservazioni (sia di input che
di output); finito il ciclo di N osservazioni µ̂1 sarà pari a quel valore xt1 che rende
minima la funzione d’errore E(·); successivamente si considera una rete con due
funzioni base e si pone µ̂2 pari a quel valore xt2 , con t2 ∈ ({1, . . . , N } − {t1 }) che
rende minimo l’errore E(·) ed il procedimento continua fino a quando si giunge a
stimare µM .
Tale approccio è computazionalmente oneroso, in quanto in ogni ciclo si devono
invertire diverse matrici. Una soluzione simile alla precedente, ma computazional-
Antonio Manno ([email protected]). Palermo, Italia
12
mente meno onerosa (se la funzione d’errore è quella dei minimi quadrati), è quella
definita ”orthogonal least squares”, che aggiunge ad ogni passo una funzione base,
con i parametri stimati come descritto in precedenza, ma per scegliere quale dato
porre uguale al centro della funzione base, si considerano insiemi di funzioni base
ortogonali,napplicando
il°´o
processo di ortogonalizzazione di Gram-Schmidt alle fun³°
°
°
zioni base φ °x − µ̂m ° , quindi ad ogni ciclo si invertono matrici diagonali, che
non richiedono elevati tempi di elaborazione. Le funzioni base ortogonali, vengono
considerate solo per stimare i parametri µm , una volta stimati si considerano tutte
le funzioni base stimate e si stimano β0 , β1 , . . . , βM con algoritmi supervisionati.
Un altro approccio per stimare i parametri delle funzioni base è quello di considerare l’algoritmo di clustering delle K-medie; esso, a partire dalle osservazioni
{x1 , x2 , . . . , xN }, tenta di trovare quella partizione dei dati in K sottoinsiemi disgiunti S1 , S2 , . . . , SK , ognuno contenente Nj osservazioni, tale da minimizzare la
seguente funzione obiettivo:
K X°
°2
X
°
°
J=
°xt − µ̂j °
j=1 t∈Sj
dove µ̂j è la media delle osservazioni del j-esimo gruppo, ossia:
µ̂j =
1 X
x
Nj t∈S t
(12)
j
L’algoritmo procede nel seguente modo: scelte casualmente K osservazioni, si assegna un’osservazione ad ognuno dei sottoinsiemi Sj e si pone la media del gruppo
pari al valore osservato assegnato al cluster considerato; successivamente ³ogni os´
servazione xt è assegnata a quel set Sj per la quale è minima la distanza d xt , µ̂j ;
assegnate le N osservazioni ai vari gruppi, si ri-calcolano le medie in base alla (12);
quindi si ri-itera il procedimento, fin quando in due iterazioni
tutte le
n consecutive,
o
unità vengono assegnate agli stessi gruppi. I valori finali di µ̂j sono le stime dei
centri delle K funzioni base.
Stimati i parametri delle unità nascoste, con uno qualunque dei metodi descritti,
si considera il modello:
y = β0 +
M
X
m=1
°´
³°
°
°
βm φ °x − µ̂m ° + ε
Antonio Manno ([email protected]). Palermo, Italia
13
che è un modello di regressione lineare multipla, con parametri β0 , β1 , . . . , βM .
Tali pesi si possono stimare con il
°
°
° β̂0
°
° β̂1
°
β̂ = ° .
° ..
°
°
° β̂M
metodo dei minimi quadrati ordinari, per cui:
°
°
°
°
° ¡
¢−1 T
°
φ Y
° = φT φ
°
°
°
°
dove:
°
°
°
°
°
°
φ=°
°
°
°
°
1 φ11
φ12
1 φ21
..
..
.
.
φ22
..
.
1 φN 1 φN 2
°
°
φ1M °
°
. . . φ2M °
°
..
.. °
.
. °
°
°
. . . φN M °
...
°´
°
°T
³°
°
°
°
°
con φtm = φ °xt − µ̂m ° e Y = ° y1 y2 . . . yN ° .
Se, invece, si considera la funzione d’errore:
Ã
!
M
N
M
°´ 2
³°
X
X
1 X
°
°
2
βm φ °xt − µ̂m °
yt − β0 −
βm
E=
+λ
N t=1
m=1
m=0
allora si avrà:
¡
¢−1 T
β̂ = φT φ + λ I
φ Y
dove I è la matrice identità di ordine M+1.
La procedura di stima in 2 stadi, dove si utilizzano anche algoritmi di apprendimento non supervisionato, è nettamente meno complessa e per questo più veloce
da implementare rispetto ad un processo di apprendimento supervisionato; però nel
caso in cui ci sono predittori molto variabili, ma che hanno una relazione irrilevante
con l’output, questi non vengono ignorati dall’algoritmo, per cui, quando i centri
delle funzioni radiali sono scelti utilizzando solo dati di input, non c’è la possibilità
di distinguere gli input rilevanti da quelli irrilevanti.
2.4
Confronto fra reti MLP e reti RBF
Entrambi i modelli sono del tipo (2), però presentano (come già visto in precedenza)
delle differenze.
Antonio Manno ([email protected]). Palermo, Italia
14
Mentre le reti MLP considerano, come funzioni base, funzioni sigmoidali con
argomento il prodotto interno fra i vettori x e αm , le reti RBF considerano funzioni
radiali con argomento la distanza fra i vettori x e µm .
P
P
La funzione φ ( i αim xi ) è costante per i αim xi costante, essendo φ(·) monotona, quindi la funzione φ(·) è costante su iperpiani di Rd , ossia ³°
l’insieme °´
ª
©
°
°
x ∈ Rd : φ (x; αm ) = K; conK ∈ R è un iperpiano. Invece, la funzione φ °x − µm ° ,
¾
½
2
1 kx−µm k
, è costante per
se si considera la funzione radiale gaussiana exp − 2 σ2
m
2
kx−µm k
2
σm
costante, ossia φ(·) è costante su iperellissoidi di Rd .
L’architettura di una rete MLP è più complessa di quella di una rete RBF, in
quanto una rete RBF presenta un solo hidden layer, mentre una rete MLP può
averne più di uno e ciò implica un numero maggiore di connessioni (parametri),
inoltre possono considerarsi anche diverse funzioni di trasferimento, che collegano i
vari strati; tutto ciò implica una maggiore complessità della topologia della rete.
Le due architetture differiscono anche per il metodo di stima, in quanto per le
reti MLP si usa un processo simultaneo di stima per tutti i pesi, mediante un processo supervisionato, mentre per le reti RBF si usa, come descritto nella precedente
sezione, un algoritmo a due stadi, molto più veloce da implementare ed eseguire.
Sia le reti MLP che quelle RBF sono, in teoria, ”approssimatori universali”, per
M sufficientemente grande; però, nella pratica, le reti RBF richiedono un numero
molto elevato di neuroni nascosti per approssimare funzioni in ampi intervalli.
Scarica