Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Calcoli con la rete neurale

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Calcoli con la rete neurale

Messaggioda Foto Utentefreccia1956 » 9 nov 2014, 13:27

Dopo aver addestrato una rete al calcolo del seno di un angolo compreso tra 0 e 360 attraverso una tabella di 36 coppie x,y la rete, se non ho capito male, dovrebbe essere in grado di calcolare il seno di un qualunque angolo traslato nel range 0 - 1 e compreso nel range di addestramento.
La mia domanda ora è questa: per calcolare la mia nuova y per un valore di x non contenuto nella tabella di apprendimento, è corretto usare la procedura feedForward usata in precedenza per l'addestramento, cioè scrivere y = feedForward(x) oppure è necessario fare ulteriori elaborazioni ?

Grazie.
Avatar utente
Foto Utentefreccia1956
16 4
New entry
New entry
 
Messaggi: 50
Iscritto il: 11 apr 2011, 22:26

0
voti

[2] Re: Calcoli con la Rete Neurale

Messaggioda Foto UtenteRussell » 9 nov 2014, 13:39

Si, basta chiamare il forward
il dilemma è capire se è stata correttamente addestrata e se quindi il risultato ha gia' un errore trascurabile
quindi...provare per credere
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2193
Iscritto il: 4 ott 2009, 10:25

0
voti

[3] Re: Calcoli con la rete neurale

Messaggioda Foto Utentefreccia1956 » 10 nov 2014, 2:44

dunque... l'output relativo a ciascun valore dato come esempio risulta pressoché identico al valore desiderato ( o atteso ) ma la funzione feedForward(x) con x compreso tra 0° e 180 °, spesso ma non sempre , mi restituisce un valore completamente diverso da quello aspettato. Per tentativi ed errori ho cercato di interpretare il problema e mi sono accorto che tutto ciò dipende dai valori random di inizializzazione compresi tra 0 - 1 dei pesi wh e wy.

Mi chiedo se sia normale determinare sperimentalmente tali valori oppure se esiste un metodo diverso.
Per quanto mi riguarda ho provato a sperimentare un metodo ( sicuramente già esistente ma a me sconosciuto visto che per me è la prima esperienza in materia di reti neurali) che bypassa tale problema e consiste nel memorizzare in un database i pesi calcolati per ciascuna coppia campione Xc, Yc.
Visto che la funzione feedforward(Xc) restituisce quasi esattamente il valore desiderato allora con il database indicizzato secondo il valore di Xc, risulta facile assegnato un generico valore x determinare la posizione del valore Xc più prossimo e quindi determinare i corrispondenti pesi più adatti a calcolare il corrispondente valore di y.

Gradirei una Vostra opinione in merito, Grazie.
Allegati
dopo.png
dopo
dopo.png (6.55 KiB) Osservato 2433 volte
prima.png
Prima
prima.png (6.91 KiB) Osservato 2433 volte
Avatar utente
Foto Utentefreccia1956
16 4
New entry
New entry
 
Messaggi: 50
Iscritto il: 11 apr 2011, 22:26

0
voti

[4] Re: Calcoli con la rete neurale

Messaggioda Foto UtenteRussell » 10 nov 2014, 11:17

Per come la so io i pesi delle tue funzioni rimangono costanti dopo la fase di apprendimento, e non devono essere selezionati da un paniere calcolato sperimentalmente.
Il difficile infatti è fare un buon apprendimento, e trovare non solo i giusti coefficienti, ma anche la migliore combinazione di funzioni.
Di metodi ce ne sono moltissimi, e dipende dalla complessità del tuo problema.... sapevo che una delle nuove frontiere molto gettonate per complessi problemi era usare durante la fase di apprendimento la potenza di algoritmi genetici per generare configurazioni piu' flessibilmente evolutive.
magari dai un'occhiata qui, ti ho trovato questa spiegazione abbastanza dettagliata del caso in questione (funzione seno)
http://automatica.ing.unibs.it/mco/cgsa/neurali/backpropagation.html
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2193
Iscritto il: 4 ott 2009, 10:25


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti