L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 1259
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
non proprio, dovrebbe essere più chiaro qui
https://habr.com/ru/post/276355/
la gamma di applicazioni è grande, come esattamente sarà utilizzato è un'altra questione
Lo leggerò la sera
Io e te non abbiamo niente di cui parlare, perché dal tuo psicotipo capisco che sei un bambino o semplicemente... lascia perdere.
"Noi" come voi? Trova un lavoro per cominciare, è un peccato sedersi sulle spalle dei tuoi genitori a quell'età.
non proprio, dovrebbe essere più chiaro qui
https://habr.com/ru/post/276355/
la gamma di applicazioni è grande, come esattamente sarà utilizzato è un'altra questione
La cosa più bella dell'approccio bayesiano è che permette di usare la casualità in modo controllato.
....
In pratica, questo si traduce nel fatto che una rete dimensionale dà risultati migliori di una rete a caduta, anche se non di molto.
Ciò che rende il dropout più fresco è che è molto semplice, ovviamente.
Cioè un NS profondo con dropout è l'equivalente di una rete bayesiana. E dropout è in molti pacchetti, puoi prima usarlo per cercare i pesci sui tuoi predittori/target. E poi cercare di migliorare i risultati con Bayes. Negli articoli di Vladimir Perervenko è stato usato il dropout, è possibile sperimentare sulla loro base.
Ho sperimentato, ma non ho trovato alcuna svolta nei miei predittori.Ma non ho creato reti così profonde da doverne eliminare 1000 neuroni. Non ho provato più di N-100-100-100-100-1 (401 neuroni). Cioè 100 possono essere stati rimossi, ma non 1000. Per rimuoverne 1000, avresti bisogno di una rete con 4-10 mila neuroni e probabilmente ci vorrebbe molto tempo per contarli.
È possibile che le foreste con 1000 alberi abbiano risultati simili, e che contino molto più velocemente di NS.
Non ho provato più di N-100-100-100-1 (401 neuroni).
Non si possono addestrare mostri del genere in modo adeguato. Imho, abbiamo bisogno di un NS più semplice. Da qualche parte fino a 100 neuroni.
La linea di fondo della parte 2 dell'articolo:
Cioè una NS profonda con un dropout è analoga a una rete bayesiana. E dropout è in molti pacchetti, puoi prima usarli per cercare i pesci sui loro predittori/target. E poi cercare di migliorare i risultati con Bayes. In articoli di Vladimir Perervenko dropout è stato utilizzato, è possibile sperimentare sulla loro base.
Ho sperimentato, ma non ho trovato nessuna svolta nei miei predittori.Ma non ho creato reti così profonde da doverne eliminare 1000 neuroni. Non ho provato più di N-100-100-100-100-1 (401 neuroni). Cioè 100 possono essere stati rimossi, ma non 1000. Per rimuoverne 1000, avresti bisogno di una rete con 4-10 mila neuroni e probabilmente ci vorrebbe molto tempo per contarli.
È possibile che le foreste con 1000 alberi abbiano risultati simili, e che contino molto più velocemente di NS.
Oh non lo so, con qualsiasi numero di alberi/foreste l'akurasi smette di crescere e se ne sta lì come una zavorra, senza migliorare nulla. Lasciarli cadere o non lasciarli cadere è un indizio di morte.
Un confronto grossolano tra bayesiani e dropout secondo me, ma non sono ancora molto esperto in materia e non voglio discutere, forse così
Un confronto grossolano tra Bayes e gli abbandoni secondo me, ma non sono ancora molto esperto in materia e non voglio discutere, forse così
È stato l'autore di questo articolo a fare il confronto, non io. Ha scritto il suo articolo da un altro, più grande, che ha usato per i suoi esperimenti. Cioè, questo confronto viene apparentemente dagli sviluppatori del metodo.
Oh non lo so, con qualsiasi numero di alberi/foreste l'akurasi smette di crescere e se ne sta lì come una zavorra, senza migliorare nulla. Che li faccia cadere o no, sono un fazzoletto morto.
Ho trovato un codice oscuro nella foresta di Alglib. Codice completo della funzione di calcolo della cross-etropia da dataanalysis.mqh:
//+------------------------------------------------------------------+
//| Average cross-entropy (in bits per element) on the test set |
//| INPUT PARAMETERS: |
//| DF - decision forest model |
//| XY - test set |
//| NPoints - test set size |
//| RESULT: |
//| CrossEntropy/(NPoints*LN(2)). |
//| Zero if model solves regression task. |
//+------------------------------------------------------------------+
static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy,
const int npoints)
{
//--- create variables
double result=0;
int i=0;
int j=0;
int k=0;
int tmpi=0;
int i_=0;
//--- creating arrays
double x[];
double y[];
//--- allocation
ArrayResizeAL(x,df.m_nvars);
ArrayResizeAL(y,df.m_nclasses);
//--- initialization
result=0;
for(i=0;i<=npoints-1;i++)
{
for(i_=0;i_<=df.m_nvars-1;i_++)
x[i_]=xy[i][i_];
//--- function call
DFProcess(df,x,y);
//--- check
if(df.m_nclasses>1)
{
//--- classification-specific code
k=(int)MathRound(xy[i][df.m_nvars]);
tmpi=0;
for(j=1;j<=df.m_nclasses-1;j++)
{
//--- check
if(y[j]>(double)(y[tmpi]))
tmpi=j;
}
//--- check
if(y[k]!=0.0)
result=result-MathLog(y[k]);
else
result=result-MathLog(CMath::m_minrealnumber);
}
}
//--- return result
return(result/npoints);
}
Il frammento di codice segnato in rosso considera qualcosa(tmpi) che non viene utilizzato in alcun modo. Perché è incluso allora?
Secondo wikipedia dovrebbe essereO manca qualcosa o il codice non è completamente pulito.
In generale, ho iniziato a entrare in questa funzione perché volevo cercare 1 albero. E quando ho impostato il numero di alberi nella foresta = 1, ho visto che tutti gli errori sono tra 0 e 1, e questo da 100 a 300 + succede.
Qualcuno capisce l'entropia incrociata - il codice è anche corretto, o qualcosa è annullato?
L'ho confrontato con catbust - ritorna bene, di solito > 0,5 sul test... bene, come al solito
Domani guarderò il calcolo, forse il codice di debug è ancora lì
in generale questa metrica non è di alcuna utilità qui, poiché non viene utilizzata per una pausa anticipata o altro... ed è poco informativa di conseguenza. Si prende un errore di classificazione e questo è tutto