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

 

Sie könnten auch die gleichen Eingaben wegwerfen. Berechnen Sie für jede Spalte die durchschnittliche Abweichung voneinander. Auf diese Weise können die beiden ähnlichsten Spalten gefunden werden, von denen eine verworfen werden kann. Welche der beiden, kann durch die durchschnittliche Abweichung über alle Spalten, usw. gezählt werden.

 
Dr. Trader:

Optisch sind alle Gewichte in zwei Gruppen unterteilt. Wenn man sie nach Bedeutung/Nicht-Bedeutung einteilen will, dann stechen 5,11,7,1,3,9 deutlich heraus, dieser Satz ist meiner Meinung nach ausreichend.

Das ist die richtige Lösung!

Ich wusste nicht, dass der NS so etwas kann. Das ist eine Offenbarung für mich.

Es hat sich herausgestellt, dass NS Wechselwirkungen simulieren kann.

Ich schulde Ihnen einen Preis. Ich danke Ihnen!

 

Es stimmt, dass die NS keine Vorstellung von der Art des Musters vermitteln. Das heißt, die Interpretierbarkeit des Modells ist in Frage gestellt.

Ich werde die Logik für die Erstellung des Datensatzes später veröffentlichen und über die Art der Abhängigkeit sprechen.

 
Dr. Trader:

Optisch sind alle Gewichte in zwei Gruppen unterteilt. Wenn man sie nach Bedeutung/Nicht-Bedeutung einteilen will, dann stechen 5,11,7,1,3,9 deutlich hervor, dieser Satz ist meiner Meinung nach ausreichend.

Wenn Sie daran interessiert sind, versuchen Sie, jeden signifikanten Prädiktor aus dem Datensatz zu entfernen, das NS neu zu trainieren und das Bild mit Gewichten auszugeben. Ich denke, es wird eine Überraschung geben.

Dies ist bereits aus dem Auftrag heraus. Um das Thema zu erweitern.

 
Alexey Burnakov:

Wenn Sie daran interessiert sind, können Sie versuchen, einen beliebigen signifikanten Prädiktor aus dem Datensatz zu entfernen und das NS neu zu trainieren und ein Bild der Gewichte anzuzeigen. Ich denke, es wird eine Überraschung geben.

Dies ist bereits ausgeschlossen. Um das Thema zu erweitern.

Der Ofen ist ein sehr wichtiger Teil der Inneneinrichtung in dem Sinne, dass man immer vor ihm tanzen sollte.

Dr.Trader

Ihr Beispiel mit NS sagt nur aus, dass NS die von Ihnen genannten Prädiktoren mehr mochte und die anderen nicht. Algorithmen, die solche Dinge tun, gibt es wie Sand am Meer.

All dies wäre in Ordnung, wenn eine solche Auswahl unter Prädiktoren getroffen wird, die für die Zielvariable relevant sind, eine Vorhersagekraft haben und Vorhersagefähigkeit besitzen.

In meiner Praxis gibt es immer Prädiktoren unter einer beliebigen Menge von Prädiktoren, die keinen (oder nur einen sehr schwachen) Bezug zur Zielvariablen haben. Das Problem ist also, dass die meisten Algorithmen, einschließlich NS, bei einer gewissen Anzahl solcher Rauschprädiktoren oder einer zufälligen Auswahl ihrer Werte nicht in der Lage sind, informative Prädiktoren von den Rauschprädiktoren zu unterscheiden.

Daher wird "Stove-Piping" als eine Maßnahme definiert, die zunächst den ursprünglichen Satz von Prädiktoren von den hoffnungslosen, verrauschten Prädiktoren befreit und dann...

PS.

Ich habe nicht mit NS gearbeitet, aber Random Forests neigen dazu, bei einer bestimmten Menge von Rauschprädiktoren informative Prädiktoren gemäß ihrem eingebauten Algorithmus zu verwerfen. Infolgedessen bieten sie bei Lärm eine außergewöhnliche Leistung mit einem Fehler von weniger als 5%!

SARP

Das Vorhandensein von Rauschprädiktoren führt zwangsläufig zu einer Umschulung des Modells mit allen Konsequenzen für die reale Welt

 
SanSanych Fomenko:

