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

 
ivanivan_11:

halten mit der R von mt5 über Krücken. gut, dass sie sie haben - mt4r.

Entschuldigen Sie bitte. Funktioniert mt4r auch für 5? Haben Sie es überprüft?
 
Alexey Burnakov:
Entschuldigung. Funktioniert mt4r für 5 auch? Haben Sie es überprüft?
Hier ansehen, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""
  • www.mql5.com
Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.
 
ivanivan_11:
siehe hier, youtz https://www.mql5.com/ru/forum/37931/page10#comment_2945898
О. Und das ist auch schon alles, was es zu sagen gibt. Ich möchte bitte ein Gradienten-Binning-Modell mit 500 Bäumen festlegen. Ich möchte eine robuste Regression mit einem elastischen Netzregularisierer, bitte. Und diese Methoden sind nicht so oft irgendwo zu finden. Und unter R gibt es viele davon.
 
Quantum:

Artikel "Computing discrete mixtures of continuous distributions" ist auf der Website des Autors verfügbar.

Die Autoren des Papiers sagen, dass das Problem im Konvergenzkriterium der Reihe liegt.


Die Implementierung des von ihnen vorgeschlagenen Rekursionsalgorithmus 7.2 https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c.

Die Berechnung der Wiederholungsrate ist jedoch mit Unsicherheiten behaftet. Zum Beispiel für die Beta-Funktion:


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double a=1;
   double b=1;
   double r_beta=MathBeta(a,b);
   for(int j=0; j<40; j++)
     {
      if(j>0)
        {
         r_beta*=((a+j-1)/(a+b+j-1));
        }
      double beta=MathBeta(a+j,b);
      PrintFormat("%d   error=%5.20e",j,beta-r_beta);
     }
  }

Die CDF-Berechnung mag genau genug sein, aber für die Umwandlung von Quantilen mit großer Genauigkeit ist ihre Genauigkeit möglicherweise nicht ausreichend.

Daher haben wir im Algorithmus zur Berechnung der Quantile eine direkte Summierung ohne Rekursionsberechnungen verwendet.

Vielen Dank für die Informationen!
 
ivanivan_11:

Meine Herren, was ist das Argument für 100.500 Seiten? Wer kennt sich in Mathe besser aus? Was macht es für Sie prinzipiell für einen Unterschied, ob die Funktion in 0 definiert ist oder nicht, ob ein Fehler in R in den Artikel geschrieben wird oder nicht. Das ist so, als ob Ihr Kind hier diskutiert wird und gesagt wird, dass es ein totaler ... ist und Sie stehen mit Ihrer ganzen Brust für es ein.

Nehmen Sie es als gegeben und verwenden Sie die eingebauten Funktionen in mt5, fragen Sie die Entwickler nach neuen Funktionen, wenn etwas fehlt, schreiben Sie Ihre eigenen. Man muss neue Chips verwenden, eigene schreiben, wenn etwas fehlt, eigene schreiben, endlich R von mt5 durch Krücken weiter verwenden.

Es gibt keinen grundlegenden Unterschied. Wir unterscheiden uns nicht im Prinzip und schon gar nicht in der Praxis.

Aber es gibt sie - eine Antwort auf kategorische Klischees. Und wenn es keine solchen Antworten gibt, können Sie auf jeden Standard (einschließlich IEEE - die größte wissenschaftliche Gemeinschaft) pissen und schreiben, was Sie wollen.

 
Alexey Burnakov:

Im Prinzip gibt es keinen Unterschied. Es gibt keine, geschweige denn eine praktische Lösung.

Es gibt eine Antwort auf kategorische Klischees. Wenn es keine solchen Antworten gibt, können Sie sich auf jede Norm (einschließlich der IEEE - der größten wissenschaftlichen Gemeinschaft) stützen und schreiben, was Sie wollen.

Sie konnten der Erklärung von @Quantum nichts entgegensetzen, die sehr tiefgründig recherchiert ist und die Fehlerursache aufzeigt. Er hat die Bibliothek geschrieben, gründlich recherchiert und die Gründe dafür aufgezeigt, während Sie nur Fragen stellen und an R glauben.

Unsere Schlussfolgerungen waren richtig.

 
ivanivan_11:

Meine Herren, was ist das Argument für 100.500 Seiten? Wer versteht die Mathematik besser? Welchen Unterschied macht es für Sie prinzipiell, ob die Funktion in 0 definiert ist oder nicht, ob der Artikel sagt, dass es einen Fehler in R gibt oder nicht. Das ist so, als ob Ihr Kind hier diskutiert wird und gesagt wird, dass es ein totaler ... ist und Sie stehen mit ganzer Brust für es ein.

Alexey Burnakov:

Im Prinzip gibt es keinen Unterschied. Es gibt keinen prinzipiellen Unterschied, schon gar nicht in der Praxis.

Ich könnte nicht mehr zustimmen. In praktischen Berechnungen werden Sie darauf vielleicht nicht stoßen, aber die Dichte muss korrekt definiert sein.

Ein Beispiel wurde gefunden

> dgamma(0,0.5,1,log=FALSE)[1] Inf

was zeigt, dass man nicht einfach den Grenzwert zurückgeben kann, da die Wahrscheinlichkeitsdichtefunktion sonst unendlich wird. Hier liegt ein Fehler vor.

Die korrekte Definition lautet wie folgt:

Dann ist alles logisch und richtig.

