Discussione sull’articolo "Programmazione di una rete neurale profonda da zero utilizzando il linguaggio MQL" - pagina 6

 
Ivan Butko #:

Si dà molta importanza a questa NS, in realtà tutte le NS e tutto ciò che riguarda il MO, in generale - ovunque ci siano moltiplicazioni di numeri per numeri e un sommatore nella funzione di attivazione - sarà tutto un adattamento al grafico. Un sistema totalmente instabile.

Inoltre, il prezzo è un processo non stazionario. Ogni volta che ci sono nuovi dati, e se si divide il grafico in pattern, questi tenderanno a funzionare al 50/50 sulla storia.

I NS sono per sistemi stazionari, ripetitivi.

Ma nel Forex e così via sono necessari sistemi più avanzati e intelligenti. Qualcosa come diversi NS, in qualche modo collegati tra loro, che in qualche modo si adattano magicamente al cambiamento delle statistiche del pattern, ecc.

Il NS stesso è una memorizzazione del percorso dei prezzi, o una media dei risultati, se la quantità di nuovi dati è superiore alle possibili combinazioni di numeri ottenute per moltiplicazione (o in parole povere - l'architettura NS più semplice con due o tre ingressi).

È interessante scavare, costruire architetture, aggiungere neuroni e strati. Ma è completamente inutile, non è meglio che attraversare la mashka.

Ivan, grazie per il chiarimento. Qualsiasi statistica ha la tendenza a ripetersi. In linea di principio, se si utilizza un indicatore integrale nell'ottimizzazione (addestramento) del NS, si può vedere per punti come e quando avviene il passaggio dall'ignoranza alla conoscenza, ovvero come operare meglio. La ricerca di una variabile significativa è un discorso a parte. Siete riusciti a risolvere il problema di scalare gli input di più di 4 volte?

 
Nikolai Kalinin #:

Siete riusciti a risolvere il problema con ingressi che scalano più di 4 volte?

Sì, ho iniziato a smanettare e sono arrivato in fondo. Non solo ho aumentato gli ingressi, ma anche l'architettura: ho aggiunto strati, aggiunto neuroni, aggiunto RNN - ricordando lo stato precedente e alimentandolo agli ingressi, ho provato a cambiare la funzione di attivazione con quelle più famose, ho provato tutti i tipi di input dall'argomento "Cosa alimentare all'ingresso della rete neurale" - senza alcun risultato.

Con mio grande rammarico. Ma questo non mi impedisce di tornare di tanto in tanto a stravolgere semplici reti neurali, compresa quella di questo autore.

Ho provato LSTM, BiLSTM, CNN, CNN-BiLSTM, CNN-BiLSTM-MLP, - senza alcun risultato.

Mi stupisco io stesso. Tutti i successi sono descritti da un'osservazione: si tratta di un periodo fortunato. Ad esempio, il 2022 per l'Eurodollaro è quasi esattamente uguale al 2021. Allenandosi sul 2021, si otterrà un forward positivo sul 2022 fino a novembre (o ottobre, non ricordo). Ma, non appena si addestra la rete neurale sul 2020, qualsiasi(!) rete neurale, poi sul 2021 fallisce di netto. Fin dal primo mese! E se si passa ad altre coppie di valute (di solito l'eurodollaro), si comporta anch'esso in modo casuale.

Ma abbiamo bisogno di un sistema che abbia la garanzia di mostrare segni di vita all'indomani dell'addestramento, giusto? Se partiamo da questo pensiero, è infruttuoso. Se qualcuno crede di essere una persona fortunata e dopo l'allenamento di oggi avrà un forward redditizio per il prossimo anno o sei mesi, allora buona fortuna a lui).

 
Ivan Butko #:


Ma abbiamo bisogno di un sistema che sia garantito per mostrare segni di vita sull'attaccante dopo l'allenamento, giusto? Se partiamo da questo pensiero, è inutile. Se qualcuno crede di essere una persona fortunata e dopo l'allenamento di oggi avrà un attaccante redditizio per il prossimo anno o sei mesi, allora buona fortuna a lui).

Allora possiamo supporre che i necessari parametri "graali" di NS siano stati mancati nel processo di ricerca o addirittura inizialmente insignificanti e non presi in considerazione dal tester? Forse il sistema manca di fattori di eventualità che non siano solo modelli-proporzioni.

 
Nikolai Kalinin #:

Allora possiamo supporre che i parametri NS "graali" necessari siano stati mancati nel processo di ricerca o addirittura inizialmente insignificanti e non considerati dal tester? Forse il sistema manca di fattori di eventualità che non siano solo modelli-proporzioni.

Certo, a volte gli insiemi "graal" sfuggono durante l'ottimizzazione, è quasi impossibile trovarli (riga 150 di qualche tipo durante l'ordinamento) finché non si controlla tutto. A volte ce ne sono decine di migliaia.

Non capisco la seconda parte del tuo post.

 
Ivan Butko #:

Naturalmente, a volte gli insiemi "graal" sfuggono durante l'ottimizzazione, è quasi impossibile trovarli (riga 150 di qualche tipo durante l'ordinamento) finché non si controlla tutto. A volte ce ne sono decine di migliaia.

Non capisco la seconda parte del tuo post.

Si tratta dell'inserimento di tali dati, ottenuti al momento di un certo evento, ad esempio High[0]> High[1] in quel momento. Se si considera il mercato in questo contesto, si tratta di un modello interamente guidato dagli eventi e correlato a questi. Il controllo degli elementi di caos è già affidato ai metodi di messa a punto e ottimizzazione al di fuori della "memoria" del NS. È ben rappresentato da un indicatore integrale di come funzionano tali aggiunte di eventi al codice. Questo indicatore (criterio integrato) migliora e si sposta verso i passaggi di ottimizzazione più redditizi.

 
Questo è proprio quello che stavo cercando! Ottimo articolo!