Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 1075

 
Maxim Dmitrievsky:


Ja, ich habe es verstanden... Haben Sie den Code kopiert?

Dann werden wir diskutieren...

 
Maxim Dmitrievsky:

ja, Sie können löschen

Bitte lesen Sie die ersten Zeilen im Kommentarbereich des Codes und gehen Sie dann zum Codebereich ... Ich hoffe, Sie werden verstehen ...

Als Nächstes müssen wir ein weiteres dynamisches Array hinzufügen, in dem Sie die RDF lernen, und dieses an die Funktion "CalculateNeuron (double a, int b)" übergeben:

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

Etwa so:

Kopieren Sie dann das Array best_features[] in das Array inputs [] mittels ArrayCopy()...

Der Rest sollte einfach sein:)))

Basierend auf dem dynamischen Wert der Komponenten der Basisfunktion gibt die Funktion die transformierten Merkmale zurück und trainiert das RDF erneut und ruft die Funktion erneut auf usw. .....

 
Eidechse_:
Nicht RDF, RF.

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

Der RDF-Algorithmus ist eine Abwandlung des ursprünglichen Random-Forest-Algorithmus, der von Leo Breiman und Adele Cutler entwickelt wurde. Bei diesem Algorithmus werden zwei Ideen miteinander kombiniert: die Verwendung eines Entscheidungsbaumausschusses, der das Ergebnis durch Abstimmung ermittelt, und die Idee der Randomisierung des Trainingsprozesses.
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:

ja... aber Code zu groß mit "Fall", ich denke, kann es viel kürzer zu implementieren ... so pls warten ein bisschen, wenn ich meinen Code zu beenden, wenn es schlecht so weiter mit Ihrem ^)

Ja, das ist genau das, was GMDH beste Basisfunktion laut wikipedia, die Sie überprüfen können :)))... nach einer Menge Forschung auch ich konnte nicht finden, einen besseren Weg bis jetzt noch versuchen.................

Es wird jedoch nur eine Bedingung für jeden Schritt ausgeführt, so dass der restliche Code nach der Break-Anweisung nicht ausgeführt wird:

Ich vermute also, dass das Training langsam sein könnte... ich weiß nicht... wenn dem so ist, dann können wir den maximalen Wert der Komponenten auf 3 oder 4 begrenzen, indem wir eine andere Eingabevariable verwenden, so dass die Features maximal in 3 oder 4 Komponenten unterteilt werden und nicht mehr als das.

Wie ich bereits sagte, fungiert GMDH selbst als neuronales Netz, und daher verwenden wir jetzt ein doppeltes neuronales Netz, ein GMDH und ein RDF zusammen :)))

 
Maxim Dmitrievsky:

Er beschloss, einen Witz zu machen und das maschinelle Lernen auf das Erlernen von Codes zu reduzieren - gut, dass er ihn los ist, und es scheint, dass Ihr sehr aktiver Freund auch etwas Bildung gebrauchen könnte...))

 
Maxim Dmitrievsky:

Ich bin noch nicht einmal zu Ihrem P-Netz gekommen. Unterscheidet es sich übrigens sehr von PNN?

Ich habe mich über PNN informiert, es ist ein verdammter Gral.

Ich weiß nicht mehr, welches PNN es ist, aber die Suche ergibt PNN-Soft B2B-Programmierdienste für Unternehmen, aber ich denke, dass unser p-net anders ist.

es ist im Grunde eine sehr einfache Idee, aber eine originelle Idee))

 
Maxim Dmitrievsky:

Richtig, aber wir brauchen keine 2 NN, wir brauchen nur einen guten Feature Selector, also muss es kein komplettes gmdh sein

so dass meine Umsetzung näher dran ist

Genau...es ist nicht zwingend erforderlich, dass wir eine exakte Formel oder Methoden von GMDH oder RDF oder RF usw. verwenden...alles, was wir suchen, sind Endergebnisse: )))))))))

Was ich suche, ist:

1.Schnelles Training mit vergangenen Daten

2. schnelle Merkmalsauswahl während des LIVE-Handels für schnelle Handelsausführung

3. die Konvergenz des Algorithmus in Richtung einer Lösung bei wiederholtem Training

4. hohe Genauigkeit und geringer Drawdown beim Handel

Nun, die Erfüllung aller Punkte ist in der Regel schwierig, in MQL5 zu erreichen, aber Ihre aktuelle Implementierung scheint die meisten Punkte zu erfüllen... aber eine ordnungsgemäße Abwägung aller 4 Kriterien müssen mit Feinabstimmung des Algorithmus durchgeführt werden...

Wenn wir z.B. die Anzahl der Merkmale auf hoch erhöhen, sehe ich eine Verbesserung der Ergebnisse, aber die Trainingszeit steigt auch erheblich...

 
Maxim Dmitrievsky:

probabilistisches NN, es baut Merkmalsbäume mit Polynomen vom MGUA-Typ auf und verwendet diese Polynome anstelle von Sigmoiden

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

und auch etwas Bayes'sches Zeug... auch viel schneller als 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:

Ja, ich bin immer noch verwirrt über den Umzug. Ich hatte an ein Polynom NA gedacht

Ich denke, wir können PNN, RDF und GMDH zusammen in Ihrem Code verwenden: ))))

Die Logik von PNN scheint großartig zu sein!!!...PNN scheint sich wie ein Neuron eines menschlichen Gehirns zu verhalten...ich meine einen schnellen Entscheidungsfindungsprozess...wenn man also eine Break-Anweisung in jeder for-Schleife meiner Logik verwendet, wird es wahrscheinlich als PNN funktionieren...

Ich meine, wir gehen nicht bis zum Ende jeder for-Schleife... aber es wird die Verzögerungszeit mit TickCount() Funktion überprüfen und wenn es mehr als 2 bis 5 ms ist, dann brechen Sie die Schleife und fahren Sie mit der nächsten RDF-Entscheidung...

Ich habe gerade in PNN reingeschaut... also bitten Sie mich nicht, den Code von PNN noch einmal zu schreiben:))))))))))))))))))))))))))))

 
Maxim Dmitrievsky:

Es müssen auch verschiedene Basistransformationsfunktionen implementiert werden - algebraische, triginometrische, orthogonale Polynome

Ich denke, wir können PNN in meiner derzeitigen GMDH-Logik verwenden, um den Entscheidungsprozess zu beschleunigen... Ich bin mir nicht sicher... aber ich habe mir gerade die Logik angeschaut, also sag mir nicht, dass ich jetzt den Code von PNN schreiben soll:)))