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

 

Mihail Marchukajtes:

Maximka si è impigliato nel bosco e non riesce ancora a trovare la via d'uscita? Business ....

Ammetto che non sono stato qui per molto tempo, tutto affari e preoccupazioni.... Ma ho deciso di venire qui. Fare il check-in, per così dire :-) A proposito....

C'è un posto per niente. Una volta Maximka il fattone, ora Maximka il mezzo scemo)))


 
Vizard_:

C'è un posto per niente. Una volta Maximka la Stoner, ora Maximka la Mezzasega).


Beh, sei solo un buon giorno nella vita, e non cambi il tuo stato

Ragazza segreta
 
Maxim Dmitrievsky:

Beh, sei solo un buon giorno per la vita e non cambi il tuo stato

ragazza segreta

Oh, maestra))) È lo stesso con i "modelli". Dov'è il cervo e dov'è la ragazza, dov'è 0,
e 1... Nessuna definizione, è tutto in una pila))) esilarante...

 
Vizard_:

Oh, Teacher)))) È lo stesso con le modelle. Dov'è il cervo e dov'è la ragazza, dov'è lo 0,
e 1... non si può dire, tutto in una pila))) esilarante...

Mi ci sono voluti più di 10 minuti per capire come rispondere... Devo essermi preparato, aver preparato gli screenshot, essermi preoccupato...

Ho capito, devi respawnare da un mucchio di merda per fare un'apparizione spettacolare, poi ti senti bene ))

Beh, bentornato ))))

 
Maxim Dmitrievsky:

la velocità di apprendimento è buona, il tempo di risposta durante l'utilizzo e il tempo di download della struttura sono poveri, poiché i file della foresta sono grandi. Ho avuto fino a 300 mb.

C'è qualcosa di sbagliato nella serializzazione. La foresta viene addestrata e salvata più velocemente di quanto venga ricaricata dal file.

Se dice che la foresta ora genera ordini di grandezza di file in meno, è un'accelerazione molto grande

Al contrario, NS si allena per un tempo più lungo, ma la risposta è istantanea. Non c'è differenza nella qualità della classificazione. Si può usare qualsiasi cosa, ma la foresta fuori dalla scatola funziona, e il NS deve essere regolato.


Tutto ciò che è scritto sulla foresta nella descrizione dell'aggiornamento:
algoritmo di costruzione delle foreste casuali migliorato, che è da 2x a 10x più veloce della versione precedente e produce foreste di ordini di grandezza inferiori.

La vecchia versione ha la seguente struttura di dati

//--- informazioni sul nodo:

//--- W[K+0] - numero variabile (-1 per la modalità foglia)
//--- W[K+1] - soglia (classe/valore per il nodo foglia)
//--- W[K+2] - ">=" indice del ramo (assente per il nodo foglia)

Questo nuovo nodo memorizza le stesse 3 variabili per un nodo e 2 per una foglia.
E l'albero è costruito esattamente allo stesso modo - fino all'ultimo esempio con 0 errori. Non ho visto alcuna potatura.
L'unica cosa che ho visto nei commenti al codice riguardo alla velocizzazione
SplitStrength- tipo di split:
* 0 = dividere nella posizione casuale, la più veloce
* 1 = dividere al centro della gamma
* 2 = spaccatura forte nel punto migliore della gamma (default)

Sembra che la suddivisione casuale porti a una velocizzazione di 2-10 volte e a migliori punti di suddivisione, che a loro volta possono risultare in un albero più compatto.

Puoi semplicemente aggiungere la selezione di punti casuali alla funzione di partizionamento. Modifica in 2-3 righe))

 
elibrario:

Non conosco molto bene l'inglese.
Tutto quello che c'è scritto sulla foresta:
algoritmo di costruzione delle foreste casuali migliorato, che è da 2x a 10x più veloce della versione precedente e produce foreste di ordini di grandezza inferiori.

Nella vecchia versione la struttura dei dati è così:

//--- informazioni sul nodo:

//--- W[K+0] - numero variabile (-1 per la modalità foglia)
//--- W[K+1] - soglia (classe/valore per il nodo foglia)
//--- W[K+2] - ">=" indice del ramo (assente per il nodo foglia)

Questo nuovo nodo memorizza le stesse 3 variabili per un nodo e 2 per una foglia.
E l'albero è costruito esattamente allo stesso modo - fino all'ultimo esempio con 0 errori. Non ho visto alcuna potatura.
L'unica cosa che ho visto nei commenti al codice riguardo alla velocizzazione
SplitStrength- tipo di split:
* 0 = dividere nella posizione casuale, la più veloce
* 1 = dividere al centro della gamma
* 2 = spaccatura forte nel punto migliore della gamma (default)

Apparentemente la suddivisione casuale porta ad una velocizzazione di 2-10 volte e a migliori punti di suddivisione, che a loro volta possono risultare in un albero più compatto.

cioè il metodo di divisione è ora configurabile? Ma il default è ancora il più lento

Oh beh, puoi rifarlo da solo allora, sì :)

 
Maxim Dmitrievsky:

cioè il metodo di divisione è ora configurabile? Ma il default è ancora il più lento

Oh beh, puoi rifarlo da solo allora, sì :)

Temo che tutte queste modifiche saranno sovrascritte quando il terminale sarà aggiornato. È necessario fare una copia della classe forestale e tenerla come file separato
 
elibrario:
Solo che ho paura che tutte le modifiche vengano sovrascritte quando il terminale viene aggiornato. Dovremmo fare una copia della classe foresta e tenerla come file separato

Sì, o tenere un archivio.

Bene allora, sperimentiamo, grazie per aver curiosato in giro, è utile

forse nello stesso modo in cui potremmo aggiungere gli alberi bayesiani, se lo capite
 
elibrario:

Quindi capisco che c'è qualcosa da provare a cambiare qui

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
Maxim Dmitrievsky:

Quindi capisco che si può cercare di cambiare qualcosa qui

Sì. E duplicarlo in DFSplitR, in modo che anche l'impalcatura di regressione abbia la stessa funzionalità

Motivazione: