Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abbiamo un dataset dove in funzione del peso e della lunghezza corrisponde una tipologia di gatto.
Adesso a questo data set di 10 elementi si aggiunge un nuovo elemento o almeno vengono vengono dati il peso ed la lunghezza
ma nn sappiamo se queste siano di un gatto della sabbia o della giungla.
e possibile addestrare una rete neurale in modo che datogli come imput una coppia lunghezza-peso possa collocare queste
grandezze nella categoria adatta (in questo caso gatto della giugla o della sabbia)
input
nodo ma Wipes Per interpretarlo possiamo dire se il numero si avvicina ad 1 allora
sarà un gatto delle sabbie se si avvicina a 0 sarà un gatto della
output giungla.
m1*w1+m2*w2+bias=y
sigmoide the
In questo modo diventa
Sigmoide(m1*w1+m2*w2+bias)=y
plex
Conoscendo i valori di m1 e m2 mancano i valori dei pesi e del bias, questi numero all’inizio è casuale, il computer non sa a cosa si
riferiscono i numero che gli abbiamo dato in pasto, quindi è necessario “allenarlo”
Funzione di costo
Per addestrare una rete neurale si utilizza la funzione di costo, questa funzione come input ha i dati e la prevesione della rete
neurale e ci restituisce un numero, questo numero ci dice quanto la previsione della rete neurale sia distante dal risultato che
dovrebbe darci.
Quello che dobbiamo fare è trovare un modo per far si che il risultato della funzione di costo si molto piccolo, ma per far vaeiare
questo output cosa possiamo modificare?
I dati sicuramente no, quindi dobbiamo far variare la previsione della rete neurale che ricordiamo dipendere dai pesi e w1 e w2 e dal
bias.
abbiamo una coppia di peso lunghezza diversa da quella del dataset ma che fa parte dell’insieme del gatto delal giungla: io voglio
che la previsione della rete neurale sia il numero più vicino possibile a 0 che corrisponde al valore assegnato al gatto della giungla.
la funzione costo definita come differenza tra la previsione e il valore che vorremo noi elevato al quadrato (0,9-0)^2 ovvero l’errore
quadratico (squared error cost function), quindi
(previsione-obiettivo)^2
Immaginiamo una rete neurale senza imput che restituir come previsione b=3
RN()=b obbiettovo=3 —>funzione di costo—> (b-3)^2, noi vogliamo minimizzare il risultato di questa funzione, potremo
assegnare il valore di b=3 e avremo risolto e sarebbe giusto ma quando le reti diventano complesse non è così ovvio
Quindi b<3 dobbiamo far crescere b, quindi sottraiamo il valore della pendenza (che è negativa)
Ma se noi sottriamo la pendenza non riusciremo mai a convergere al risultato voluto perche ci sposteremo da una parte all’altra
delal curva, quindi dobbiamo sottrare solo una parte di questa pendenza.
fa
3
a
costo
fill f 31
Questa frazione della pendenza da sottrare si chiama Tasso di apprendimento è LEARNING RATE, ma come faccio a trovare
la pendenza della retta nel punto? è la derivata nel punto, in questo caso la derivata della pendenza è f’(b)=2(b-3)
Addestriamo la rete
Assegnamo un input, la rete associa de valori casuali ai pesi e bias, il tutto viene normalizzato dato dalla funzione sigmoide,
in output avremo una previsionec p.
Questa fase appena descritta prende il nome di FOWARD Propagation cioè propagazione i navante, adesso entra in gioco la
funzione di costo, (p-obbiettivo)^2, il nostro scopo è minimazzare la funzione ci costo
a
input me
III
modo
2 pe
Wit
Innato
we frazionalpendenzo della retta tangenti
I
we w LR
tff
learning rata derivataparzialerispetto
peso
mai finiamo lo
nemmiMII
P sigmoide
Insiwetzawsthin a
digit sigla
le sigla
da
aw
acosto
per trovare chialtri 2
IET FI It In
It soso.zt.IE
Quindi
we we a
III wa un La III la b in III
Il settaggio all'indietro di nuovi valori di wa W eh si chiama BACK Propagation