L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 393

 
Mihail Marchukajtes:
Ciao a tutti!!!! Sono contento che questo thread non sia morto e sia ancora vivo, quindi ho una domanda per il pubblico. Ho un set di dati per l'allenamento, ma purtroppo è diventato così grande che l'allenamento richiede troppo tempo. Qualcuno può costruire un modello usando la propria esperienza e poi vedremo come funziona insieme!!!!!.

Provate a lasciare gli input (in ordine da 0, 0 è la 1a colonna)

0,4,50,53,59,61,64,92,98,101,104,

File:
 

Sono stato in grado di calcolare la parte troncata del dataset, questo è il risultato della rete out-of-sample, ma ho dovuto specchiare completamente il modello.

Questo è il lavoro del 05.29 e penso che sia abbastanza buono.


 
elibrario:

Provate a lasciare gli input (in ordine da 0, 0 è la 1a colonna)

0,4,50,53,59,61,64,92,98,101,104,


Il vantaggio dell'ottimizzatore è che rimuove le colonne non necessarie. Ecco perché ci vuole così tanto tempo. Ma ora cercherò di ottimizzare il dataset completo, ma con le tue raccomandazioni e poi vedere quale sarà il risultato fuori dal campione. ok?
 
Mihail Marchukajtes:

Il vantaggio dell'ottimizzatore è che rimuove le colonne non necessarie. Ecco perché ci vuole così tanto tempo per calcolare. Ma ora cercherò di ottimizzare l'intero set di dati, tenendo conto delle tue raccomandazioni e poi vedere quale sarà il risultato fuori dal campione, ok?


Ben fatto!!! Ho iniziato la formazione, considerando il fatto che ci sono notevolmente meno colonne, penso che si conterà velocemente, posterò il risultato :-)

Proprio così, il primo allenamento ha portato al 55% di generalizzabilità.

 

Stranamente, con questi input il modello deve anche essere invertito e allora nella stessa area si può ottenere la seguente equità

È un po' peggio, ma può ancora essere applicato.

Vorrei poter eseguire l'intero set di dati sull'ottimizzatore. Penso che allora sarebbero state selezionate più colonne e il livello di generalizzazione sarebbe stato più alto, quindi la qualità della rete nella zona di non campionamento...

 
Mihail Marchukajtes:


Ben fatto!!! Ho iniziato l'allenamento, dato che il numero di colonne è stato significativamente ridotto, penso che si conterà velocemente, posterò il risultato :-)

Proprio così, il primo allenamento ha portato al 55% di generalizzabilità.

