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

 
Aleksey Vyazmikin #:

No, sarà lo stesso posto relativo - il numero di divisori (split) - fisso per tutti.

Ci sono molti predittori binari con 0 e 1. Non si divideranno in 32. Ma se li normalizzate, potreste ottenere qualcosa con quantizzazione uniforme. Se i quanti non sono uniformi, allora solo con i numeri tutte le distanze saranno distorte, è necessario assentire i valori dopo la normalizzazione.

Aleksey Vyazmikin #: Ci possono essere molti metodi diversi. Mi interessa la variante dell'elaborazione prima della costruzione del modello: mi sembra che fornisca meno varianti di combinazioni di costruzione, il che riduce l'errore nella conclusione finale, sia che il modello finale sia stato addestrato con successo o meno, in generale.

L'errore sarà nella previsione se non si riesce a eliminare il rumore come nell'addestramento.

Aleksey Vyazmikin #:

Il bussolotto è ancora più divertente - le foglie incerte nella somma possono spostare la probabilità in una direzione o in un'altra - continuo a voler fare un grafico per mostrare come i pesi sono distribuiti a seconda dello spostamento della probabilità, ma continuo a rimandare. Per tre giorni il computer considera la somiglianza delle foglie del modello - penso di ottimizzare l'algoritmo - troppo lungo....

Non importa se si tratta di alberi, foreste o cespugli. Se la previsione del modello è del 50%, allora ci sarà un 50% di 0 e un 50% di 1 nella previsione.

 
Quindi il problema si pone a entrambe le estremità contemporaneamente. Da un lato non si conosce la funzione target, dall'altro non si sa quali errori di approssimazione da parte di un particolare modello abbia. È necessario trovare la f- e gli errori. Con un solo sottocampione, spesso distorto.

E si può fare tutto questo senza test multipli. Ma non ci sono inibizioni all'interno del sottocampione.
 
Forester #:

Esistono molti predittori binari con 0 e 1. Non si dividono per 32. Ma se li normalizzate, potreste ottenere qualcosa con una quantizzazione uniforme. Se i quanti non sono uniformi, allora solo con i numeri tutte le distanze saranno distorte, è necessario assentire i valori dopo la normalizzazione.


Sì, con quelli binari è più complicato. Ma non capisco come la normalizzazione possa essere utile in questo caso.

In generale, credo che sia necessario ridurre la dimensionalità. Ma non è esattamente quello che intendevano gli autori. Per ora sono lontano dalla realizzazione.

Forester #:

Ci sarà un errore nella predizione se non si riesce a eliminare il rumore come nell'addestramento.

È un concetto diverso: i dati sono divisi in due parti, come "può prevedere" e "non può prevedere", e un modello è responsabile di questo. E quando arrivano nuovi dati, si valuta se fare una previsione o meno. In questo modo le previsioni vengono fatte solo sui dati che durante l'addestramento erano "facilmente" separabili e strettamente raggruppati, cioè che avevano un segno di validità.

Forester #:
Non importa se si tratta di alberi, foreste o cespugli. Se la previsione del modello è del 50% significa che ci sarà un 50% di 0 e un 50% di 1 nella previsione.

Non è questo il punto, affatto. Foresta e cespuglio hanno una costruzione forzata dell'albero, cioè non c'è un algoritmo per scartare se l'albero è scadente. In entrambi i casi, all'albero vengono assegnati dei pesi. Può essere pessimo a causa dell'eccessiva casualità dell'algoritmo, sia nella selezione delle caratteristiche sia nella selezione degli esempi (sottocampioni).

 
Maxim Dmitrievsky #:
No, non l'ho fatto. Vedrò cosa c'è stasera.
Questi metodi dipendono dal modello. I dati non sono divisi o separati. Non so come spiegarlo. Ci ho provato una volta e ho avuto di nuovo problemi con gli ottimizzatori. È nei libri.
Se si va a sinistra, si perde un cavallo. Se vai a destra, perdi il drago a due teste.

Proprio così: è un modo per isolare gli esempi che degradano l'apprendimento - questa è la teoria.

L'idea è di addestrare 100 modelli e vedere quali esempi in media "ostacolano" una classificazione affidabile, per poi cercare di individuarli con un altro modello.

 

Quindi ho preso il modello e ho guardato il numero di foglie. Il modello è sbilanciato con solo il 12,2% di unità. 17k foglie.

Ho fatto un markup delle foglie in classi - se il campione di risposte con obiettivo "1" era superiore al valore iniziale - 12,2%, allora la classe è "1", altrimenti è "0". L'idea di classe è quella di avere informazioni utili per migliorare la classificazione.

Nell'istogramma vediamo i valori nelle foglie del modello (X) e la loro % nel modello (Y) - senza classificarli.

0

E qui è lo stesso, ma la classe è solo "0".


La classe è solo "1".

Questi coefficienti nelle foglie sono sommati e trasformati tramite logit, il che significa che un segno "+" aumenta la probabilità della classe "1" e un "-" la diminuisce. Nel complesso, la ripartizione per classe sembra valida, ma il modello presenta delle distorsioni.