In Matlab geschieht das auf die gleiche Weise:

>> gamma_pdf(0.5,1,0)

an =

0.00000000000000e+000

>> gamma_pdf(1,1,0)

an =

0.00000000000000e+000

 
Renat Fatkhullin:

Den Ausführungen von @Quantum, der sich sehr intensiv mit dem Thema beschäftigt und die Fehlerursache aufgezeigt hat, kann man nichts entgegensetzen. Er hat die Bibliothek geschrieben, gründlich recherchiert, die Gründe dafür aufgezeigt und Ihrerseits nur Fragen gestellt und an R geglaubt.

Unsere Schlussfolgerungen waren richtig.

Der Weg, den Sie gewählt haben, ist klar. Aufbau eines Toolkits, mit dem man (wie Sie denken) die gleichen Probleme wie in R lösen kann. Vielleicht.

Aber Sie müssen verstehen, dass ICL und R Sprachen mit unterschiedlichem Abstraktionsniveau sind.

MCL ist eine Implementierungssprache mit allem, was dazugehört. Sie bildet die entsprechende Denkweise für Programmierer.

R/Python sind algorithmische Sprachen mit einer höheren Abstraktionsebene, die es Ihnen ermöglichen, komplexe Probleme zu lösen, ohne sich um die Implementierungsebene kümmern zu müssen. Ja, manchmal kommt es bei der Erstellung von Profilen für komplexe Berechnungen zu Engpässen. Also, gehen wir runter, schreiben eine Cp-Datei und machen weiter. Wenn es nicht hilft, parallelisieren Sie es, wenn nicht genug - schließen Sie die Grafikkarte an. Und für all dies gibt es fertige und erprobte Lösungen!

Sie schlagen vor, von unten zu beginnen. Ich bestreite nicht, dass Ihre Werkzeuge heute golden sein können; Sie können sogar einige von ihnen zu Platin machen, aber sie werden Werkzeuge bleiben. Bildlich gesprochen kann man, wenn man gutes Werkzeug und schwindelfreie Hände in der Garage hat, ein Fahrrad bauen, und man kann fertige Einheiten nehmen und ein Fahrrad mit den gewünschten Eigenschaften zusammenbauen. Darüber zu streiten, welcher dieser Ansätze besser ist, ist sinnlos. Sie sind unterschiedlich und haben beide ein Recht auf Leben. Jeder kann nach seinen eigenen Vorlieben wählen.

Aber das sind zwei Straßen auf parallelen Ebenen, ich bezweifle, dass sie sich in naher Zukunft kreuzen werden.

Viel Glück!

 
Quantum:

Da kann ich nur zustimmen. In praktischen Berechnungen kommt dies vielleicht nicht vor, aber die Dichte muss korrekt definiert werden.

Ein Beispiel wurde gefunden

was zeigt, dass man nicht einfach einen Grenzwert zurückgeben kann, da die Wahrscheinlichkeitsdichte sonst unendlich ist. Dies ist ein Irrtum.

Die korrekte Definition lautet wie folgt:

Dann ist alles logisch und richtig.

Matlab macht das Gleiche:

OK, akzeptiert.

Und warum sagen Sie, "...richtig so..."? Unter welchen Gesichtspunkten ist dies richtig? Schlagen Sie noch einmal bei Wolfram nach, wo der Statistiker Onkel John "sonst 0" schrieb. Ihre eigenen Überlegungen als Experte, warum ist es richtig, die Dichte als 0 in Null zu definieren? Und Beispiele, bei denen die Definition von Dichte als 1 oder inf zu einem Problem wird? Ohne auf große Softwareprojekte zu verweisen, bitte...

Und ich habe bereits Beispiele für Diskussionen genannt, in denen es Beispiele dafür gab, dass 1 bequemer ist... Sie können meinen letzten Beitrag über die Links lesen.

Danke.

 
Vladimir Perervenko:

Der Weg, den Sie gewählt haben, ist klar. Aufbau eines Toolkits, mit dem man (wie Sie denken) die gleichen Probleme wie in R lösen kann. Vielleicht.

Sie schlagen vor, alles noch einmal von vorne anzufangen. Ich behaupte nicht, dass Ihre Werkzeuge heute Gold sein können, und Sie können sogar einige von ihnen zu Platin machen, aber sie werden Werkzeuge bleiben. Bildlich gesprochen, kann man ein Fahrrad bauen, wenn man gutes Werkzeug und schwindelfreie Hände in der Garage hat, und man kann fertige Einheiten nehmen und ein Fahrrad mit den gewünschten Eigenschaften zusammenbauen. Darüber zu streiten, welcher dieser Ansätze besser ist, ist sinnlos. Sie sind unterschiedlich und haben beide ein Recht auf Leben. Jeder kann nach seinen eigenen Vorlieben wählen.

Aber das sind zwei Wege, die parallel verlaufen, und ich bezweifle, dass sie sich in naher Zukunft kreuzen werden.

Unser Ansatz: Portieren Sie Ihre Entwicklungen von R nach MQL5 unter Verwendung unserer Standardbibliotheken.

Sie werden sehen, dass es nicht nur möglich, sondern auch einfach ist. Wir haben uns auf eine große Reise begeben, um komplexe Funktionen in Bibliotheken und die Sprache selbst zu implementieren.

Heute werden wir eine Beta-Version veröffentlichen und einen weiteren Stoß mit grafischen Bibliotheken zeigen, die Plot in R ersetzen.