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

 
elibrarius:
Kopieren Sie es in Ihren Blog, vielleicht braucht es jemand. Es ist nicht realistisch, hier nach etwas zu suchen.

Der Blog hat auch diesen Code. Aber es ist ziemlich grundlegendes "Wie mache ich kfold"-Zeug, es gibt eine Menge, das für Ihre spezifischen Aufgaben überarbeitet werden muss. Und wenn Sie Multithreading in der Genetik aktivieren, ignoriert elmnn das installierte gpsfold-Korn und jeder Thread bekommt etwas anderes und nicht reproduzierbar, für diesen Fall (Multithreading in der Genetik) siehe Artikel von Vladimir Perervenko und seine Art, gpsfold zu kontrollieren.

 
Maxim Dmitrievsky:

es gibt immer noch eine zusätzliche Dimension, und man muss irgendwie eine Kurve durch sie ziehen, vielleicht mit einem großen Fehler

Dropout erhöht den Fehler, oder?

Dropout ist gleichbedeutend mit der Deaktivierung eines Neurons. Wenn es laut ist, ist es gut.
Und warum sollten sie etwas erfinden, das den Fehler vergrößert - alles ist sinnvoll, solange es hilft, den Fehler zu verringern.
 
elibrarius:
Dropout ist gleichbedeutend mit dem Abschalten eines Neurons. Wenn es laut ist, ist es gut.
Und warum sollten Sie sich etwas ausdenken, das den Fehler erhöht - alles ist sinnvoll, wenn es hilft, den Fehler zu verringern.

Die Erhöhung des Fehlers soll das Übertraining beseitigen. Nicht immer, aber wie sonst?

Deshalb sagt man, dass 0,5 ein guter Shiba für Devisen ist. Bei mir fängt es bei 0,3 0,4 mehr oder weniger an zu funktionieren, wenn weniger, dann in der Regel mit Überschreitungen.

ich meine, ich verstehe den witz, oder? sie halten sich für cool, in Wirklichkeit trainieren sie das modell nur schlecht, und es sickert mehr oder weniger nichts nach draußen, weil es halbherzig gehandelt wird

 
Dr. Trader:

Python sollte es auch sein.

Ich sehe, Python ist weit weg von mir... Baut denn niemand einen GUI-Wrapper für die Arbeit mit NS?

Dr. Trader:

Ich lasse den Algorithmus heute Abend laufen und zeige Ihnen morgen, was dabei herausgekommen ist.

Vielen Dank, das wird lehrreich sein.

Dr. Trader:

Eine 100-prozentige Genauigkeit zu erreichen und zu hoffen, dass das Modell gut funktioniert, ist im Forex-Bereich normalerweise unmöglich. Wenn das Modell eine Genauigkeit von einigen Zehnern über 50 % erreicht hat, beginnt es, sich Trainingsbeispiele einzuprägen, anstatt logische Muster darin zu finden. Daher wird das Ergebnis bei neuen Daten immer schlechter ausfallen. Bei Ihren Daten habe ich dieses Optimum von etwa 60 % erreicht - wenn die Ergebnisse auf Trainings- und Testdaten ungefähr gleich sind, aber mit detaillierterer Baumpartitionierung und höherer Präzision zeigt Forest immer schlechtere Ergebnisse auf neuen Daten.

Wozu die Eile, wir haben Zeit, wenn wir sie nicht vergeuden wollen.

Allerdings verstehe ich den Unterschied zwischen Auswendiglernen und Lernen nicht ganz. Meiner Meinung nach sollte dieses MO Merkmale im Datensatz finden und das erwartete Ergebnis mit dem gespeicherten Ergebnis abgleichen, aber unter Berücksichtigung der Datenverformung, und dementsprechend seine Vorhersage in Abhängigkeit von der Verformung abgeben. Das hatte ich auch im Sinn, bis ich anfing, damit herumzuspielen.

Ich bin nur überrascht, dass der Baum mit verschiedenen Prädiktoren gelöst wird, was bedeutet, dass nicht alle Daten und Erkenntnisse bei der Erstellung des Baums überprüft werden, und dieser Umstand erlaubt mir, eine Vermutung über die Zulässigkeit weiterer Verzweigungen anzustellen.

 
Maxim Dmitrievsky:

Indem man den Fehler erhöht, scheint das Übertraining beseitigt zu werden. Nicht immer, aber wie sollte es anders sein?

Auch das. Genauer gesagt, ist dies die Hauptaufgabe. Ich habe die Assoziation, dass das Entfernen von Neuronen mit dem Entfernen von Inputs verbunden ist. Vielleicht ist das nicht richtig.

Ja, Dropconnect in der ersten Schicht ist wie das Entfernen von Inputs.

 
Elibrarius:

Auch dies. Genauer gesagt, ist dies die Hauptaufgabe. Ich habe eine Assoziation zwischen dem Entfernen von Neuronen und dem Entfernen von Inputs. Das mag nicht richtig sein.