Cos'è il 55% di generalizzabilità?
MLP normale dà 11-5-1:
Errore medio sulla formazione (60,0%) trama =0,057 (5,7%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2
Errore medio sulla convalida (20,0%) plot =0,038 (3,8%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2
Errore medio nel test (20,0%) trama =0,023 (2,3%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2
 
elibrarius:
Cos'è il 55% di generalizzabilità?
MLP convenzionale 11-5-1 dà:
Errore medio di formazione (60,0%) trama =0,057 (5,7%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2
Errore medio di validazione (20.0%) sezione =0,038 (3,8%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2
Errore medio sul test (20,0%) sezione =0,023 (2,3%) nLearns=2 NGrad=332 NHess=0 NCholesky=0 codResp=2


Non so nemmeno cosa rispondere. L'unico modo è citare un esempio dal rapporto. I risultati dell'ottimizzazione possono apparire così: come interpretarli dipende da ognuno, ma quando l'ottimizzazione finisce, il risultato appare come segue.

* Sensibilità della capacità di generalizzazione: 55.12820512820513%

* Specificità della capacità di generalizzazione: 55,5045871559633%

* Capacità di generalizzazione: 55.309734513274336%

* TruePositives: 129

* Falsi positivi: 105

* TrueNegatives: 121

* Falsi negativi: 97

* Modelli totali su campioni con statistiche: 452

In rosso, ho evidenziato il risultato complessivo della capacità di generalizzazione. La prima è la percentuale di indovinare gli uni, la seconda la percentuale di indovinare gli zeri, e la terza il totale.


 
Mihail Marchukajtes:


Non so cosa dire. Se non per fare un esempio dal rapporto. I risultati dell'ottimizzazione hanno questo aspetto e potete interpretarli come volete, ma quando l'ottimizzazione finisce, il risultato appare come segue.

* Sensibilità della capacità di generalizzazione: 55.12820512820513%

* Specificità della capacità di generalizzazione: 55,5045871559633%

* Capacità di generalizzazione: 55.309734513274336%

* TruePositives: 129

* Falsi positivi: 105

* TrueNegatives: 121

* Falsi negativi: 97

* Modelli totali su campioni con statistiche: 452

In rosso, ho evidenziato il risultato complessivo della capacità di generalizzazione. La prima è la percentuale di indovinare i singoli, la seconda è la percentuale di indovinare gli zeri, e la terza è il totale.


MLP indovina il 95% delle volte... Penso che tu stia facendo la moto sbagliata) Senza offesa.
Anch'io mi sto facendo la mia bici, ma sulla base di decenni di collaudata MLP (che, come si dice, è superata e ha bisogno di qualcosa di più fresco su cui lavorare). Quindi sono tutto per le bici, forse il tuo codice ha qualche logica difettosa da qualche parte? Ne ho già trovato qualcuno nel mio, mentre provavo diverse varianti. Compreso il problema risolto dal primo post di questo thread. Ma questi stessi filtri, che tagliano il superfluo nel vostro problema, tagliano il necessario in quello ((. Quindi penso che dovrei usare i pesi degli input per fare un cutoff, campo eseguito su dati completi.
 
elibrario:
MLP indovina il 95% delle volte... Penso che tu stia facendo la moto sbagliata) Senza offesa.
Anch'io sto facendo la mia bicicletta, ma sulla base di decenni di MLP collaudata (che dicono essere superata e ha bisogno di qualcosa di più fresco per lavorare). Quindi sono tutto per le biciclette, forse hai un errore di logica da qualche parte nel tuo codice? Ne ho già trovato qualcuno nel mio, mentre provavo diverse varianti.


Il fatto è che non sono un programmatore. Questo ottimizzatore non è stato scritto da me, lo uso e basta, comunque gli input che avete specificato danno il 55% di generalizzazione, che è meglio che indovinare, quindi vediamo il risultato fuori dal campione con profitto positivo. L'unica cosa che mi ferma ora è che il modello deve essere specchiato, allora guadagnerà, e se il modello è dritto, allora perderà...

Ma se eseguiamo l'ottimizzatore su tutti gli input, penso che il modello sarà molto più complesso e selezionerà più input. E in teoria un tale modello dovrebbe funzionare meglio e più a lungo. Ma non posso eseguire l'ottimizzatore su un set di dati completo - penso che ci vorrà un mese per leggerlo. Quindi la mia speranza è di eseguire l'ottimizzatore sulla GPU, e poi vedremo.

 
Mihail Marchukajtes:


Il fatto è che io non programmo. Questo ottimizzatore non è stato scritto da me, lo uso e basta, comunque gli input che avete specificato danno 55 percentuali di generalizzazione che è meglio che indovinare, quindi vediamo il risultato fuori dal campione con profitto positivo. L'unica cosa che mi ferma ora è che il modello deve essere specchiato, allora aumenta, e se il modello è dritto, allora perde.

Ma se eseguiamo l'ottimizzatore su tutti gli input, penso che il modello sarà molto più complesso e selezionerà più input. E in teoria un tale modello dovrebbe funzionare meglio e più a lungo. Ma non posso eseguire l'ottimizzatore su un set di dati completo - penso che ci vorrà un mese per leggerlo. Quindi la mia speranza è di eseguire l'ottimizzatore sulla GPU, e poi vedremo.

Se hai intenzione di avviare qualcosa per un mese usa un'alimentazione ininterrotta, ho avuto le luci tagliate in circa 2 settimane di calcolo)).
E non aspettate la GPU, potrebbe volerci più tempo per riscrivere il codice e se l'autore non l'ha fatto, difficilmente qualcun altro finirà il compito.