Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 1259
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
nicht ganz, hier sollte es deutlicher sein
https://habr.com/ru/post/276355/
die Bandbreite der Anwendungen ist groß, wie genau sie genutzt wird, ist eine andere Frage
Ich werde es am Abend lesen
Sie und ich haben nichts zu besprechen, denn ich erkenne an Ihrem Psycho-Typ, dass Sie entweder ein Kind sind oder einfach... vergessen Sie es.
"Wir" wie Sie? Such dir erst einmal einen Job, es ist eine Schande, in diesem Alter auf den Schultern deiner Eltern zu sitzen.
nicht ganz, hier sollte es deutlicher sein
https://habr.com/ru/post/276355/
die Bandbreite der Anwendungen ist groß, wie genau sie genutzt wird, ist eine andere Frage
Das Tolle am Bayes'schen Ansatz ist, dass man diese Zufälligkeit kontrolliert nutzen kann.
....
In der Praxis bedeutet dies, dass ein dimensionales Netz bessere Ergebnisse liefert als ein Dropout-Netz, wenn auch nur geringfügig.
Das Coolste am Dropout ist natürlich, dass es sehr einfach ist.
D.h. ein tiefes NS mit Dropout ist das Äquivalent eines Bayes'schen Netzes. Und Dropout ist in vielen Paketen enthalten. Sie können es zunächst verwenden, um nach Fischen in Ihren Prädiktoren/Zielen zu suchen. Und dann versuchen Sie, die Ergebnisse mit Bayes zu verbessern. In den Artikeln von Vladimir Perervenko wurde Dropout verwendet, es ist möglich, auf ihrer Grundlage zu experimentieren.
Ich habe experimentiert, aber keinen Durchbruch bei meinen Prädiktoren gefunden.Aber ich habe die Netze nicht so tief geknüpft, dass ich 1000 Neuronen aus ihnen herausnehmen musste. Ich habe nicht mehr als N-100-100-100-100-1 (401 Neuronen) ausprobiert. D.h. 100 können entfernt worden sein, aber nicht 1000. Um 1000 zu entfernen, bräuchte man ein Netzwerk mit 4-10 Tausend Neuronen, und das Zählen würde wahrscheinlich sehr lange dauern.
Es ist möglich, dass Wälder mit 1000 Bäumen ähnliche Ergebnisse erzielen und viel schneller als NS zählen würden.
Ich habe nicht mehr als N-100-100-100-1 (401 Neuronen) ausprobiert.
Solche Monster kann man nicht richtig trainieren. Imho brauchen wir einen einfacheren NS. Irgendwo bis zu 100 Neuronen.
Das Fazit aus Teil 2 des Artikels:
D.h. ein tiefes NS mit einem Aussetzer ist analog zu einem Bayes'schen Netz. Und Dropout gibt es in vielen Paketen, Sie können sie zunächst für die Suche nach Fischen auf ihre Prädiktoren/Ziele verwenden. Und dann versuchen Sie, die Ergebnisse mit Bayes zu verbessern. In Artikeln von Vladimir Perervenko Aussteiger verwendet wurde, können Sie auf ihrer Grundlage zu experimentieren.
Ich habe experimentiert, aber keinen Durchbruch bei meinen Prädiktoren gefunden.Aber ich habe die Netze nicht so tief geknüpft, dass ich 1000 Neuronen aus ihnen herausnehmen musste. Ich habe nicht mehr als N-100-100-100-100-1 (401 Neuronen) ausprobiert. D.h. 100 können entfernt worden sein, aber nicht 1000. Um 1000 zu entfernen, bräuchte man ein Netzwerk mit 4-10 Tausend Neuronen, und das Zählen würde wahrscheinlich sehr lange dauern.
Es ist möglich, dass Wälder mit 1000 Bäumen ähnliche Ergebnisse erzielen und viel schneller als NS zählen würden.
Oh, ich weiß nicht, bei einer beliebigen Anzahl von Bäumen/Hölzern hört der Akurasi auf zu wachsen, und sie liegen einfach als Ballast da, ohne irgendetwas zu verbessern. Das Fallenlassen oder Nicht-Fallenlassen ist ein eindeutiges Zeichen.
Meiner Meinung nach ein grober Vergleich zwischen Bayes und den Aussteigern, aber ich bin immer noch nicht sehr sachkundig auf diesem Gebiet, also werde ich nicht darüber streiten, vielleicht so
Meiner Meinung nach ein grober Vergleich zwischen Bayes und Aussteigern, aber ich bin noch nicht sehr bewandert auf diesem Gebiet und werde nicht widersprechen, vielleicht so
Nicht ich, sondern der Autor dieses Artikels hat diesen Vergleich angestellt. Er schrieb seinen Artikel aus einem anderen, größeren, den er für seine Experimente verwendete. Das heißt, dieser Vergleich stammt offenbar von den Entwicklern der Methode.
Oh, ich weiß nicht, bei einer beliebigen Anzahl von Bäumen/Hölzern hört der Akurasi auf zu wachsen, und sie liegen einfach als Ballast da, ohne irgendetwas zu verbessern. Ob man sie fallen lässt oder nicht, sie sind ein totes Taschentuch.
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?
Laut wikipedia sollte es lautenEntweder 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 die Kreuzentropie - ist der Code überhaupt korrekt, oder stimmt etwas nicht?
Ich verglich es mit catbust - es gibt gut, in der Regel > 0,5 auf den Test ... gut, wie üblich
Ich werde mir die Berechnung morgen ansehen, vielleicht ist der Fehlerbehebungscode noch vorhanden.
Im Allgemeinen ist diese Kennzahl hier nicht von Nutzen, da sie nicht für eine frühe Pause oder ähnliches verwendet wird... und daher wenig informativ ist. Es wird ein Klassifizierungsfehler gemacht und das war's.