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 » 17.Reti neurali RBF


Introduzione

Nella presente lezione vedremo:

  • Cosa è una rete RBF.
  • Come possiamo addestrare una rete RBF.

Dalla interpolazione esatta alle reti RBF

Svantaggi dell’interpolazione esatta

  • L’interpolazione esatta, vista nella lezione precedente, costruisce una funzione interpolante che passa esattamente per ogni punto del TS.
  • In presenza di rumore tale funzione risulta molto oscillante ed ha una scarsa capacità di generalizzazione.
  • Una funzione più “smussata” otterrebbe migliori risultati.
  • Un ulteriore limite dell’interpolazione esatta è il numero di funzioni di base che viene scelto, uguale al numero di punti nel training set a disposizione, rendendola computazionalmente molto costosa quando questo è abbastanza grande.

Dalla interpolazione esatta alle reti RBF (segue)

Il modello delle reti neurali con funzioni a base radiale introduce le seguenti modifiche per superare i limiti dell’interpolazione esatta (1):

  • Si hanno a disposizione un numero m di funzioni di base che non dipende dal numero di punti a disposizione (m << n).
  • I centri delle funzioni a base radiale non sono più legati ai vettori di input ma la loro determinazione diventa parte del processo di apprendimento.

Dalla interpolazione esatta alle reti RBF (segue)

Il modello delle reti neurali con funzioni a base radiale introduce le seguenti modifiche per superare i limiti dell’interpolazione esatta (2):

Anche la determinazione dei parametri della funzioni a base radiali sarà parte

  • del processo di apprendimento. Per esempio nel caso di funzioni Gaussiane verrà determinato il parametro σ per ogni funzione.
  • I Parametri di bias sono inclusi nella sommatoria.

Reti RBF

Applicate le modifiche prima descritte al Metodo dell’interpolazione esatta si perviene alla seguente espressione:

yk(x) =∑j=1…m wkjφj(x)+ wk0

dove l’interpretazione in termini di rete neurale è immediata (si veda figura).

Vediamolo nel dettaglio …

Schema rete neurale RBF

Schema rete neurale RBF


Reti RBF (segue)

Elementi della rete RBF:

  • Una rete feed-forward composta da 1 strato di d input, 1 strato di m nodi interni e 1 strato di c nodi di output.
  • Il j-simo nodo interno riceve d-connessioni dagli input con pesi pari a μji, con i=1,2, …d.
  • Ciascuna connessione porta in input al nodo, dato un valore di input alla rete x, un contributo pari a cji=xi – μji .
Schema rete neurale RBF

Schema rete neurale RBF


Reti RBF (segue)

Elementi della rete RBF:

  • L’input del nodo j sarà, allora, calcolato come radice di ∑i=1…d (cji)2, cioè ||x – μj||.
  • La funzione di output dei nodi interni sarà pari a φ(x).
  • Il valore di output del j-simo nodo interno sarà, allora, pari a φj(x)=φ( ||x – μj||).
Schema rete neurale RBF

Schema rete neurale RBF


Reti RBF (segue)

Elementi della rete RBF:

  • yk(x) è la risposta del k-esimo output della rete all’input x.
  • Cioè il k-simo nodo di output riceve m connessioni dai nodi interni con pesi pari a wkj, ha bias pari a wk0 e ha funzione di output pari all’identità.

Nel caso in cui la φ è una Gaussiana l’output del k-simo nodo di output è pari a:

yk(x) =
j=1…m wkj exp(-||x – μj||/2σ2)+ wk0

Schema rete neurale RBF

Schema rete neurale RBF


Reti RBF (segue)

Elementi della rete RBF:

Osservo che, evidentemente, la matrice W dcorrisponde alla matrice dei pesi tra lo strato dei nodi interni e lo strato dei nodi di output, cioè la k-sima riga di W corrisponde ai pesi delle connessioni che incidono sul k-simo nodo di output.

Schema rete neurale RBF

Schema rete neurale RBF


Addestramento delle reti RBF

L’apprendimento di una rete neurale RBF avviene in due fasi:

  • nella prima fase vengono stimati i parametri delle funzioni di base,
  • mentre nella seconda vengono determinati i pesi del secondo strato mediante il metodo dei minimi quadrati.

Addestramento delle reti RBF (segue)

  • La ricerca dei parametri delle funzioni di base avviene, di solito, utilizzando un training non supervisionato
  • mentre la scelta dei pesi del secondo strato con un addestramento supervisionato.
  • Di seguito supporremo di aver già fissato i centri e i parametri delle funzioni di base e ci concentreremo sulla determinazione dei pesi del secondo strato.

Addestramento delle reti RBF (segue)

Determinazione dei pesi del secondo strato.

A tale fine, possiamo considerare la nostra rete come una rete con un solo strato di pesi con input pari a φ1(x), φ2(x), …, φm(x).

