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.