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

 
elibrario:
Copialo sul tuo blog, forse qualcuno potrebbe averne bisogno. Non è realistico cercare qualcosa qui.

Anche il blog ha questo codice. Ma è roba abbastanza basilare "come fare kfold", c'è molto da rielaborare per i vostri compiti specifici. Inoltre se si abilita il multithreading in genetica, elmnn ignorerà il grano gpsfold installato e ogni thread otterrà qualcosa di diverso e irriproducibile, per tale caso (multithreading in genetica) vedere gli articoli di Vladimir Perervenko e il suo modo di controllare gpsfold.

 
Maxim Dmitrievsky:

c'è ancora una dimensione extra e bisogna disegnare una curva attraverso di essa in qualche modo, forse con un grande errore

il dropout aumenta l'errore, no?

L'abbandono è equivalente alla disattivazione di un neurone. Se è rumoroso, è buono.
E perché inventare una cosa che aumenta l'errore - tutto ha senso, purché aiuti a ridurre l'errore.
 
elibrario:
L'abbandono è equivalente allo spegnimento di un neurone. Se è rumoroso, è buono.
E perché si dovrebbe pensare a qualcosa che aumenta l'errore - tutto ha senso se aiuta a ridurre l'errore.

Ahem... l'aumento dell'errore dovrebbe eliminare il sovrallenamento. Non sempre, ma in che altro modo?

Ecco perché si dice che 0,5 è un buon shiba nel forex. Per me a 0,3 0,4 comincia a funzionare più o meno, se meno allora si sovraccarica di regola.

Voglio dire, ho capito lo scherzo, giusto? Pensano di essere fighi, in realtà addestrano solo male il modello, e più o meno non fa trapelare nulla là fuori perché è mezzo affittato

 
Ildottor Trader:

Anche Python dovrebbe esserlo.

Capisco, il pitone è lontano da me a tutti... Nessuno fa un wrapper GUI per lavorare con NS?

Ildottor Trader:

Stasera eseguirò l'algoritmo e domani vi mostrerò cosa è venuto fuori.

Grazie, sarà educativo.

Ildottor Trader:

Raggiungere il 100% di precisione e sperare che il modello funzioni bene è di solito impossibile nel forex, hai bisogno di mesi per selezionare i predittori e anche un obiettivo che si adattino bene insieme. Di solito, avendo raggiunto un'accuratezza di un paio di decine superiore al 50%, il modello inizia a memorizzare gli esempi di allenamento invece di trovare modelli logici in essi. Quindi il risultato sui nuovi dati sarà sempre peggiore. Sui tuoi dati ho ottenuto questo optimum del 60% - quando i risultati sui dati di allenamento e di test sono approssimativamente uguali, ma con un partizionamento dell'albero più dettagliato e una maggiore precisione la foresta mostra risultati sempre peggiori sui nuovi dati.

Che fretta c'è, il tempo c'è, se non deve essere sprecato.

Tuttavia, non capisco bene la differenza tra memorizzare e imparare, secondo me tutto questo MO dovrebbe trovare le caratteristiche nel dataset e controllare il risultato atteso con il risultato memorizzato, ma tenendo conto della deformazione dei dati, e di conseguenza dare la sua previsione a seconda della deformazione. Questo è quello che avevo in mente finché non ho iniziato a pasticciare con tutto questo.

Sono solo sorpreso che l'albero sia risolto con diversi set di predittori, il che significa che non è costruito con tutti i dati e le conoscenze, ed è questa circostanza che mi permette di fare un'ipotesi sulla liceità di ulteriori ramificazioni.

 
Maxim Dmitrievsky:

Ahem... aumentando l'errore, il sovrallenamento sembra essere rimosso. Non sempre, ma come potrebbe essere altrimenti?

Anche questo. Più precisamente, questo è il compito principale. Ho l'associazione della rimozione dei neuroni con la rimozione degli ingressi. Forse non è giusto.