In tal caso la determinazione di tali pesi può essere fatta con il metodo dei minimi quadrati.

Ricordo che la funzione di errore somma dei quadrati su tutti gli elementi del training set e su tutti gli output può essere scritta nel seguente modo:

E=(1/2) ∑n=1…Nk=1…c(yk(xn)-tnk)2

Addestramento delle reti RBF (segue)

Determinazione dei pesi del secondo strato.

Dato

E=(1/2) ∑n=1…Nk=1…c(yk(xn)-tnk)2

dove yk(xn)=∑j=1…m wkjφj(xn)+ wk0 rappresenta l’output del nodo di output k in funzione del vettore input xn e della matrice dei pesi W.

Tale funzione di errore è una funzione quadratica dei pesi e dunque la sua derivata è una funzione lineare dei pesi.

E’, quindi, possibile trovare esattamente il minimo di tale funzione.

Addestramento delle reti RBF (segue)

Determinazione dei pesi del secondo strato.

Prima di ricavare il minimo della funzione

E=(1/2) ∑n=1…Nk=1…c(yk(xn)-tnk)2

nel caso generale, mostriamo una interpretazione geometrica del problema dei minimi quadrati in un caso semplice.

Interpretazione geometrica del problema ai minimi quadrati

Come accennato precedentemente, fissati i parametri delle funzioni di base, la nostra rete può essere vista come una rete ad un solo strato di pesi in cui gli ingressi sono le risposte delle funzioni φj ai vettori x.

Di seguito supporremo che la rete abbia un solo nodo di uscita.

Per un particolare input φnj=(xn) l’output della rete sarà:

yn=∑j=0…m wjφj(xn)

Interpretazione geometrica del problema ai minimi quadrati (segue)

Consideriamo, ora, gli n valori target del TS e raggruppiamo tali valori target per formare un vettore t di componenti t1, t2, . . . , tn.

Questo vettore apparterrà ad uno spazio Euclideo n-dimensionale, chiamiamolo D.

Per ogni funzione a base radiale possiamo ripetere lo stesso procedimento visto per t
ed ottenere m vettoriφj di componenti φ1j, φ2j, … , φnj.

Dove ciascun vettore φj , di dimensione n, giace nello stesso spazio n-dimensionale del vettore t.

Interpretazione geometrica del problema ai minimi quadrati (segue)

Adesso supponiamo che il numero di funzioni di base (incluso il bias) sia minore
del numero di elementi del TS; ovvero sia m + 1 < n.

Gli m + 1 vettori φj , con j=0,1, …,m, corrispondenti alle m + 1 funzioni di base, giacciono in un sottospazio Euclideo S a m + 1 dimensioni (cioè i vettori φj definiscono un sottospazio S a m-dimensioni dello spazio a n-dimensioni D in cui giacciono i vettori stessi).

Anche gli output della rete possono essere raggruppati in un unico vettore y di dimensione n e componenti y1, y2 …, yn.

Interpretazione geometrica del problema ai minimi quadrati (segue)

Osserviamo che:

y =∑j=0…m wj φj

cioè il vettore n-dimensionale y è una combinazione lineare degli m +1 vettori n-dimensionali φj.

Quindi y giace necessariamente nel sottospazio S.

Interpretazione geometrica del problema ai minimi quadrati (segue)

Ricordiamo che noi vogliamo sempre che i seguenti vincoli siano soddisfatti:

yi = ti e, quindi, y = t

D’altra parte abbiamo visto che, in generale, t appartiene allo spazio n-dimensionale D e y allo spazio m dimensionale S.

Quindi affinché tali vincoli possano essere soddisfatta dovrebbe accadere che t giaccia nel sottospazio S, altrimenti non possono essere soddisfatti.

Interpretazione geometrica del problema ai minimi quadrati (segue)

Nel caso in cui i vincoli precedenti non possono essere soddisfatti, cioè t non giace nel sottospazio S possiamo, però, sempre far si che i due vettori y e t siano il “più vicino possibile” cioè possiamo minimizzare la distanza tra i due vettori, cioè

k=1…n (yk-tk)2

Che altro non è che l’errore somma dei quadrati.

Interpretazione geometrica del problema ai minimi quadrati (segue)

Vogliamo, quindi, trovare il vettore dei pesi w che minimizza la quantità:

k=1…n (yk-tk)2

Siccome il vettore y è obbligato a stare sul sottospazio S, la soluzione migliore, come detto, è quella che rende minima la distanza tra y e t che si ha nel caso in cui y coincide con la proiezione ortogonale di t su S.

Dunque in questa lezione abbiamo mostrato come calcolare i pesi del secondo strato di pesi di una rete RBF nel caso particolare in cui abbia un solo nodo di uscita.

Nel lezione successiva vedremo come calcolare tali pesi nel caso generale in cui la rete abbia c nodi di uscita.

  • 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