Nella presente lezione ci concentreremo sulla stima dei parametri delle funzioni a base radiale,
in particolare nel caso delle gaussiane:
La scelta dei centri delle funzioni di base dovrebbe essere tale da rispecchiare la densità dei dati di ingresso.
Questa strada non è tuttavia praticabile, per due ragioni fondamentali:
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.
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.
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.
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.
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, …,k ∑x∈Sj ||x – μj||2
Dove μj è il vettore “media” dei punti appartenenti a Sj, cioè:
μj = (1/Nj) ∑x∈Sj x
La versione batch di tale algoritmo consta dei seguenti passi:
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.
I nodi di output sono disposti su una griglia che stabilisce una relazione di vicinanza tra i nodi stessi.
Il comportamento della rete durante la fase di treining è il seguente:
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.
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).
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)
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.
1. Informazioni generali sul corso
3. Un modello computazionale del neurone biologico
4. Possibili problemi risolvibili con Reti Neurali
5. Problemi di Classificazione ed approccio probabilistico
7. Capacità rappresentativa delle reti neurali - parte prima
8. Capacità rappresentativa delle reti neurali - Parte seconda
9. Apprendimento e generalizzazione
10. Discesa del gradiente e backpropagation
11. Back-Propagation
13. Interpretazione output di una rete neural feed-forward
14. Complessità della rete, generalizzazione e termini di regolari...
15. Cross-entropy e variazioni sulla discesa del gradiente
16. Verso le reti neurali RBF: interpolazione esatta.
17. Reti neurali RBF
18. Addestramento di una rete RBF
19. Parametri delle funzioni a base radiale
20. Un primo modello di reti neurali ricorrenti: formalismo di Caia...