Der Kaminofen ist ein sehr wichtiger Teil der Inneneinrichtung, so dass man immer um ihn herum tanzen sollte.

Dr.Trader

Ihr Beispiel mit NS sagt nur aus, dass NS die von Ihnen genannten Prädiktoren mehr mochte und die anderen nicht. Algorithmen, die solche Dinge tun, gibt es wie Sand am Meer.

All dies wäre in Ordnung, wenn eine solche Auswahl unter Prädiktoren getroffen wird, die für die Zielvariable relevant sind, eine Vorhersagekraft haben und Vorhersagefähigkeit besitzen.

In meiner Praxis gibt es immer Prädiktoren unter einer beliebigen Menge von Prädiktoren, die keinen (oder nur einen sehr schwachen) Bezug zur Zielvariablen haben. Das Problem ist also, dass die meisten Algorithmen, einschließlich NS, bei einer gewissen Anzahl solcher Rauschprädiktoren oder einer zufälligen Auswahl ihrer Werte nicht in der Lage sind, informative Prädiktoren von den Rauschprädiktoren zu unterscheiden.

Daher wird "Stove-Piping" als eine Maßnahme definiert, die zunächst den ursprünglichen Satz von Prädiktoren von den hoffnungslosen, verrauschten Prädiktoren befreit und dann...

PS.

Ich habe nicht mit NS gearbeitet, aber Random Forests neigen dazu, bei einer bestimmten Menge von Rauschprädiktoren informative Prädiktoren gemäß ihrem eingebauten Algorithmus zu verwerfen. Infolgedessen bieten sie bei Lärm eine außergewöhnliche Leistung mit einem Fehler von weniger als 5%!

SARP

Das Vorhandensein von Rauschprädiktoren führt zwangsläufig zu einer Umschulung des Modells mit allen Konsequenzen für die realen

NS hat sehr gut abgeschnitten.

Random Forest könnte eine solche Aufgabe mit der Interaktion einer Reihe von Variablen nicht bewältigen. Und die individuelle Signifikanz der einzelnen Prädiktoren war absichtlich null.

 

Schön, dass es geklappt hat :) Danke für den Preis.

Ich habe versucht, einen Eingang zu entfernen (4 Fälle) - wenn ich input_5 oder input_9 entferne, dann funktioniert nichts mehr, neuronics mit der gleichen Konfiguration lernt nicht einmal zu einem Fehler von weniger als 50%, sondern gibt nur entweder 0 oder 1 in einem größeren Fall aus.

Wenn ich input_20 entferne, ist alles in Ordnung, das Ergebnis ist korrekt. Aber komische Sache über input_15, wenn ich es entfernen, dann Neuron nicht einmal richtig trainieren, Probleme sind die gleichen wie wenn ich entfernen input_5 oder input_9. Ich habe es nicht weiter getestet.

Ich habe eine Datei mit R-Code für das Training von Neuronen angehängt, falls Sie interessiert sind. Es handelt sich im Grunde nur um einen leicht veränderten Code aus dem Protokoll von Rattle.

Dateien:
r_nnet.zip  3 kb
 
Dr. Trader:

Schön, dass es geklappt hat :) Danke für den Preis.

Ich habe versucht, einen Eingang zu entfernen (4 Fälle) - wenn ich input_5 oder input_9 entferne, dann funktioniert nichts mehr, neuronics mit der gleichen Konfiguration lernt nicht einmal zu einem Fehler von weniger als 50%, sondern gibt nur entweder 0 oder 1 in einem größeren Fall aus.

Wenn ich input_20 entferne, ist alles in Ordnung, das Ergebnis ist korrekt. Aber komische Sache über input_15, wenn ich es entfernen, dann Neuron nicht einmal richtig trainieren, Probleme sind die gleichen wie wenn ich entfernen input_5 oder input_9. Ich habe es nicht weiter getestet.

Ich habe eine Datei mit R-Code für das Training von Neuronen angehängt, falls Sie interessiert sind. Es handelt sich im Grunde nur um einen leicht veränderten Code aus dem Protokoll von Rattle.

