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

 
Maxim Dmitrievsky:


Sì, ho capito... Hai copiato il codice?

Poi, discuteremo...

 
Maxim Dmitrievsky:

sì, puoi cancellare

Si prega di leggere le prime righe nella sezione commenti del codice e poi andare alla sezione codice ... Spero che capirete...

Successivamente, quello che dobbiamo cambiare è aggiungere un altro array dinamico dove si impara l'RDF e passarlo alla funzione "CalculateNeuron (double a, int b)" come:

CalculateNeuron ( double a, int b, double & best_features [])

Qualcosa del genere:

Poi, copiare l' array best_features[] nell' array inputs [] tramite ArrayCopy()...

Il resto dovrebbe essere semplice:)))

Quindi, in base al valore dinamico dei componenti della funzione di base, la funzione restituirà le caratteristiche trasformate e riqualificherà di nuovo l'RDF e chiamerà di nuovo la funzione e così via.....

 
Vizard_:
Non RDF, RF.

no, RDF http://www.alglib.net/dataanalysis/decisionforest.php

L'algoritmo RDF è una modifica dell'algoritmo originale Random Forest progettato da Leo Breiman e Adele Cutler. Due idee sono in combinazione l'una con l'altra in questo algoritmo: queste sono l'uso di un comitato di alberi di decisione che ottiene il risultato tramite votazione, e l'idea di randomizzazione del processo di formazione.
Decision forest - ALGLIB, C++ and C# library
  • www.alglib.net
This page contains a brief description of the RDF classification and regression algorithm. Prior to reading this page, it is necessary that you look through the paper on the general principles of data analysis methods. It contains important information which, to avoid duplication (as it is of great significance for each algorithm in this...
 
Maxim Dmitrievsky:

Sì... ma codice troppo grande con "caso", penso che può implementarlo molto più breve... così pls aspettare un po 'quando ho finito il mio codice, se sarà male così continuare con il vostro ^)

Sì, questo è esattamente ciò che è GMDH migliore funzione di base come da wikipedia che si può controllare :)))...dopo un sacco di ricerche anche io non ho potuto trovare un modo migliore per ora ancora cercando.................

Ma solo 1 condizione sarà eseguita per ogni passo e quindi il codice rimanente non sarà eseguito dopo la dichiarazione di interruzione:

Quindi immagino che l'addestramento potrebbe essere lento... non lo so... se è così, allora possiamo limitare il valore massimo dei componenti a 3 o 4 usando un'altra variabile di input in modo che rompa al massimo le caratteristiche in 3 o 4 componenti e non più di questo.

Come ho già detto GMDH stesso agisce come una rete neurale e quindi, stiamo usando una doppia rete neurale ora una GMDH e una RDF insieme :)))

 
Maxim Dmitrievsky:

Ha deciso di fare uno scherzo e di ridurre l'apprendimento automatico all'apprendimento del codice, a quanto pare - che liberazione per lui, e sembra che anche il tuo amico molto attivo potrebbe usare un po' di educazione...))

 
Maxim Dmitrievsky:

Non sono nemmeno arrivato al tuo P-net, a proposito, è molto diverso da PNN?

Mi sono documentato su PNN, è un fottuto graal.

non ricordo quale PNN è, ma la ricerca dà PNN-Soft servizi di programmazione B2B per le imprese, ma penso che sicuramente la nostra p-net è diversa

c'è fondamentalmente un'idea molto semplice, ma originale))

 
Maxim Dmitrievsky:

Giusto, ma non abbiamo bisogno di 2 NN, abbiamo solo bisogno di un buon selettore di caratteristiche, quindi non deve essere un gmdh completo

quindi la mia implementazione più vicina ad essa

Esattamente... non è obbligatorio per noi usare una formula esatta o metodi di GMDH o RDF o RF ecc... tutto ciò che stiamo cercando sono i risultati finali:)))))))))

Quello che sto cercando è:

1.Addestramento veloce con dati passati

2. Selezione rapida delle caratteristiche durante il trading LIVE per una rapida esecuzione degli scambi

3. Convergenza dell'algoritmo verso una soluzione su allenamenti ripetuti

4. Alta precisione e basso drawdown durante il trading

Ora, soddisfare tutti i punti è generalmente difficile da raggiungere in MQL5, ma la tua attuale implementazione sembra soddisfare la maggior parte dei punti...ma un corretto bilanciamento di tutti i 4 criteri deve essere fatto utilizzando la messa a punto dell'algoritmo...

Per esempio, se aumentiamo il numero di caratteristiche ad alto vedo qualche miglioramento nei risultati, ma il tempo di addestramento aumenta anche significativamente...

 
Maxim Dmitrievsky:

NN probabilistica, costruisce alberi di caratteristiche con polinomi di tipo MGUA, e usa questi polinomi invece dei sigmoidi

https://en.wikipedia.org/wiki/Probabilistic_neural_network

e anche un po' di roba bayesiana... molto più veloce di MLP.

there's also Pulsed neural networks, PNN) https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D1%83%D0%BB%D1%8C%D1%81%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C
 
Maxim Dmitrievsky:

Sì, sono ancora confuso sulla mossa. Avevo in mente un polinomio NA

Penso che possiamo usare PNN, RDF e GMDH insieme nel tuo codice:))))

La logica di PNN sembra grande!!!...PNN sembra agire come un neurone di un cervello umano...voglio dire processo decisionale veloce...quindi se si usa una dichiarazione di interruzione in ogni ciclo for della mia logica probabilmente funzionerà come un PNN...

Voglio dire che non andiamo alla fine di ogni ciclo for... ma controllerà il tempo di ritardo usando la funzione TickCount() e se è più di 2-5 ms, allora interrompe il ciclo e continua con la prossima decisione RDF...

Ho appena dato un'occhiata a PNN... quindi non chiedetemi di scrivere di nuovo il codice di PNN:))))))))))))))))))))))))))))

 
Maxim Dmitrievsky:

Necessità di implementare anche diverse funzioni di trasformazione della base - algebriche, triginometriche, polinomi ortogonali

Penso che possiamo usare PNN nella mia attuale logica GMDH per accelerare il processo decisionale... Non sono sicuro...ma ho appena guardato nella logica e quindi non ditemi di scrivere il codice di PNN ora:)))