Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Roberto Prevete » 19.Parametri delle funzioni a base radiale


Introduzione

Nella presente lezione ci concentreremo sulla stima dei parametri delle funzioni a base radiale,
in particolare nel caso delle gaussiane:

  • Sul calcolo dei centri e
  • Sul calcolo della deviazione standard.

Calcolo dei parametri delle funzioni a base radiale

La scelta dei centri delle funzioni di base dovrebbe essere tale da rispecchiare la densità dei dati di ingresso.

  • Vi sono vari approcci per scegliere questi centri.
  • Un metodo è quello di avere tante funzioni quanti sono i punti a disposizione e scegliere come centri delle funzioni proprio questi punti.

Calcolo dei parametri delle funzioni a base radiale (segue)

Questa strada non è tuttavia praticabile, per due ragioni fondamentali:

  • La prima è il costo computazionale che crescerebbe troppo al crescere dei punti a disposizione;
  • La seconda è che ciò costringerebbe la rete a creare un mapping che passi esattamente per i punti di training che di solito sono affetti da errore creando problemi di overfitting e dunque scarsa capacità di generalizzazione.

Calcolo dei parametri delle funzioni a base radiale (segue)

Un altro approccio è quello di scegliere i centri delle funzioni di base in
modo casuale fra i punti di training.

Il risultato di tale approccio dipende molto da quanto il campione di training sia effettivamente rappresentativo della popolazione.

Calcolo dei parametri delle funzioni a base radiale (segue)

Un ulteriore metodo per scegliere i centri delle funzioni base radiale consiste nell’utilizzare un algoritmo di clustering sui punti di training.

Anche in questo caso è importante che i dati di training sia effettivamente rappresentativi della popolazione.

Un algoritmo semplice di clusterizzazione è il K-Means descritto di seguito.

Calcolo dei parametri delle funzioni a base radiale (segue)

Anche la scelta della “ampiezza” delle funzioni a base radiale può essere fatta seguendo varie strade.

Una di queste consiste nello scegliere tale ampiezza come media della distanza Euclidea dei centri dei p centri più vicini.

Il calcolo dell’ampiezza in questo caso può essere, però, computazionalmente abbastanza costoso.

Calcolo dei parametri delle funzioni a base radiale (segue)

Nel caso dell’uso di algoritmi di clustering come metodo per scegliere i centri delle funzioni a base radiale si possono calcolare le ampiezze delle funzioni di base come:

La deviazione standard dei punti appartenenti ai cluster rispetto al centro del cluster stesso.

Un algoritmo di clustering: K-means

Il K-means è un algoritmo di clustering in cui il numero di cluster è deciso a priori.

Il funzionamento dell’algoritmo è il seguente:

Supponiamo di aver a disposizione N punti xn e di voler trovare un insieme di m vettori rappresentativi μj con j = 1, . . . ,m. L’algoritmo prova a partizionare l’insieme dei punti xn in m sottoinsiemi disgiunti Sj contenenti Nj punti in modo da minimizzare la funzione somma dei quadrati data da:

J=∑j=1, …,kx∈Sj ||x – μj||2

Dove μj è il vettore “media” dei punti appartenenti a Sj, cioè:

μj = (1/Nj) ∑x∈Sj x

Un algoritmo di clustering: K-means (segue)

La versione batch di tale algoritmo consta dei seguenti passi:

  1. Assegna gli N punti a K insiemi Sj in modo casuale.
  2. Calcola il punto medio μj per ogni insieme Sj.
  3. Riassegna ogni punto al sottoinsieme Sj che ha il punto medio più vicino al punto stesso.
  4. Se almeno un punto è stato spostato da un insieme ad un altro ritorna al passo 2, altrimenti l’algoritmo termina.

Self-Organizing Map (SOM)

Un altro algoritmo di clustering puo’ essere realizzato tramite un particolare tipo di reti neurali.

Sel-Organizing Map

Vediamo quale è la loro strutture e quale il loro comportamento.

Struttura di un neurone biologico

I nodi di output sono disposti su una griglia che stabilisce una relazione di vicinanza tra i nodi stessi.

  • La griglia può avere varie forme:
    • rettangolare
    • esagonale
    • Etc..
  • Un differente vettore “prototipo” è associato a ciascun nodo
  • Il vettore prototipo ha le stesse dimensioni dell’input.
Architettura di una SOM

Architettura di una SOM


Struttura di un neurone biologico (segue)

Il comportamento della rete durante la fase di treining è il seguente:

  • I vettori modello sono inizializzati in qualche modo (ad esempio in maniera rendom).
  • Ciascun elemento del training set è presentato alla rete.
  • COMPETITIVE STEPs:
    • I nodi con vettori prototipi che sono più “simili” al vettore di input hanno valore di uscita più alto.
    • Il nodo più attivo è scelto come “winner mode”
  • COOPERATIVE STEPs:
    • Il prototipo del winner node protorype è “avvicinato” ancora di più all’input.
    • I vettori prototipi dei nodi vicinial winner node sono anche essi aggiornati in maniera simile.
Architettura di una SOM

Architettura di una SOM


Self-Organizing Map (SOM)

Più nel dettaglio abbiamo il seguente algoritmo:

Consider a set of N vector in a D-dimentional space (dataset):

X = {x1, x2, . . . , xN}

K is the number of output layer nodes.

For each output node nj with j = 1, . . . ,K there is a D-dimentional prototype vector wj = [wj1,wj2, . . . ,wjD].

We can consider the Euclidean distance as the similarity measure of two vectors.

Self-Organizing Map (SOM) (segue)

Computing the winner neuron.

Let t be the iteration step of the learning process.

Let x(t) be the input vector presented to the network at the step t.

Let wj(t) be the prototype vector associated to the output nodes j at time t.

The winner neuron for the input vector x(t) is the output node j for which:

wj(t) = mini=1,K{|| x(t) – wi(t) ||}

Where || x(t) – wi(t) || is the Euclidean distanza of wj(t) from x(t).

Self-Organizing Map (SOM) (segue)

Updating the winner neuron

wj(t + 1) = wj(t) + a(t)[x(t) - wj]

Where :

wj is the winner neuron

a(t) is the learning rate and vary according to t (in general it decreases as t increases)

Self-Organizing Map (SOM) (segue)

Updating the nodes in the neighborhood of the winner neuron

Let N(j) be the set of nodes in the neighborhood of the winner node j

The prototype vectors are updated using the following rule:

wi(t + 1) = wi(t) + bij(t)[x(t) - wi(t)] for every i belonging to N(j)

wj(t) otherwise

Where bij(t) is a coefficient dependent on both i and j, and it can change at every iterative step.

  • 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