Nella presente lezione cercheremo di capire quale è la capacità rappresentativa delle reti Feed-Forward, con funzione di attivazione a soglia (funzione di Heaviside).
Analizziamo, ora, la capacità rappresentativa di una rete neurale feed-forward costituita da un sol nodo e con funzione di attivazione pari alla funzione di Heaviside.
In questo caso abbiamo:
z=θ (a) con a=∑k wk xk dove xk sono i valori di input più il parametro di bias e
θ(x) è la funzione di Heaviside.
Osserviamo che in questo caso la rete Feed-Forward si riduce al neurone di MacCulloch & Pitts.
Tale funzione, assume valore:
L’output della rete è dato, allora, da:
z=θ (a) con a=∑k wk xk
z assumerà valori diversi quando a passa da valori negativi a valori positivi,
quindi “il confine di decisione” è dato da a=0, cioè ∑k wk xk =0.
Se abbiamo, quindi, d input il confine di decisione è un iperpiano d-dimensionale in uno spazio (d+1)-dimensionale.
Cerchiamo di essere più chiari.
Supponiamo di voler utilizzare tale rete per risolvere un problema di classificazione a due classi C1 e C2. In questo caso abbiamo una sola funzione discriminante F(x) e l’algoritmo di classificazione è il seguente:
Se F(x)>0 → elemento rappresentato da x appartiene alla classe C1
altrimenti F(x)<0 → elemento rappresentato da x appartiene alla classe C2
Supponiamo di voler approssimare F(x) tramite la nostra rete z=y(x)=θ (∑k wk xk).
Ci dobbiamo chiedere, quali confini di decisione la nostra rete è capace di rappresentare ?
Tali confini di decisione permettono di risolvere il problema, cioè z=θ (∑k wk xk) può approssimare F(x)?
Dato che la risposta del neurone si differenzia quando l’input risulta essere minore o maggiore della soglia, il confine di decisione rappresentabile dalla nostra rete è dato allora dalla equazione
∑k wk xk =0
Tale equazione corrisponde un (d-1)-iperpiano in uno spazio d-dimensionale
Ad esempio se d=2 abbiamo:
w1 x1 + w2 x2 + w0 =0
che altro non è che l’equazione di una retta.
Quindi una rete neurale Feed-Forward costituita da un solo neurone e con funzione di attivazione di Heaviside può risolvere solo problemi di classificazione che sono linearmente separabili, cioè possiamo rappresentare solo funzioni discriminanti che hanno come confine di decisione un iper-piano.
Osserviamo che l’equazione
∑k wk xk =0
può essere riscritta come
wTx+w0=0
dove wTx è il prodotto scalare tra i vettori
w=(w1,w2, …,wd) e x=(x1,x2, …,xd) e w0 è il bias.
Allora Se xA e xB sono due punti apprtenenti dell’iperpiano
wTx+w0=0
Allora, risulta
wTxA+w0=0= wTxB+w0
quindi
wT xA – wT xB= wT (xA – xB)=0
così w è un vettore perpendicolare ad ogni vettore giacente nell’iperpiano e quindi all’iperpiano stesso.
La distanza dell’iperpiano dall’origine è, inoltre, data da:
l= |w0| / || w ||.
Osserviamo ancora che xTw= ||x|| ||w|| cosα
dove ||x|| è la norma (la lunghezza) del vettore x , α è l’angolo compreso tra il vettore x e il vettore w.
Tale prodotto scalare può essere interpretato come la lunghezza del vettore proiezione di x lungo la direzione di w moltiplicato per la lunghezza di w.
Se indichiamo con xw la lunghezza del vettore proiezione di x lungo la direzione di w possiamo scrivere:
xTw= xw ||w||
xw= (xTw)/||w||
Possiamo dire, allora, che:
Fissato il valore di w e w0, per i valori di input tale che xTw+ w0=0, dato che w e w0 sono costanti, la proiezione
xw =(xTw)/||w||= – w0/||w||
è costante.
Quindi i valori di x che soddisfano xTw+ w0=0, per dei fissati valori di w e w0, corrispondono ai punti la cui proiezione su w da il valore – w0/ ||w|| , tali punti corrispondono ad un iperpiano perpendicolare a w e che lo interseca nel punto – w0/ ||w||.
Dato, allora, un generico vettore x ci sono due casi:
xw > -w0/ ||w||,
questo significa che il vettore x deve giacere oltre il piano perpendicolare e
risulta x_w>-w0
xw < -w0/ ||w||,
questo significa che il vettore x deve giacere prima della perpendicolare e
risulta xw<-w0
Consideriamo, ora, reti neurali feed-forward multistrato full-connected costituite da
Tale rete realizza la seguente funzione:
z(x)=g(∑h w”hθ (∑k w’hk xk)) con k=1,2, …,d e h=1,2, …m.
dove abbiamo incluso il bias nella sommatoria.
Reti così fatte, possono rappresentare una regione di decisione semplicemente connessa e convessa (Ricordo che: Un sottoinsieme di Rd è detto semplicemente connesso se è fatto di un “pezzo solo” e se non ha “buchi”. Un sottoinsieme di Rd si dice convesso se per ogni coppia di punti x,y appartenenti al sottoinsieme il segmento che li congiunge è interamente contenuto nel sottoinsieme stesso. Un insieme convesso è semplicemente connesso).
Osserviamo che ciascun nodo interno definisce un confine di decisione coincidente con un iper-piano (una retta nel caso di d=2), quindi gli m iper-piani definiti dagli m nodi interni vanno a definire una unica regione di decisione (chiusa o aperta) convessa. Il nodo di output permette di decidere, così, se un punto appartiene oppure no alla regione di decisione individuata dagli m nodi interni, cioè se gli m nodi interni hanno valore di output pari a 1 l’input x appartiene alla regione di decisione altrimenti no.
Dimostriamo che la regione di decisione K definita da tale rete è convessa (1).
Data una rete con unità a soglia con m nodi interni (ciascuno rappresentante un confine di decisione dato da un iper-piano) e con un nodo di output che realizza un AND logico, tale rete definisce una regione di decisione, K, convessa.
Per dimostrare ciò dobbiamo dimostrare che comunque presi due punti xA e xB appartenenti alla regione K allora se scelgo un punto xC appartenente al segmento congiungente, tale punto appartiene ancora alla regione K.
Dimostriamo che la regione di decisione K definita da tale rete è convessa (2).
un punto xC appartenente al segmento congiungente xA e xB può essere così espresso:
xC =αxA + (1-α)xB con 0≤ α≤1
Sappiamo che il valore di output della rete per i due punti xA e xB è
z(xA)>0 e z(xB)>0,
quindi, per come è costruita la rete, per ciascun nodo interno si ha
∑k w’hk xAk >0 e ∑k w’hk xBk>0
(ricordo che la funzione g realizza un AND logico e che, quindi, affinché dia 1 come valore di uscita deve essere θ θ(∑k w’hk xk)=1 per ogni h)
Dimostriamo che la regione di decisione K definita da tale rete è convessa (3).
Allora possiamo scrivere
∑k w’hk xCk=
∑k w’hk (αxAk + (1-α)xBk)=
α∑k w’hk xAk+(1-α) ∑k w’hk xBk
dato che ∑k w’hk xAk>0 e ∑k w’hk xBk>0
risulta, così, ∑k w’hk xCk>0 per ogni h.
Quindi xC appartiene alla regione K.
Facciamo notare che:
L’ultimo punto ci dice che con una rete neurale costituita da 3 strati di pesi, o equivalentemente 2 strati di nodi interni, e con funzione di output dei nodi di tipo “a soglia”, può generare qualunque regioni di decisione, e quindi può, almeno in linea teorica, risolvere qualunque problema di classificazione con la condizione di avere un numero sufficiente di nodi interni.
In figura è mostrato un esempio di confine di decisione che non può essere rappresentato da una rete neurale con due strati di nodi (o due strati di pesi).
In questo caso, tale regione può essere approssimata bene quanto si vuole solamente da una rete neurale con due strati di nodi interni (se c’e’ un numero sufficiente di nodi)
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...