Reti neurali, come padroneggiarle, da dove cominciare? - pagina 7

 
Neutron >> :
Beh, non essere così duro. Dopotutto, la rete viene talvolta riqualificata (e lo faccio per ogni conteggio della BP analizzata) e il metodo della media trova un minimo. Per quanto riguarda la riduzione della dimensionalità, non funziona per i BP come quelli dei prezzi nella misura che state presentando, purtroppo.

Che periodo di tempo state usando? Per quanto riguarda il downsizing, dipende da ciò che si intende fare. Se si tratta di una banale pre-elaborazione, allora non avrà un effetto adeguato senza alcune considerazioni a priori, cioè quando si hanno già abbastanza dati e si sta solo migliorando il risultato. Se stai usando il downsizing per qualcos'altro, potrebbe essere qualsiasi cosa. ;)

 
registred писал(а) >>

Che periodo di tempo usate?

Non uso nessun TF.

La ragione è che le candele sono usate in tutti i timeframe, quindi il BP costruito dai prezzi di apertura (o apertura) è più vicino al BP casuale integrato che il BP costruito da quello iniziale con altri metodi (come il passaggio al tempo dello strumento ecc.).

 

Grazie gpwr, arnautov!

Шаг 1: Выбираем входные данные. Например,


x1 = WPR Per1

x2 = WPR Per2

x3 = WPR Per3

Ho capito bene che per dati di input si intendono le variabili nei parametri esterni dell'EA, con le quali i coefficienti saranno confrontati?

Più vicino al soggetto? Nessun problema! Si dovrebbe iniziare scrivendo un neurone, e poi combinarli in una rete. E programmi sofisticati - questo è dopo. Tutti gli altri consigli sono spazzatura.

E scrivendo un neurone, si può suddividere in fasi?


Ebbene? Chi ha scritto nel thread che vorrebbe usare un esempio, vogliamo cominciare?

I primi passi ci sono stati indicati, il consigliere è a pagina cinque...

 
Neutron >> :

So che due teoremi sono stati dimostrati non molto tempo fa.

Sarò grato per i riferimenti

Secondo il primo, NS non lineare a tre strati (che consiste di tre strati di neuroni, con non linearità all'uscita di ogni strato) è un approssimatore universale

Beh, sembra che sia stato dimostrato molto tempo fa. Che si può approssimare qualsiasi funzione, con una precisione comunque piccola, con un perseptron a 3 strati.

e aumentare ulteriormente il numero di strati non aggiunge potenza alla rete.

Secondo il secondo teorema, la potenza di calcolo della rete non dipende dal tipo specifico di non linearità alle uscite dei suoi neuroni. È importante che essa (la non linearità) sia in linea di principio, e non importa cosa sia esattamente - sigmoide o arctangente.

Quello che dicevo è il risultato di esperimenti pratici. Per quanto riguarda la non linearità... devi prima familiarizzare con questi teoremi.

Inoltre, si dimostra una relazione univoca tra la lunghezza ottimale del campione di allenamento su dati storici, la dimensionalità dell'input NS e il numero totale delle sue sinapsi, nel senso di minimizzare l'errore di predizione su dati non coinvolti nell'allenamento della rete. Questo permette di non impegnarsi nel leninismo selezionando manualmente questo optimum. Con le capacità MS esistenti, questo fa risparmiare molto tempo e fatica.

Intendevi il numero di parametri regolabili? Anche le soglie sono incluse. A proposito, sarebbe anche utile avere una prova documentale. E non sarebbe male per coloro che stanno iniziando ad occuparsi di reti neurali familiarizzare con questo materiale.

 
Andrey4-min >> :

E scrivere un neurone, si può scomporre in passi?

È meglio scrivere in un linguaggio orientato agli oggetti.


Il neurone è un concetto troppo superficiale quando si scrive NS.

Uno strato è un'unione di neuroni identici, quindi non ha senso considerare un neurone separatamente.


Ho usato solo 2 tipi di astrazioni nella mia libreria: livelli e pesi.


I pesi sono un blocco di sinapsi che collegano 2 strati.

Uno strato ha un buffer di input, un buffer di output e un buffer di errore, e una funzione di attivazione. Le sinapsi sono un array bidimensionale e collegano il buffer di uscita del livello al buffer di ingresso come segue.

Una rete è un insieme di livelli e di collegamenti tra di loro. Qualsiasi strato che ha segnali non nulli nel buffer degli errori può essere considerato uno strato di uscita.

 
TheXpert писал(а) >>

Beh, questo è stato dimostrato molto tempo fa. Che un Perspectron a 3 strati può approssimare qualsiasi funzione, con qualsiasi piccola precisione data.

Errore, non precisione.

Se questo è chiaro, allora che senso ha tutta questa complessità:

TheXpert ha scritto >>.

Su molti problemi il perseptron a 4 strati mostra risultati e convergenza molto migliori.

E in alcuni posti si usa un 5 strati. Per quanto riguarda le reti complesse (con strati di uscita multipli e collegamenti complessi) basate su un perseptron, lascerò fuori quella parte per ora.

Intendi il numero di parametri configurabili? Anche le soglie sono incluse. A proposito, sarebbe anche utile documentarli. E coloro che stanno iniziando ad occuparsi di reti neurali farebbero bene a familiarizzare con questo materiale.

Sì, intendevo il numero di pesi in NS e la loro relazione con il numero di ingressi e la lunghezza ottimale del campione di allenamento. La derivazione della relazione è data nell'articolo allegato all'allegato alle pagine 64-65. 64-65. In breve, se il numero di pesi di NS è w, il numero di ingressi d e la lunghezza del campione di addestramento P, in modo ottimale, deve essere soddisfatta la seguente condizione: P = (w^2)/d

I riferimenti ai teoremi li darò più tardi - ho bisogno di trovarli.

File:
yvtwslxtn.zip  1592 kb
 
Neutron >> :

Per margine di errore, non per precisione.

Sì.

Se questo è chiaro, allora perché la complessità:

È semplice, quando l'aggiunta di un livello o il cambiamento dell'architettura è fatto con pochi clic del mouse o poche righe di codice, allora queste complessità si trasformano in extra interessanti.

Sì, intendevo il numero di pesi nel NS in relazione al numero di ingressi e alla lunghezza ottimale del campione di allenamento. La derivazione della relazione è data nell'articolo allegato in Attach alle pp. 64-65.

>> Grazie. E la dimostrazione del teorema? O almeno la dicitura esatta?

 

Il teorema di idoneità per qualsiasi funzione neuronale non lineare è stato dimostrato dal matematico ex sovietico e, dalla fine degli anni '80, americano Vladik Kreynovich [1] e pubblicato in una delle principali riviste occidentali di reti neurali.

1. Kreinovich V.Y. Non linearità arbitraria è sufficiente a rappresentare tutte le funzioni da reti neurali: Un teorema / Neural Networks, 1991, Vol.4, № 3. - pp.381-383.

P.S. Sulla sufficienza di 3 strati - più tardi.

 

La prova della sufficienza di 3 strati l'ho vista nell'articolo di Gorban A.N. "..." - non la trovo.

La costanza del fatto della sufficienza è nell'articolo allegato qui sotto a pagina 39.

File:
esibfjnus.zip  967 kb
 
Sembra esserci qualche connessione con il teorema, dimostrato da Kolmogorov, che qualsiasi funzione di qualsiasi numero di variabili può essere espressa esattamente in termini di funzioni di due variabili. Forse non l'ho espresso con precisione, ma è spesso citato negli articoli su NS.
Motivazione: