Rete neurale in forma di script - pagina 3

 
sprite:
kombat:
Qualcosa nella logica di questo script assomiglia a un semplice scrambler 4in2

Uno scrambler è un sistema non addestrabile.

E la rete in questo script è insegnabile. E il processo di apprendimento è mostrato in dinamica da epoca a epoca sullo schermo.

Potete vedere come i pesi dei neuroni in ogni strato cambiano, e come la griglia diventa sempre più accurata man mano che viene allenata.

Qui sopra ci sono tre post dove lo stesso algoritmo ha imparato

per lavorare con tre diverse serie di dati.

Nel caso di un encoder, sarebbero necessari tre encoder per ogni set di dati.

Ho modificato un po' l'algoritmo di apprendimento.

1º cambiando dinamicamente il numero di neuroni qualcosa come un ALGORITMO GENETICO, però senza selezionare i migliori e senza creare da essi generazioni :-) senza correzione delle connessioni

2. Fermare l'apprendimento quando si raggiunge un'alta precisione dei risultati

 
YuraZ:

Ho leggermente messo a punto l'algoritmo di apprendimento

1) cambiare dinamicamente il numero di neuroni, qualcosa come un ALGORITMO GENETICO, ma senza selezionare i migliori e senza produrre da loro :-) senza correggere le connessioni

2. Smettere di imparare quando si raggiunge un'alta precisione dei risultati.



Non vuole preparare una versione rivista per il pubblico?

 
YuraZ:
sprite:
kombat:
Qualcosa nella logica di questo script assomiglia a un semplice encoder 4v2

Il codificatore è un sistema non addestrativo.

E la rete è addestrata in questo script. E il processo di apprendimento è mostrato in dinamica da epoca a epoca sullo schermo.

Potete vedere come cambiano i pesi dei neuroni in ogni strato, e come la griglia diventa sempre più accurata man mano che viene allenata.

Qui sopra ci sono tre post in cui lo stesso algoritmo ha imparato

per lavorare con tre diverse serie di dati.

Nel caso di un codificatore, sarebbero necessari tre codificatori per ogni set di dati.

Ho modificato un po' l'algoritmo di apprendimento.

1) cambiare dinamicamente il numero di neuroni, qualcosa come un ALGORITMO GENETICO, ma senza selezionare i neuroni migliori o creare prole da essi :-) senza correggere le connessioni

2a fermata dell'addestramento quando si raggiunge un'alta precisione dei risultati


Ci siamo!!! Il ghiaccio si è rotto! :))))

 
Vinin:
YuraZ:

Ho leggermente messo a punto l'algoritmo di apprendimento

1) cambiare dinamicamente il numero di neuroni, qualcosa come un ALGORITMO GENETICO, ma senza selezionare i migliori e senza produrre da loro :-) senza correggere le connessioni

2. Smettere di imparare quando si raggiunge un'alta precisione dei risultati.



Ci sarà una versione definitiva per il pubblico?

Certo, mi piacerebbe dare un'occhiata, forse qualcuno aggiungerà qualcosa :)


Per quanto riguarda la precisione, non credo che sia l'obiettivo.

L'obiettivo è che la rete alla fine dell'addestramento distingua tutti i set di allenamento

tra di loro. E questo è disponibile con una precisione normale.


Come gli esperimenti hanno dimostrato, questa rete ha bisogno solo di 300 epoche di allenamento per imparare a "pensare".

con gli insiemi di cui sopra. Sì, lo si può vedere visivamente durante l'allenamento,

La rete comincia rapidamente a distinguere tra le serie di dati.


E sarebbe interessante vedere come cambiare dinamicamente il numero di neuroni in un Expert Advisor durante i test,

in cui sarà costruita questa griglia. E il numero di neuroni da prendere nell'ottimizzatore MT.

 
Topor:

Come si fa a far prevedere il prezzo?

Non si può. Non ci si deve aspettare un miracolo da una rete neurale. Non è il NS che fa la previsione, ma l'algoritmo incorporato in esso, l'algoritmo è basato sulle condizioni di trading, e le condizioni di trading .... sono determinati da VOI.

 
sprite:
kombat:

Non contro, ma non ancora PER l'uso delle reti neurali nel trading...

Allo stesso modo :) !!!

Ma l'algoritmo sta lavorando e imparando :) E poi vedremo :)


L'interesse per le reti è ulteriormente alimentato dalla EA che vince il campionato con la rete.

Naturalmente, lì avevamo una rete diversa. Ma l'uomo ha fatto il lavoro e ha ottenuto il risultato.


La questione non è quale rete, ma cosa si vuole ottenere da essa. E il risultato è stato ottenuto non a causa del NS, ma a causa delle condizioni commerciali, che il NS ha composto e ha dato una certa previsione probabile. NS è infatti un filtro, che può essere adattivo (autoapprendimento NS) e quindi ha un ritardo (per il periodo di apprendimento). Il vantaggio di NS è che può unire componenti disparate del vostro TS in un unico risultato e disporre indipendentemente i rapporti di significatività per queste componenti (imparare).

 
Vinin:
YuraZ:

Ho leggermente messo a punto l'algoritmo di apprendimento

1) cambiare dinamicamente il numero di neuroni, qualcosa come un ALGORITMO GENETICO, ma senza selezionare i migliori e senza produrre da loro :-) senza correggere le connessioni

2. Smettere di imparare quando si raggiunge un'alta precisione dei risultati.


Non volete fornire una versione migliorata per il pubblico?

Victor, ci sarà.


A proposito, ho aumentato l'accuratezza delle previsioni molte volte! Il problema è che l'algoritmo richiede troppo tempo per allenarsi :-)))

Non ho ancora risolto questo problema - mi assicurerò di postare il codice!

Mi manca il codice basato su un timer! Non ce l'ho in MQL4!

 
Xadviser:
Topor:

Come si fa a far prevedere il prezzo?

Non si può. Non ci si deve aspettare un miracolo da una rete neurale. Non è il NS che fa la previsione, ma l'algoritmo incorporato in esso, l'algoritmo è basato sulle condizioni di trading, e le condizioni di trading .... sono determinati da VOI.

Ti sei imbattuto in qualche algoritmo decente?

Solo una parola o due su di loro.

 
Xadviser:
Topor:

Come si fa a far prevedere il prezzo?

Non si può. Non ci si deve aspettare un miracolo da una rete neurale. Non è il NS che fa la previsione, ma l'algoritmo incorporato in esso, l'algoritmo è basato sulle condizioni di trading, e le condizioni di trading .... E le condizioni di trading sono definite da VOI.

I guru consigliano di prevedere non il prezzo ma il cambiamento.

 
YuraZ:

Non è sempre necessario normalizzare, chi dice che la griglia PUÒ e DEVE funzionare solo con 0 e 1?


Posso allegare una semplice griglia con un esempio, (purtroppo non ci sono materiali a portata di mano in questo momento) - lo farò più tardi

dove una semplice NN risolve questo problema senza preparazione dei dati con normalizzazione

purtroppo questa non è la fonte


Tuttavia, l'esempio che ho fatto è in un certo senso già normalizzato

la condizione ha due intervalli


1 0-100

2 10-30


avete solo bisogno di trovare il rapporto della posizione in un intervallo - che è noto a

in sostanza questo è il ridimensionamento.

La normalizzazione è quasi sempre necessaria. I dati devono essere all'interno dell'intervallo di definizione della funzione di attivazione.

Nello script il sigmoide è [-1;+1]. Se lo sostituisci con, diciamo, un esponenziale ... o radice quadrata.


http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/ActivationFunctions.htm