Sì, piuttosto dropconnect nel primo strato è come rimuovere gli ingressi.

 
Elibrarius:

Anche questo. Più precisamente - questo è il compito principale. Ho un'associazione di rimozione dei neuroni con la rimozione degli ingressi. Potrebbe non essere corretto.

la rimozione dei neuroni è la rimozione dei gradi di libertà = aumento dell'errore, coartazione

Se si rimuovono alcuni termini da una regressione, equivale a rimuovere degli input, e in una NS completamente coerente, perché

dropconnect, dal nome, sì, sembra

 
Maxim Dmitrievsky:

la rimozione dei neuroni è la rimozione dei gradi di libertà = aumento dell'errore, coartazione

se dalla regressione rimuovere alcuni membri è equivalente alla rimozione di ingressi, e in un NS completamente connesso perché

dropconnect, dal nome, - sì, sembra.

Ma anche con dropconnect il compito è complicato... Per esempio 50 ingressi, 50 neuroni.
Rimuovendo 1 ingresso, rimuoviamo 50 connessioni per 50 neuroni.
Ed è 50 volte più difficile rimuovere tutte le 50 connessioni per rimuovere 1 ingresso. E in questo modo per passare attraverso tutti i 50 ingressi... sono 50^50 variazioni. Ovviamente, è un compito senza speranza. È più facile trattare gli input - abbiamo solo 2^50 ))).
 
elibrario:

La domanda non è solo per te, è per tutti.

In pratica è così, cioè se ci sono predittori di rumore allora NS non può uscire dal 50-55%. Se raccolto, può anche dare il 70%.

Ma perché è così?
1) Bene, NS dovrebbe selezionare automaticamente i pesi vicini a 0 per i predittori di rumore durante l'allenamento (è equivalente alla loro esclusione dalla selezione). Lo abbiamo visto nel problema all'inizio del ramo.
2) Se non allenandosi a sottovalutare i pesi, almeno il dropout dovrebbe setacciarli...

È stato scritto molte volte: i predittori di rumore sono molto più favorevoli al modello - ci sono sempre valori nel rumore che migliorano il risultato dell'apprendimento. Quindi il processo è invertito - i predittori di rumore ottengono più peso, non come suggerisci tu. Questo è particolarmente evidente nei piccoli campioni, che sono meno di 1000 osservazioni. I campioni di più di 5000 osservazioni non sono così influenzati, ma è ancora necessario pre-selezionare i predittori di rumore

 
elibrario:
Ma anche con dropconnect il compito è difficile... Per esempio 50 ingressi, 50 neuroni.
Rimuovendo 1 ingresso, rimuoviamo anche 50 connessioni per 50 neuroni.
Ed è 50 volte più difficile rimuovere tutte e 50 le connessioni per il gusto di rimuovere 1 ingresso. E in questo modo per rimuovere tutti i 50 ingressi... Apparentemente è un compito senza speranza. È più facile affrontare gli input.
Gli ingressi sono comunque più importanti, giocare con i modelli è solo sciamanesimo e non dovrebbe dare grandi guadagni in caso generale. Beh, ho fatto un insieme di impalcature, dopo aver eliminato le singole impalcature posso migliorare di 0,05, a volte di 0,1 sull'errore (differenza tra traine e test). Questo non risolve il problema principale. Nelle reti neurali avanzate non so come.
 
SanSanych Fomenko:

È stato scritto molte volte: i predittori di rumore sono molto più favorevoli al modello - ci sono sempre valori nel rumore che migliorano il risultato dell'apprendimento. Quindi il processo è invertito - i predittori di rumore ottengono più peso, non come suggerisci tu. Questo è particolarmente evidente nei piccoli campioni, che sono meno di 1000 osservazioni. I campioni di più di 5000 osservazioni non sono così influenzati, ma è ancora necessario pre-selezionare i predittori di rumore

Forse c'è una tecnologia che permette di dare priorità ai predittori da usare in NS/Tree/Forest secondo la loro importanza dal punto di vista dell'analista?