Senden Sie mir Ihre Kartennummer oder E-Wallet-Nummer
 

Nun, im Allgemeinen ist der Prozess klar, das Neuron versucht einfach, die verfügbaren Daten in eine Logik einzupassen, und wenn einige der Eingaben keine neuen Informationen bringen, minimiert es deren Auswirkungen, damit sie nicht schaden. Ich stimme zu, dass es unwahrscheinlich ist, komplexe Zusammenhänge zwischen den Inputs zu finden.

Auch das nnet-Paket in R ist nicht gerade ein herkömmliches neuronales Netz. Aus der Beschreibung geht hervor, dass es sich um Lernen zweiter Ordnung handeln sollte. Normalerweise ändern sich bei Neuronen die Gewichte entsprechend den Ableitungen, aber hier ändern sie sich entsprechend den Ableitungen der Ableitungen. Und während des Trainings wird eine Art "hessische" Matrix erstellt, die wichtige Daten über alle Gewichte für alle Trainingsbeispiele auf einmal speichert. Sie sagen, es ist sehr cool, dieses Paket muss stark sein.https://ru.wikipedia.org/wiki/Алгоритм_Бройдена_-_Флетчера_-_Гольдфарба_-_Шанно - Ich verstehe es nicht, aber das ist, wenn jemand ein Mathematiker ist, dann finden Sie es heraus.

Алгоритм Бройдена — Флетчера — Гольдфарба — Шанно — Википедия
  • ru.wikipedia.org
Алгоритм Бройдена — Флетчера — Гольдфарба — Шанно (BFGS) (англ. Broyden — Fletcher — Goldfarb — Shanno algorithm) — итерационный метод численной оптимизации, предназначенный для нахождения локального максимума/минимума нелинейного функционала без ограничений. BFGS — один из наиболее широко применяемых квазиньютоновских методов. В...
 
Über seltsame Ergebnisse:
Wenn Sie einen signifikanten Prädiktor entfernen, wird nichts mehr funktionieren. Das ist die Interaktion.

Jeder der Prädiktoren sagt nichts über den Zustand der Ausgabe aus. Algorithmen, die die individuelle Bedeutung berücksichtigen, werden also nicht funktionieren. Auch Entscheidungsbäume und Zufallswälder werden mit ziemlicher Sicherheit nicht funktionieren, da auch sie die Prädiktoren einzeln betrachten. Aber in einem riesigen Wald mit Zehntausenden von Bäumen kann es vorkommen, dass wichtige Prädiktoren versehentlich in einem Zweig zusammengefasst werden, und alles wird gut. Aber das ist unwahrscheinlich.

Warum nicht?

Interaktion bedeutet, dass Informationen von vielen Prädiktoren zusammen zum Output fließen. Der Abhängigkeitsalgorithmus ist so angelegt, dass die Summe der signifikanten Prädiktoren 50/50 gerade oder ungerade sein kann. Wenn sie gerade ist, ist die Ausgabe 1, andernfalls ist sie 0. Deshalb wird durch das Entfernen mindestens eines der signifikanten Prädiktoren die Abhängigkeit aufgehoben. Und das Hinzufügen zusätzlicher Prädiktoren kann die Daten verrauschen, so dass der statistische Test keine Signifikanz zeigt.

Ich bin wirklich überrascht, dass der konventionelle NS eine solche Beziehung feststellen konnte. Jetzt beginne ich an die Fähigkeit von MLP zu glauben, sinnvolle Eingaben zu erkennen. Juhu.

Alles in allem haben Sie es genau auf den Punkt gebracht. Wenn Sie versuchen, einen Zufallswald zu trainieren, wird das mit ziemlicher Sicherheit nicht funktionieren.

Ich bin mir auch ziemlich sicher, dass die logistische Regression scheitern wird.

Kurz gesagt, Sie brauchen eine stochastische Aufzählung verschiedener Teilmengen von Prädiktoren mit der richtigen Fitnessfunktion für dieses Problem. Oder NS )))

Ich werde meine Methode später bekannt geben.

Vielleicht probiert jemand anderes eine andere Methode zur Auswahl von Prädiktoren aus, und dann können wir die Ergebnisse vergleichen.