Wegfall von Neuronen bedeutet Wegfall von Freiheitsgraden = Zunahme des Fehlers, Vergröberung

Wenn man ein paar Terme aus einer Regression entfernt, kommt das dem Entfernen von Inputs gleich, und in einem vollständig kohärenten NS, warum

dropconnect, dem Namen nach, ja, es scheint

 
Maxim Dmitrievsky:

Wegfall von Neuronen bedeutet Wegfall von Freiheitsgraden = Zunahme des Fehlers, Vergröberung

wenn aus der Regression einige Mitglieder zu entfernen sind, ist dies gleichbedeutend mit dem Entfernen von Eingängen, und in einem vollständig verbundenen NS ist dies der Grund dafür

dropconnect, wie der Name schon sagt, - ja, es scheint.

Aber auch bei dropconnect ist die Aufgabe kompliziert... Zum Beispiel 50 Eingänge, 50 Neuronen.
Wenn wir 1 Eingang entfernen, entfernen wir auch 50 Verbindungen für 50 Neuronen.
Und es ist 50 Mal schwieriger, alle 50 Verbindungen zu entfernen, um einen Eingang zu entfernen. Und auf diese Weise durch alle 50 Eingänge zu gehen... das sind 50^50 Variationen. Es ist offensichtlich, dass dies eine hoffnungslose Aufgabe ist. Es ist einfacher, mit Eingaben umzugehen - wir haben nur 2^50 ))).
 
elibrarius:

Die Frage richtet sich nicht nur an Sie, sondern an alle.

In der Praxis ist das so, d.h. wenn es Rauschprädiktoren gibt, kommt NS nicht über 50-55% hinaus. Wenn man ihn aufhebt, kann er sogar 70 % ausgeben.

Aber warum ist das so?
1) Nun, NS sollte automatisch Gewichte nahe 0 für Rauschprädiktoren während des Trainings auswählen (dies ist gleichbedeutend mit ihrem Ausschluss aus der Auswahl). Das haben wir bei dem Problem am Anfang des Zweigs gesehen.
2) Wenn nicht durch Training, um Gewichte zu unterschätzen, dann sollte zumindest der Ausstieg sie aussortieren...

Es wurde schon oft geschrieben: Rauschprädiktoren sind viel modellfreundlicher - es gibt immer Werte im Rauschen, die das Lernergebnis verbessern. Der Prozess ist also umgekehrt - die Rauschprädiktoren erhalten mehr Gewicht, nicht wie Sie vorschlagen. Dies ist besonders auffällig bei kleinen Stichproben, die weniger als 1000 Beobachtungen umfassen. Stichproben mit mehr als 5000 Beobachtungen sind nicht so stark betroffen, aber Sie müssen trotzdem eine Vorauswahl der Rauschprädiktoren treffen

 
elibrarius:
Aber auch bei dropconnect ist die Aufgabe schwierig... Zum Beispiel 50 Eingänge, 50 Neuronen.
Wenn wir 1 Eingang entfernen, entfernen wir auch 50 Verbindungen für 50 Neuronen.
Und es ist 50 Mal schwieriger, alle 50 Verbindungen zu entfernen, nur um einen Eingang zu entfernen. Und auf diese Weise alle 50 Eingänge zu entfernen... Offensichtlich ist es eine hoffnungslose Aufgabe. Es ist einfacher, mit den Eingaben umzugehen.
Inputs sind ohnehin wichtiger, das Spielen mit Modellen ist bereits ein Schamanismus und sollte von der Idee her im Allgemeinen keinen großen Gewinn bringen. Nun, ich habe ein Ensemble von Gerüsten erstellt, nachdem ich einzelne Gerüste fallen gelassen habe, kann ich den Fehler (Unterschied zwischen Training und Test) um 0,05, manchmal um 0,1 verbessern. Damit ist das Hauptproblem nicht gelöst. Bei fortgeschrittenen neuronalen Netzen weiß ich nicht, wie.
 
SanSanych Fomenko:

Es wurde schon oft geschrieben: Rauschprädiktoren sind viel modellfreundlicher - es gibt immer Werte im Rauschen, die das Lernergebnis verbessern. Der Prozess ist also umgekehrt - die Rauschprädiktoren erhalten mehr Gewicht, nicht wie Sie vorschlagen. Dies ist besonders auffällig bei kleinen Stichproben, die weniger als 1000 Beobachtungen umfassen. Stichproben mit mehr als 5000 Beobachtungen sind davon nicht so stark betroffen, aber Sie müssen die Rauschprädiktoren trotzdem vorher überprüfen

Vielleicht gibt es eine Technologie, die es ermöglicht, Prädiktoren für die Verwendung in NS/Tree/Forest nach ihrer Bedeutung aus Sicht des Analysten zu priorisieren?

Grund der Beschwerde: