Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
DEEBOT T90 PRO OMNI abbina un sistema di aspirazione basato su tecnologia BLAST ad un rullo di lavaggio dei pavimenti dalla larghezza elevata, capace di trattare al meglio le superfici di casa minimizzando i tempi di lavoro. Un robot completo che riesce anche ad essere sottile e garantire automazione ed efficienza nelle operazioni di pulizia di casa
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-01-2012, 11:31   #1
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
[C/C++] Reti neurali

sto studiando le reti neurali attraverso materiale trovato in rete e alcune videolezioni della mia università.

Quello che mi interessava sviluppare attraverso una rete neurale è un sistema che sia in grado di predirre malfunzionamenti di meccanismi attraverso l'acquisizione di segnali di numerosi sensori.

Farei leggere alla rete migliaia di dati in modo da costruire un modello di riferimento ed in base a questo, determinare i vari comportamenti del meccanismo.

Da dove si parte a sviluppare?
Esistono eempi simili al mio problema?

grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 10:51   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
matlab però non è free.

Non ho ancora compreso in cosa consiste però l'apprendimento di una rete neurale.
Teoria a parte: ho un neurone che si attiva entro una certa soglia.

A=w1*x1 + w2*x2 dove w è il peso.

se ho ad esempio w1=1, w2=-1 e x1=-1, x2=1 e mi aspetto in uscita -1

-1*-1 + 1*1 = 2 che è > -1 quindi decremento il peso di un tot sino ad avvicinarmi a quel -1, almeno, così ho capito.

Arrivato in prossimità del risultato desiderato devo memorizzare quei valori dei pesi per quell'input in modo che per quei valori di ingresso uso sempre i medesimi pesi?


scusate l'OT

Ultima modifica di misterx : 10-01-2012 alle 11:29.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 11:06   #3
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2287
Quote:
Originariamente inviato da misterx Guarda i messaggi
matlab però non è free.

Non ho ancora compreso in cosa consiste però l'apprendimento di una rete neurale.
Teoria a parte: ho un neurone che si attiva entro una certa soglia.

A=w1*x1 + w2+x2 dove w è il peso.

se ho ad esempio w1=1, w2=-1 e x1=-1, x2=1 e mi aspetto in uscita -1

-1*-1 + 1*1 = 2 che è > -1 quindi decremento la soglia di un tot sino ad avvicinarmi a quel -1, almeno, così ho capito.

Arrivato in prossimità del risultato desiderato devo memorizzare quei valori dei pesi per quell'input in modo che per quei valori di ingresso uso sempre i medesimi pesi?


scusate l'OT
no, i pesi sono unici e fissi per ogni pattern di input in modo che gli stessi pesi funzionino su tutti i possibili input.
infatti ogni pattern di test nel ciclo di apprendimento da un contributo(parziale che dipende da quanto si scosta il risultato da quello atteso) alla variazione dei pesi di input
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 11:46   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da -MiStO- Guarda i messaggi
no, i pesi sono unici e fissi per ogni pattern di input in modo che gli stessi pesi funzionino su tutti i possibili input.
infatti ogni pattern di test nel ciclo di apprendimento da un contributo(parziale che dipende da quanto si scosta il risultato da quello atteso) alla variazione dei pesi di input
io avevo capito che terminato un ciclo di calcolo, determni l'errore e lo sommi ai pesi e quindi ripeti sino a quando l'output non è quello atteso: sbaglio?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 16:56   #5
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Il mio consiglio è che prima di scrivere codice è bene che studi in modo più approfondito la teoria delle reti neurali, infatti il problema che vuoi risolvere è probabile che necessiti di una rete feed-forward addestrata con un algoritmo "error-back propagation".

Ti consiglio di iniziare da libri di testo.

E sviluppare prima semplici esempi, che sia in C o C++ o in python non è che fa differenza, devi comprendere bene il modello del neurone e i processi di addestramento che sono di vario tipo, a seconda della configurazioe e del problema da risolvere.

Prova prima a realizzare una configurazione per addestrare un neurone ad eseguire un AND o OR logico...

Poi ti occuperai del tuo problema, per le reti il fattore importate è la qualità e la varietà del set di addestramento. Se si hanno anche titubanze sugli algoritmi, introduci troppi fattori che ti creano poi mal di testa...
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2012, 19:47   #6
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
Il mio consiglio è che prima di scrivere codice è bene che studi in modo più approfondito la teoria delle reti neurali, infatti il problema che vuoi risolvere è probabile che necessiti di una rete feed-forward addestrata con un algoritmo "error-back propagation".

