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

 
Dimitri:

Bisanzio non esisteva più all'inizio del Rinascimento, Costantinopoli era la capitale dell'Impero Ottomano e le Crociate erano finite 200 anni prima

Non scherzare...

Il revival è diviso in quattro fasi:

  1. Proto-Rinascimento (dalla seconda metà del XIII secolo al XIV secolo)
  2. Primo Rinascimento (dall'inizio del 15° alla fine del 15° secolo)
  3. Alto Rinascimento (fine XV - primi 20 anni del XVI secolo)
  4. Tardo Rinascimento (dalla metà del 16° al 1590)

La quarta crociata del 1202-1204 (questo è l'inizio del XIII secolo)

Dopo aver saccheggiato la città più ricca e più grande d'Europa... Essi (i crociati) stabilirono uno stato con Costantinopoli come capitale, l'Impero latino. La lotta contro i conquistatori durò più di 50 anni. Nel 1261 l'impero latino cadde. Bisanzio fu restaurata, ma non poté mai più raggiungere il suo antico potere.

Durante 50 anni di saccheggio e di vita a Bisanzio, i nuovi europei arricchiti (soprattutto Venezia, che faceva tutte le spedizioni e i suoi distretti) svilupparono un gusto per la bella vita, iniziarono a pagare bene i creativi. I creativi assumevano/formavano apprendisti, che poi eccellevano come insegnanti, ecc. E così è andata, poco a poco.

 
L'opinione di campionamento di CatBoost è necessaria, due campioni sono necessari per la formazione. La prima è la funzione di ottimizzazione, e la seconda è la selezione del modello, cioè quando questa funzione dovrebbe fermare il suo lavoro per evitare l'overtraining, e a questo scopo i risultati dell'allenamento sono applicati al secondo campione. Sto pensando, infatti risulta che stiamo cercando un modello sul campione di allenamento del 2014-2016, poi testando questo modello sul 2016-2017, e indipendentemente testando il modello già sul terzo campione sul 2018-2019. Sono confuso da un intervallo di tempo così ampio, anzi dubito che abbiamo bisogno di un grande campione per il test, perché vogliamo catturare un modello stabile per un lungo periodo di tempo, ma la durata di questo modello non la conosciamo... Sto pensando che è sufficiente mettere 2-3 mesi nel campione di test, che rivelerà una tendenza che è ciclica e si ripeterà prima e dopo, ma poi c'è il rischio che prima di rivelare questa ciclicità nel campione di allenamento il modello raggruppi troppi alberi che descrivono qualcos'altro, e solo allora costruirà alberi che descrivono una tendenza nel campione di test. Comunque, nel dubbio, non riesco a capire come fare un esperimento che aiuti a determinare la lunghezza di ciascuno dei tre campioni. Qualcuno ha qualche idea al riguardo?
 
Elibrarius:

Nel corso di 50 anni di saccheggio e di vita a Bisanzio, i nuovi europei arricchiti (soprattutto Venezia, che faceva tutte le spedizioni e le sue contee) svilupparono un gusto per la bella vita e iniziarono a pagare bene i creativi. I creativi assumevano/formavano apprendisti, che poi eccellevano come insegnanti, ecc. Ed è così che è andata, poco a poco.

Ma naturalmente questo è IMHO.

Un presentatore televisivo europeo ha detto che la caduta di Costantinopoli è stata una benedizione, nonostante le centinaia di migliaia di vittime e la distruzione, persone istruite si sono riversate in Europa e sono state assunte volentieri e questo ha restituito loro parte della conoscenza perduta dall'Impero Romano, che ha contribuito all'emergere dal Medioevo.

Cioè anche atti blasfemi come la guerra, anche ora, sono presentati come buone azioni per tutta l'umanità... La storia è scritta dai vincitori.

 
Aleksey Vyazmikin:
ma poi c'è il rischio che prima di rivelare questa ciclicità sul campione di allenamento, il modello faccia troppi alberi che descrivono qualcos'altro, e solo dopo costruisca alberi che descrivono la tendenza sul campione di test.

Né gli alberi né NS separano le stringhe in base al tempo, anzi le mischiano. Quindi nessun albero viene "poi" costruito. Sono tutti costruiti su dati mischiati in modo uniforme. Le file del 2014 e del 2016 possono stare una accanto all'altra.

Se la NS non rimescola le righe, si riaddestrerà solo sui primi esempi e raggiungerà un punto morto e gli ultimi dati non finiranno di imparare. Dopo aver mischiato le file, NS impara in modo uniforme. Non è necessario mescolare le righe se r=1 (quota di righe per imparare un albero), ma di solito è impostato <1 per evitare l'overtraining, quindi è necessario mescolare anche questo, quindi a r=0,5 non si prendono solo i dati del 2014 e 2015.

Aleksey Vyazmikin:
Non riesco a capire come fare un esperimento che aiuti a determinare la lunghezza di ciascuno dei tre campioni. Ha qualche idea al riguardo?

Penso che dobbiamo ottimizzare anche questo. Ma penso che il numero di linee non dovrebbe essere inferiore a 1000-10000, in modo che il campione sia rappresentativo e faccia una media di tutte le deviazioni casuali. Altrimenti si può inserire una distorsione casuale in un piccolo campione.

 
Aleksey Vyazmikin:

Un programma europeo ha detto che la caduta di Costantinopoli fu una benedizione, nonostante le centinaia di migliaia di vittime e la distruzione, persone istruite si riversarono in Europa, che furono assunte volentieri e riuscirono così a recuperare parte della conoscenza perduta dall'Impero Romano, che contribuì all'emergere dal Medioevo.

Cioè anche atti blasfemi come la guerra, anche ora, sono presentati come una buona azione per tutta l'umanità... La storia è scritta dai vincitori.

Naturalmente, ognuno percepisce il bene per se stesso. Per gli europei, naturalmente, questa è una buona azione di saccheggio delle finanze e dei cervelli. Per i bizantini questa non è una benedizione, per molti è stata la morte.

Non ricordo esattamente, ma nel periodo della sua età dell'oro le tasse annuali bizantine ammontavano a circa 2-4 mila tonnellate d'oro. Anche per il nostro tempo è una quantità molto buona per molti paesi. Ma posso sbagliarmi nelle cifre - qualche anno fa ho visto un film, ne parlava. Se siete interessati date un'occhiata. Mi ci sono imbattuto per caso all'inizio del film - solo le monete hanno fatto fuori diverse centinaia di tonnellate.


 
elibrario:

Né gli alberi né gli NS separano le stringhe in base al tempo, anzi le mischiano. Pertanto, nessun albero viene costruito "dopo". Sono tutti costruiti su dati mischiati in modo uniforme. Le file del 2014 e del 2016 possono stare una accanto all'altra.

Non è possibile che io abbia chiarito il mio punto di vista.

Guarda, abbiamo costruito un albero su un campione di allenamento, ha coperto il 10% del campione (Recall) e quindi diciamo 20 alberi, ognuno aggiunge lì il 3%-7% al Recall, ma questo è sul campione di allenamento, mentre sul campione di test, forse solo 5 e 6 alberi daranno generalmente qualche risposta sulla completezza e la precisione, e gli alberi prima e dopo saranno quindi rumore, ma se quelli "dopo" sono tagliati dall'algoritmo, allora quelli "prima" rimarranno. Così otteniamo un modello che ha alberi che aiutano la classificazione e alberi che la ostacolano o che si comportano passivamente. Ecco perché la questione è la dimensione del campione di prova e il suo riempimento.

Ho circa 14 corde in totale e ho bisogno di dividerle in 3 campioni.

Forse per questi tipi di modelli è efficiente tagliare diversi pezzi di campione e poi testare i modelli risultanti sull'intero campione per la robustezza... In contemplazione.

 
Elibrarius:

Il bene è naturalmente una percezione di ogni individuo. Per gli europei, naturalmente, è stata una benedizione sotto forma di furto di finanze e di cervelli. Per i bizantini non è una manna, per molti fu la morte.

Non ricordo esattamente, ma nel periodo d'oro di Bisanzio le tasse annuali erano circa 2-4 mila tonnellate d'oro. Anche per i nostri tempi, è una quantità molto buona per molti paesi. Ma potrei sbagliarmi sulle cifre - ho visto un film qualche anno fa, lo diceva. Se siete interessati date un'occhiata. Accidentalmente incontrato all'inizio del film - solo le monete hanno portato fuori diverse centinaia di tonnellate.


Darò un'occhiata al video, grazie, ma preferirei vedere dai giapponesi o da qualcuno indipendente...

 
Aleksey Vyazmikin:
forse solo gli alberi 5 e 6 daranno qualche risposta sulla completezza e la precisione, e gli alberi prima e dopo saranno quindi rumore, ma se quelli "dopo" saranno potati dall'algoritmo, quelli "prima" rimarranno.

Quale algoritmo taglierà gli alberi di una foresta già costruita? La foresta finirà di crescere o quando raggiungerà un certo numero o con qualche altro metodo, quando riterrà di aver imparato bene. Se avrete il pruning durante l'apprendimento, avrà un effetto positivo sull'errore in treno (e se è disponibile su valido).

In generale, ovviamente, parte degli alberi voterà a favore e parte contro. Ed è impossibile liberarsene, perché è ciò che permette alla foresta di imparare bene, a differenza dei singoli alberi, a causa della media dei voti. Nel boosting, solo il primo albero impara dai dati, tutti gli altri dagli errori.

 
elibrarius:

Quale algoritmo taglierà gli alberi di una foresta già costruita? La foresta finirà di crescere o quando raggiungerà un certo numero o con qualche altro metodo, quando riterrà di aver imparato bene. Se ci sarà la potatura durante l'addestramento, avrà un effetto positivo sull'errore in treno (e se disponibile su quello valido).

Quale algoritmo pota - così CatBoost lo fa in allenamento, lì puoi impostare un parametro che se 10 (quanti ne specifichi) nuovi alberi non hanno migliorato il risultato, allora prende il modello senza questi ultimi 10 alberi, e rispettivamente è il migliore di quello che hai.

elibrarius:

Nel boosting, solo il primo albero impara dai dati, tutti gli altri dagli errori.

Un detto interessante. Tuttavia, gli alberi successivi sono costruiti per ridurre l'errore dalla composizione dell'albero esistente, ma non capisco perché non usano il campionamento allora, ditemi in modo più dettagliato, forse non capisco qualcosa in profondità...

 
Aleksey Vyazmikin:

Un detto interessante. Tuttavia, gli alberi successivi sono costruiti per ridurre l'errore dalla composizione dell'albero esistente, ma non capisco perché non usano il campionamento allora, ditemi in modo più dettagliato, forse mi manca qualcosa in profondità...

Sì, per ridurre l'errore prendono esattamente gli errori come obiettivo, poi li sottraggono.

Ecco l'algoritmo del boosting, lo sto studiando io stesso https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1. Impostare la regressione lineare o l'albero decisionale sui dati (qui scelto albero decisionale nel codice) [chiamare x come input e y come output] (1 albero addestrato sui dati)

2. Calcolare gli errori di errore. Valore target effettivo, meno il valore target previsto [e1 = y - y_predetto1]

3. impostare un nuovo modello per gli outlier come variabile target con le stesse variabili di input [nominarlo e1_predicted] (2 e il resto degli alberi sono addestrati sugli errori)

4. Aggiungere gli outlier predetti alle previsioni precedenti
[y_predicted2 = y_predicted1 + e1_predicted]

5. impostare un altro modello per gli errori rimanenti. cioè [e2 = y - y_predicted2], e ripetere i passi da 2 a 5 fino a quando non sono overfitting, o la somma diventa costante. Il controllo dell'overfitting può essere controllato controllando costantemente la precisione sui dati di convalida.


Capisco che questo è il classico boosting. Forse catbust ha inventato qualcosa di suo...

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...