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

 
Andrey Khatimlianskii:

In diesem Thema, ein Gastbeitrag. Ich bin nur vorbeigekommen, um einen Artikel zu teilen

Nummerai fiel auf die Parole "Proletarier aller Länder vereinigt euch!" von Karl Marx herein, wie sie von Geoffrey Hinton interpretiert wurde:)
 
Maxim Dmitrievsky:

Dies ist übrigens richtig.

In Anbetracht der Anzahl der Schwachköpfe im Forum (einschließlich deines Lieblingsmagiers Mudo ...) halte ich es nicht mehr für nötig, dieses Thema zu unterstützen, da ich fast keinen Nutzen für mich selbst erhalten habe

Maxim, du irrst dich! Es gibt einen Nutzen für Sie, einen Nutzen in der Formulierung und Darstellung der Aufgaben selbst. Aber ich versuche nicht, Sie zu überzeugen.

 
Yuriy Asaulenko:

Maxim, du irrst dich! Es gibt einen Vorteil für Sie, einen Vorteil, der schon in der Formulierung und der Präsentation der Aufgaben liegt. Aber ich bin nicht überzeugend.

Man kann sehen, dass hier einige klinische Idioten leben, das sind keine Forenmasken, sondern echte Fälle, man sagt ihnen ein Wort und sie sagen dir zwei Worte nach jedem Beitrag.

 
elibrarius:

Ich habe einen obskuren Code im Alglib-Wald gefunden. Vollständiger Code der Funktion zur Berechnung der Kreuz-Etropie aus dataanalysis.mqh:

//+------------------------------------------------------------------+
//| Average cross-entropy (in bits per element) on the test set      |
//| INPUT PARAMETERS:                                                |
//|     DF      -   decision forest model                            |
//|     XY      -   test set                                         |
//|     NPoints -   test set size                                    |
//| RESULT:                                                          |
//|     CrossEntropy/(NPoints*LN(2)).                                |
//|     Zero if model solves regression task.                        |
//+------------------------------------------------------------------+
static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy,
                                const int npoints)
  {
//--- create variables
   double result=0;
   int    i=0;
   int    j=0;
   int    k=0;
   int    tmpi=0;
   int    i_=0;
//--- creating arrays
   double x[];
   double y[];
//--- allocation
   ArrayResizeAL(x,df.m_nvars);
   ArrayResizeAL(y,df.m_nclasses);
//--- initialization
   result=0;
   for(i=0;i<=npoints-1;i++)
     {
      for(i_=0;i_<=df.m_nvars-1;i_++)
         x[i_]=xy[i][i_];
      //--- function call
      DFProcess(df,x,y);
      //--- check
      if(df.m_nclasses>1)
        {
         //--- classification-specific code
         k=(int)MathRound(xy[i][df.m_nvars]);
         tmpi=0;
         for(j=1;j<=df.m_nclasses-1;j++)
           {
            //--- check
            if(y[j]>(double)(y[tmpi]))
               tmpi=j;
           }

         //--- check
         if(y[k]!=0.0)
            result=result-MathLog(y[k]);
         else
            result=result-MathLog(CMath::m_minrealnumber);
        }
     }
//--- return result
   return(result/npoints);
  }

Das rot markierte Codefragment berücksichtigt etwas(tmpi), das in keiner Weise verwendet wird. Warum ist sie dann enthalten?
Entweder fehlt etwas oder der Code ist nicht vollständig bereinigt.
Im Allgemeinen begann ich, mich mit dieser Funktion zu beschäftigen, weil ich 1 Baum suchen wollte. Und wenn ich die Anzahl der Bäume im Wald = 1 einstelle, sehe ich, dass alle Fehler zwischen 0 und 1 liegen, und dieser Fehler von 100 bis 300 + auftritt.
Versteht jemand etwas von Kreuzentropie - ist der Code überhaupt korrekt, oder wird etwas rückgängig gemacht?

Laut wikipedia sollte es lauten