Ti consiglio di iniziare da libri di testo.

E sviluppare prima semplici esempi, che sia in C o C++ o in python non è che fa differenza, devi comprendere bene il modello del neurone e i processi di addestramento che sono di vario tipo, a seconda della configurazioe e del problema da risolvere.

Prova prima a realizzare una configurazione per addestrare un neurone ad eseguire un AND o OR logico...

Poi ti occuperai del tuo problema, per le reti il fattore importate è la qualità e la varietà del set di addestramento. Se si hanno anche titubanze sugli algoritmi, introduci troppi fattori che ti creano poi mal di testa...
ciao,
ho letto differenti testi trovati qua e la in rete ma sono tutti troppo vaghi, nessuno che fa un esempio chiaro allo scopo di farti capire come si implementa via codice un neurone per addestrarlo a fare qualcosa. Ho partono con pseudocodice spiegato male oppure si abbandonano a ragionamenti puramente matematici senza approdare a nulla.

Sono quasi convinto che puoi farlo pure in VBA con excel un esperimento, ma il problema è trovare materiale valido di studio.

Ultima modifica di misterx : 10-01-2012 alle 19:50.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 11-01-2012, 15:11   #7
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
se vi spossono interessare due articoli illuminanti

http://www.webalice.it/capaso/DOCS/R...etiNeurali.pdf

http://info.iet.unipi.it/~lazzerini/sisd/Reti.pdf
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2012, 11:38   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
edit

Ultima modifica di misterx : 13-01-2012 alle 15:13.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2012, 12:10   #9
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
ciao,
secondo voi come potrebbe essere il pattern di input di ogni singolo numero di questo esempio ?

http://cs.felk.cvut.cz/~koutnij/studium/jocr/jocr.html
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2012, 11:10   #10
starfred
Senior Member
 
Iscritto dal: Jul 2011
Messaggi: 381
ciao, per il data set generalmente si utilizzano matrici, nel tuo caso utilizza matrici 8x12. Dopo di che crei le tue 10 matrici che rappresentano i numeri, per esempio il numero 1 puoi farlo così

08800
00800
00800

(Ho fatto una 4x4 perché non mi andava di fare una 8x12 cmq il concetto è quello)

A questo punto che hai il tuo bel data set, devi fare il training set cioè è necessario presentare alla rete un certo numero di esempi alterati in modo da renderla in grado di “generalizzare” il più possibile una volta ultimato l’addestramento. Quindi sempre nel caso di prima

88800
00800
00800

Puoi essere utilizzato nel training set per indicare un "uno" disturbato.

Finito questo fai il test set e vedi com'è la tua rete .

Per l'architettura della tua rete, per il numero di neuroni in ingresso, ti consiglio di utilizzare direttamente il numero di elementi della matrice, quindi se hai matrici 5x5 il numero dei neuroni del primo strato saranno 25 e la matrice in ingresso la inserisci come vettore colonna.

Spero di averti dato spunti di riflessione, ciao.
__________________
Concluso positivamente con: Kamzata, Ducati82, Arus, TheLastRemnant, ghost driver, alexbull1, DanieleRC5, XatiX
starfred è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 07:59   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da starfred Guarda i messaggi
ciao, per il data set generalmente si utilizzano matrici, nel tuo caso utilizza matrici 8x12. Dopo di che crei le tue 10 matrici che rappresentano i numeri, per esempio il numero 1 puoi farlo così

08800
00800
00800

(Ho fatto una 4x4 perché non mi andava di fare una 8x12 cmq il concetto è quello)

A questo punto che hai il tuo bel data set, devi fare il training set cioè è necessario presentare alla rete un certo numero di esempi alterati in modo da renderla in grado di “generalizzare” il più possibile una volta ultimato l’addestramento. Quindi sempre nel caso di prima

88800
00800
00800

Puoi essere utilizzato nel training set per indicare un "uno" disturbato.

Finito questo fai il test set e vedi com'è la tua rete .

Per l'architettura della tua rete, per il numero di neuroni in ingresso, ti consiglio di utilizzare direttamente il numero di elementi della matrice, quindi se hai matrici 5x5 il numero dei neuroni del primo strato saranno 25 e la matrice in ingresso la inserisci come vettore colonna.