Ora possiamo osservare la distribuzione percentuale (in termini di accuratezza della classificazione), separatamente per i fogli con "1" e con "0".


L'istogramma per "0" presenta un numero enorme di fogli con un'accuratezza vicina al "100%".


E qui c'è un cluster più grande vicino al valore di separazione iniziale, cioè ci sono molte foglie poco informative, ma allo stesso tempo ci sono anche quelle vicine al 100%.

Osservando il richiamo risulta chiaro che queste foglie sono tutte foglie con un numero ridotto di attivazioni - meno del 5% della loro classe.


Richiamo per la classe "0


Richiamo per la classe "1".

Successivamente, possiamo osservare la dipendenza del peso della foglia dall'accuratezza della classificazione, anche in questo caso separatamente per ogni classe.

00

Per l'obiettivo "0


Per il target "1".

La presenza di una linearità, anche se con un intervallo così ampio, è degna di nota. Ma la "colonna" con una probabilità di 100 è fuori logica, estendendosi in modo molto ampio sull'intervallo del valore del foglio.

Forse questa bruttura dovrebbe essere eliminata?

Inoltre, se osserviamo il valore nelle foglie in funzione dell'indicatore Recall, notiamo un piccolo peso nelle foglie (vicino allo 0), che a volte ha un valore di risposte molto grande. Questa situazione indica che la foglia non è buona, ma il peso è legato ad essa. Quindi, anche queste foglie possono essere considerate come rumore e azzerate?

000

Per l'obiettivo "0".


Per l'obiettivo "1".

Mi chiedo quale percentuale di foglie sul nuovo campione (non addestrato) "cambierà" la propria classe.

 

Inoltre, un classico: l'interdipendenza tra completezza e accuratezza.

0

Classe 0.


Classe 1.

In ogni caso, sto pensando a come pesare che....

 

Ecco come si presenta il modello in termini di probabilità.

treno

Sul campione del treno si ottiene un profitto del 35%, come in una favola!


Sul campione d'esame - nell'intervallo da 0,2 a 0,25 perdiamo una bella fetta di profitto - i punti di massimo della classe sono confusi.


Sul campione d'esame - si guadagna ancora, ma si sta già corrodendo il modello.

 
Aleksey Vyazmikin #:

Mi chiedo quale percentuale di foglie su un nuovo campione (non treno) "cambierà" la propria classe?

Sì, me lo chiedo....

________________________

In effetti, ho trovato un modo per trovare tali caratteristiche che non si spostano rispetto all'obiettivo né sul treno né sul test... Ma il problema è che tali caratteristiche sono catastroficamente poche e il metodo di screening stesso è selvaggiamente costoso in termini di potenza e in generale il metodo stesso è implementato dall'addestramento senza un insegnante, solo in questo modo siamo riusciti a evitare il fitting


 
E che ruolo ha avuto la quantizzazione in tutto questo? Su una scala di 10.
Ho attraversato Starfield ed è come se fosse iniziata la singolarità. Sono entrato in un multiverso e ho incontrato una copia di me stesso. Ora sto girando in diverse versioni di universi. E non c'è modo di uscirne. Ora devo trovare nuovi significati.

Quando il cervello o la rete neurale raggiungono i limiti della ragionevolezza, inizia la singolarità.
 
Aleksey Vyazmikin #:

Esatto, è un modo per evidenziare gli esempi che degradano l'apprendimento, in teoria.

L'idea è di addestrare 100 modelli e vedere quali esempi in media "interferiscono" con una classificazione affidabile, per poi cercare di individuarli con un modello diverso.

Dividere il tracciato principale in 5-10 sottotracciati, ognuno dei quali è suddiviso in un binario e un albero. Su ciascuno di essi, si esegue l'addestramento sul tipo di cv, quindi si esegue la previsione sull'intero tracciato principale. Si confrontano le etichette originali di tutti i modelli con quelle previste. Quelli che non hanno indovinato vengono inseriti nella lista nera. Quindi si rimuovono tutti gli esempi negativi durante l'addestramento del modello finale, calcolando l'aspirazione media per ogni campione. Opzionalmente, si può insegnare al secondo modello a separare i campioni bianchi da quelli neri, sia tramite la terza classe.

3 righe di codice, risultati a livello di... beh, non ho molto da confrontare... beh, a un certo livello.

Il kozol qui è in cv, il che significa che si determina statisticamente quali esempi sono cattivi e quali sono buoni, utilizzando modelli multipli, ciascuno addestrato su pezzi diversi di storia. Questo si chiama propensity score, cioè la propensione di ogni campione a svolgere un ruolo nell'addestramento.

Naturalmente, le etichette possono essere molto scadenti e questo approccio può eliminare quasi tutto. Per questo motivo, all'inizio ho utilizzato un campionamento casuale delle transazioni per aggiungere diverse varianti di markup. Dato che non vogliamo o non sappiamo come pensare a come marcare un grafico.

Questo è più o meno l'aspetto di un AMO con elementi di Kozol che cerca da solo i TC.