Der Wert im Allgemeinen kann bis zu unendlich sein, wenn die Berechnung logloss, wenn die richtige Klasse vorhergesagt wird, um Null-Wahrscheinlichkeit haben, weil die Formel umfasst alle anderen Klassen außer ihm mit Null-Koeffizient, und es scheint ein Versuch, diesen Fehler zu beheben - in tmpi in der Schleife finden Sie die Klasse, die die höchste Wahrscheinlichkeit Wert in der Stichprobe hat, vielleicht wollte, um die Formel hinzufügen, aber wahrscheinlich nicht denken, es durch:)
 
Iwan Negreshniy:
Der Wert im Allgemeinen auf Unendlichkeit kann bei der Berechnung logloss, wenn Null-Wahrscheinlichkeit für die richtige Klasse vorhergesagt wird, weil alle anderen Klassen außer es die Formel mit Null-Koeffizient eingeben, und es scheint ein Versuch, diese Panne zu beheben - in tmpi in der Schleife finden Sie die Klasse, die in einer bestimmten Probe hat die höchste Wahrscheinlichkeit Wert, vielleicht wollte, um die Formel hinzufügen, aber offenbar nicht durchdacht:)
tmpi wird nur in 1 von 5 Fehlerfunktionen verwendet. Offenbar wurde sie als Attrappe für andere Funktionen verwendet, aber bei anderen Funktionen wurde vergessen, sie zu entfernen.
Insgesamt ist 1 tmpi vorhanden und wird verwendet, 2 weitere sind vorhanden, werden aber nicht verwendet.
Im Großen und Ganzen beeinträchtigt sie den Betrieb nicht.
 
elibrarius:
tmpi wird nur in 1 der 5 Fehlerfunktionen verwendet. Offenbar wurde sie als Attrappe für andere Funktionen verwendet, aber vergessen, sie bei anderen zu entfernen.
Insgesamt ist 1 tmpi vorhanden und in Gebrauch, 2 weitere sind vorhanden, werden aber nicht benutzt.
Im Allgemeinen wird der Betrieb dadurch nicht beeinträchtigt.

Was ich meine, ist, dass eine gute Formel für die Fehlerberechnung die Wahrscheinlichkeitsverteilung über alle Klassen berücksichtigen könnte, anstatt nur eine korrekte Klasse.

Wenn jedoch eine der Stichproben eine Wahrscheinlichkeit von Null für eine korrekte Klasse hat, dann fliegt alles ins Unendliche.

Offenbar bevorzuge ich deshalb die Regression mit einem quadratischen Fehler:)

 
Iwan Negreshniy:
Ich will damit sagen, dass eine gute Fehlerberechnungsformel die Wahrscheinlichkeitsverteilung über alle Klassen berücksichtigen könnte, nicht nur über eine richtige Klasse.
Es gibt 5 Fehlerfunktionen. Dieser ist etwas seltsam, aber die anderen 4, wie sie sollten von 0 bis 1 ändern. Es gibt also eine Wahl)
 
Nun sollen Kesha (der Enkel von SanSanych) und der vom Investor ermordete Aliosha die Filiale leiten. Das wäre nur fair.
 
Alexander_K2:
Nun sollen Kesha (Enkel von SanSanYch) und Alyosha, der von den Investoren bestraft wurde, diesen Thread führen. Es wird fair sein.

Es ist sinnvoller, dieses Thema aufzugeben und ein neues, angemesseneres Thema mit anderen verwandten Themen zu beginnen.

Übrigens habe ich bei den Preisen eine Normalverteilung festgestellt. Ich habe bereits in Tip geschrieben, dass alle Anomalien auf eine "falsche" Datenverarbeitung zurückzuführen sind - wir machen das selbst).

Ich werde es in den nächsten Tagen oder früher in Pythons Thread posten.

 
Yuriy Asaulenko:

Es ist sinnvoller, dieses Thema aufzugeben und ein neues, angemesseneres Thema mit anderen verwandten Themen zu beginnen.

Übrigens habe ich bei den Preisen eine Normalverteilung festgestellt. Ich habe bereits in Tip geschrieben, dass alle Anomalien auf eine "falsche" Datenverarbeitung zurückzuführen sind - wir machen das selbst).

Ich werde es in den nächsten Tagen oder früher in den Python-Thread stellen.

Leider gibt es in diesem Forum nicht genügend Leute auf dem Niveau von Matemat, Northwind und Prival, so dass all diese Themen keine Zukunft haben. IMHO.