Spero di averti dato spunti di riflessione, ciao.
ciao,
ma per il risultato atteso ad esempio da 08800 cosa imponi?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 09:40   #12
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2287
Quote:
Originariamente inviato da misterx Guarda i messaggi
ciao,
ma per il risultato atteso ad esempio da 08800 cosa imponi?
08800 è solo un pezzo del pattern di input: il pattern completo segnalato da starfred è 088000080000800 (in forma lineare) e il suo risultato atteso sarà "1"
come tu voglia esprimere "1" in uscita dalla rete è una tua scelta: per esempio puoi avere N output units, ognuna delle quali rappresenta una cifra (l'unità di output 1 si attiverà nel caso arrivi in ingresso un pattern rappresentante "1" mentre tutte le altre unità non si attiveranno: una cosa del tipo 100000000), oppure puoi avere una sola unità output che da risultati compresi tra 0 e 9 a seconda dell'input(e quindi in questo caso l'output atteso sarà semplicemente 1)
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 09:54   #13
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da -MiStO- Guarda i messaggi
08800 è solo un pezzo del pattern di input: il pattern completo segnalato da starfred è 088000080000800 (in forma lineare) e il suo risultato atteso sarà "1"
come tu voglia esprimere "1" in uscita dalla rete è una tua scelta: per esempio puoi avere N output units, ognuna delle quali rappresenta una cifra (l'unità di output 1 si attiverà nel caso arrivi in ingresso un pattern rappresentante "1" mentre tutte le altre unità non si attiveranno: una cosa del tipo 100000000), oppure puoi avere una sola unità output che da risultati compresi tra 0 e 9 a seconda dell'input(e quindi in questo caso l'output atteso sarà semplicemente 1)
ciao,
pensavo che si dovesse seguire una inea precisa e non che l'output fosse deciso da chi implementa la rete.

Quindi nel caso di riconoscimento di caratteri, supponendoi di avere 12 patterni in input da 8 bit, come si decide a quale carettere corrisponde una data sequenza di patterns?

if (patterns1 == 1 && patterns2 == 1 && ........... )

Mi viene il dubbio in quanto se devo riconoscere ad esempio 10 caratteri, dovrei costruire 10 matrici le quali ognuna a seconda di cosa soddisfano mi informano di quale carattere si tratta.

Problema: ma se di oggetti da riconoscere ne ho qualche centinaio?

grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 11:18   #14
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2287
ciao
beh la struttura della rete è a discrezione dell'implementatore, sta a te scegliere l'approccio migliore e più congeniale al tuo problema
ovviamente con n output units dovrai controllarle tutte, mentre con un unica output dovrai andare a controllare il livello di attivazione dell'unità per capire la classificazione fatta: come vedi niente di complicato comunque

per quanto riguarda il numero di oggetti da riconoscere: beh si, se devi classificare 1000 oggetti diversi avrai bisogno di almeno un pattern di esempio per ognuno dei 1000 caratteri...un lavoro abbastanza lungo in effetti

ti lascio comunque le slide del corso, ora aggiornate, che seguii qualche anno fa
http://www.di.unito.it/~cancelli/retineur11-12.htm
nel tuo caso guarda bene percettrone, regola delta e magari multilayer
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 11:33   #15
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da -MiStO- Guarda i messaggi
ciao
beh la struttura della rete è a discrezione dell'implementatore, sta a te scegliere l'approccio migliore e più congeniale al tuo problema
ovviamente con n output units dovrai controllarle tutte, mentre con un unica output dovrai andare a controllare il livello di attivazione dell'unità per capire la classificazione fatta: come vedi niente di complicato comunque

per quanto riguarda il numero di oggetti da riconoscere: beh si, se devi classificare 1000 oggetti diversi avrai bisogno di almeno un pattern di esempio per ognuno dei 1000 caratteri...un lavoro abbastanza lungo in effetti

ti lascio comunque le slide del corso, ora aggiornate, che seguii qualche anno fa
http://www.di.unito.it/~cancelli/retineur11-12.htm
nel tuo caso guarda bene percettrone, regola delta e magari multilayer
ciao,
grazie per i link.

Un chiarimento tenendo come esempio il riconoscimento dei caratteri

00088000 - 1
00800800 - 0
00800800 - 1
08000080 - 1
08000080 - 0
08000080 - 0
88888888 - 1
80000008 - 1

questi sono i pattern di riconoscimento del carattere A maiuscolo ad esempio: ma potrei anche costruire un pattern da 8x8 = 64 bit da analizzare tutto in una volta e se in uscita avessi ad esempio 1 potrei dire con una certa propabilità che si tratta del carattere A maiuscolo giusto?

Mi chiedo però se potrebbero esistere casi in cui ho in uscita ancora 1 ma il carattere non è una A maiuscola ed in questi casi come ci si comporta.


grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-01-2012, 12:12   #16
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2287
Quote:
Originariamente inviato da misterx Guarda i messaggi
ciao,
grazie per i link.

Un chiarimento tenendo come esempio il riconoscimento dei caratteri

00088000 - 1
00800800 - 0
00800800 - 1
08000080 - 1
08000080 - 0
08000080 - 0
88888888 - 1
80000008 - 1

questi sono i pattern di riconoscimento del carattere A maiuscolo ad esempio: ma potrei anche costruire un pattern da 8x8 = 64 bit da analizzare tutto in una volta e se in uscita avessi ad esempio 1 potrei dire con una certa propabilità che si tratta del carattere A maiuscolo giusto?
esatto
a mio modo di vedere il problema della soluzione proposta sopra (suddividere il carattere in 8 pattern avendo un solo output e analizzare quindi gli 8 output distinti) è quello della difficile discriminazione tra caratteri:
la differenza tra una "i" ed uno spazio vuoto quale sarebbe?entrambe molto probabilmente darebbero "0" su tutti gli output
molto meglio sarebbe analizzare come dici tu 64 bit alla volta ed avere 26 output units(uno per carattere), attivandone una sola alla volta

Quote:
Mi chiedo però se potrebbero esistere casi in cui ho in uscita ancora 1 ma il carattere non è una A maiuscola ed in questi casi come ci si comporta.
grazie
beh il rischio di attivazioni non volute c'è sempre, ma in teoria con un buon training set puoi ridurre il rischio entro un margine accettabile
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2012, 13:31   #17
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
c'è una cosa che non mi è chiara nell'esempio a pagine 13 di questo pdf http://www.webalice.it/capaso/DOCS/R...etiNeurali.pdf

Li si hanno dei pattern di input e si cercano dei parametri "w" i quali siano comuni a tutti i pattern.

Supponendo che io abbia già i miei pattern di riferimento e conosca i rispettivi output, a che mi servirebbe istruire la mia rete a quel modo?

grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2012, 14:41   #18
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2287
Quote:
Originariamente inviato da misterx Guarda i messaggi
c'è una cosa che non mi è chiara nell'esempio a pagine 13 di questo pdf http://www.webalice.it/capaso/DOCS/R...etiNeurali.pdf

Li si hanno dei pattern di input e si cercano dei parametri "w" i quali siano comuni a tutti i pattern.

Supponendo che io abbia già i miei pattern di riferimento e conosca i rispettivi output, a che mi servirebbe istruire la mia rete a quel modo?

grazie
ma questo è proprio il punto fondamentale della rete neurale
i pesi sono sempre comuni a tutti i pattern: quello che si cerca è una combinazione di pesi il più generica possibile, che vada bene cioè per tutti i possibili ingressi
i pattern di riferimento sono il training set, l'insieme di pattern scelti per addestrare la rete: sono scelti proprio perchè, sapendo a priori il risultato atteso, permettono di aggiustare i pesi in modo da ottenere dalla rete il risultato desiderato
una volta che la rete è stata istruita (e cioè che si è trovata una combinazione di pesi w tale che classifichi correttamente tutti i pattern del training set), essa sarà in grado, con buona approssimazione, di lavorare e di classificare correttamente qualsiasi pattern in ingresso (dello stesso tipo ovviamente)
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2012, 15:27   #19
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da -MiStO- Guarda i messaggi
ma questo è proprio il punto fondamentale della rete neurale
i pesi sono sempre comuni a tutti i pattern: quello che si cerca è una combinazione di pesi il più generica possibile, che vada bene cioè per tutti i possibili ingressi
i pattern di riferimento sono il training set, l'insieme di pattern scelti per addestrare la rete: sono scelti proprio perchè, sapendo a priori il risultato atteso, permettono di aggiustare i pesi in modo da ottenere dalla rete il risultato desiderato
una volta che la rete è stata istruita (e cioè che si è trovata una combinazione di pesi w tale che classifichi correttamente tutti i pattern del training set), essa sarà in grado, con buona approssimazione, di lavorare e di classificare correttamente qualsiasi pattern in ingresso (dello stesso tipo ovviamente)
ciao,
quindi vuoi dire che devo trovare dei parametri "w" comuni a tutti e 26 i caratteri che deisidero far riconoscere alla mia rete?

Cioè, dati(costruiti da me) 26 pattern da 64 bit e decisi i relativi output(risultati attesi da me) quindi che conosco, devo far determinare alla mia rete quei parametri "w" che mi forniscano i medesimi risultati "attesi" come output?

Se è così come ho intuito, è possibile che esistano più valori dei parametri che portino all'output corretto?

grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2012, 17:35   #20
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da misterx Guarda i messaggi
ciao,
quindi vuoi dire che devo trovare dei parametri "w" comuni a tutti e 26 i caratteri che deisidero far riconoscere alla mia rete?

Cioè, dati(costruiti da me) 26 pattern da 64 bit e decisi i relativi output(risultati attesi da me) quindi che conosco, devo far determinare alla mia rete quei parametri "w" che mi forniscano i medesimi risultati "attesi" come output?

Se è così come ho intuito, è possibile che esistano più valori dei parametri che portino all'output corretto?

grazie
Sì, esistono più valori di w.
Praticamente il problema delle reti neurali è analogo ad un'interpolazione, e così il suo scopo: come usando una semplice parabola y = ax2 + bx + c per interpolare una curva si cercano i parametri a,b,c che meglio "piegano" la parabola per farla somigliare alla curva, nelle reti neurali fai questa cosa in più grande stile.
E' sempre comunque un approccio di tipo "black box": gli input entrano nella scatola nera, una funzione che li combina assieme ai parametri (i pesi w nelle reti, a b e c nella parabola) e da essa escono gli output y.

Possiamo dire che la struttura che dai alla rete equivale alla parabola (è la funzione che, dati gli input x e i parametri a,b,c, cioè i pesi nella rete neurale, ti restituisce y) mentre i pesi sono i parametri a,b,c, che vengono cambiati nel processo di addestramento della rete affinchè y predetto sia il più vicino possibile all'y reale, dati certi input x.

Ed esistono più combinazioni dei valori w semplicemente perchè li si ricava per regressione non lineare:
1) dai un valore di primo tentativo ai pesi W1
2) prendi il primo set di dati X1, li butti nel black box insieme a W1 e calcoli Ycalcolato1; se Ycalcolato1 differisce molto da Yreale1, cambi i pesi W1 in un certo modo (in che modo, lo decide il metodo numerico che stai usando)
3) col nuovo set di valori di W2 ripeti il punto 2 con un secondo set di dati X2, e confronti Ycalcolato2 con Yreale2; vai avanti così finchè trovi, ad una certa iterazione (ne serviranno sempre più all'aumentare del numero di dati in gioco, cioè numero di X, numero di pesi W, numero di set di addestramento X-Y), mettiamo alla 126° iterazione, che usando W126 hai che
(Ycalcolato-Yreale) < errore [NB: questo deve valere per tutti i set di dati di addestramento, non per uno solo, ovviamente]
A quel punto puoi affermare che la tua rete neurale può prevedere il comportamento del sistema reale per cui è stata addestrata, cioè ad ogni set di input X che coinvolgono il sistema, esso risponderà con Yreali che la tua rete può predirre con il grado di accuratezza che hai richiesto.

Non ho capito bene da che conoscenze parti, quindi forse il mio discorso dà per scontate alcune conoscenze che ti mancano, dimmi se c'è qualcosa di poco chiaro.

Ultima modifica di vendettaaaaa : 17-01-2012 alle 19:44.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Ancora una rimodulazione da TIM: questa ...
Apple svela le AirPods Max 2 c...
Robot umanoidi nelle Fab di chip: STMicr...
DLSS 5: quali GPU lo supporteranno? Ecco...
NVIDIA porta l'AI nello spazio: presenta...
NVIDIA Vera: la CPU per l'AI agentica pr...
Dell rinnova la sua gamma di workstation...
NVIDIA DLSS 5 arriverà in autunno...
Intel Xeon 6 con P-core è la CPU ...
Telepass e TIM: la mobilità integ...
Deep Tech Revolution: le cinque startup ...
Leapmotor, sostenuta da Stellantis, ragg...
Isar Aerospace e Astroscale stringono un...
Donut Lab, test di ricarica con Verge TS...
Polestar, arriva un nuovo finanziamento ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v