Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 48
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
Ich habe jetzt eine Weile mit RNeat experimentiert und bin zu dem Schluss gekommen, dass es nicht auf die gleiche Weise wie herkömmliche neuronale Netze behandelt werden kann.
Danke, dass Sie Ihre Erkenntnisse mit uns teilen, es ist sehr interessant...
Ich habe Ihr Beispiel mit den Schwertlilien genommen und es umgeschrieben, damit es zu meinen Daten passt, und habe eine Fehlermeldung erhalten, ich verstehe nicht, was falsch ist. Ich möchte wissen, ob Sie versucht haben, Ihre Daten sowie die Iris zu verwenden, und wie das Ergebnis im Vergleich zum normalen Raster war.
Ich habe ein wenig mit RNeat experimentiert und bin zu dem Schluss gekommen, dass es nicht auf die gleiche Weise wie herkömmliche neuronale Netze behandelt werden kann.
1) Im Gegensatz zu herkömmlichen Modellen werden beim RNeat-Training keine Rohdaten verwendet. Das Modell wird nach dem Zufallsprinzip erstellt, verbessert und erst am Ende anhand von Rohdaten getestet. Normalerweise verwenden Modelle Rohdaten, bauen ihre Logik darauf auf und verwenden dann Validierungsstichproben, um zu sehen, ob die Logik des Modells korrekt ist oder ob es einfach die Rohbeispiele gelernt hat. Im Gegensatz zu den anderen ist RNeat nicht in der Lage, sich die Rohdaten zu merken, denn es kennt sie nicht, das Modell kennt nur die gewünschten Ergebnisse und weiß, wie nahe es ihnen kommt.
2) Die Kreuzvalidierung trägt nicht zur Verbesserung der Fronttest-Ergebnisse bei. Wir scheinen uns alle einig zu sein, dass es möglich ist, ein reguläres Modell zu trainieren, ein paar Kreuzvalidierungen durchzuführen und die Fehler in allen Stichproben irgendwie für die endgültige Fitnessbewertung des Modells zu verarbeiten. Da RNeat die Rohdaten nicht kennt, ist es ihm egal, ob die Daten zu einer Trainings- oder Teststichprobe gehören, es wird seine Logik in jedem Fall an das gewünschte Ergebnis anpassen. Theoretisch "lernt" es (genauer gesagt mutiert es :) ) aus allen Proben, die in der Fitnessfunktion verwendet werden. Alles, was Sie tun können, ist, das Modell auf die richtige Genauigkeit zu trainieren und zu hoffen, dass es nicht übertrainiert wird - ein ziemlich riskanter Ansatz für den Devisenhandel. Die Kreuzvalidierung kann nur nach dem Training als abschließende Schätzung des möglichen Ergebnisses im Fronttest verwendet werden, wobei diese Validierungsstichprobe keinesfalls in die Fitnessfunktion einfließt.
Bitte sagen Sie mir genau, dass Sie versucht haben, Ihre eigenen Daten zusätzlich zu Iris zu ersetzen, was waren die Ergebnisse im Vergleich zum üblichen Netz?
Ich habe Daten von Forex (eurusd d1 für ein Jahr) verwendet, das Modell hat bereits für einen Tag gelernt, es zeigt seine eigene beste Schätzung = 0,017 (je mehr, desto besser, für Iris war es 0,7). Bisher gibt es keine wirklichen Ergebnisse, das Modell zeigt sogar bei den Trainingsdaten 50 % Fehler, und ich muss es noch ein paar Tage lang lernen lassen.
Bei der Kreuzvalidierung werden die Trainingsparameter ermittelt. Gibt es irgendwelche Parameter in diesem NS? Die muss es geben.
Das Modell wird immer komplizierter und fügt immer mehr Neuronen hinzu. Es gibt einen Parameter, der die maximale Anzahl von Neuronen definiert, um ihr Wachstum zu begrenzen. Und einen zweiten Parameter, der die Anzahl der Individuen in der Genetik definiert. In der Regel sind sie beide je mehr desto besser, eine Grenze ist eher eingeführt, um Speicher und Zeit zu sparen, ist es besser, maximal zulässigen Wert für sich selbst zu verwenden, anstatt abholen.
Nach den Beschreibungen zu urteilen, hat das Modell einen Preis für jedes Neuron und die Verbindungen zwischen ihnen, so dass es versucht, so wenige Neuronen wie möglich zu verwenden. Wenn das Training erfolgreich ist, erreicht das Modell die erforderliche Genauigkeit, bevor es die maximale Anzahl von Neuronen erreicht.
Ich habe Daten von Forex (eurusd d1 für ein Jahr) hinzugefügt, das Modell lernt bereits für einen Tag und zeigt seine eigene beste Schätzung = 0,017 (je mehr desto besser, für Iris war es 0,7). Bislang habe ich noch keine Ergebnisse erzielt, das Modell zeigt sogar bei den Trainingsdaten einen Fehler von 50 %. Ich werde es noch ein paar Tage lang lernen lassen.
Interessanter Artikel über die Schätzung von Klassifizierungsmodellen.
Ich habe 3 verschiedene Metriken zur Schätzung des Modells für eine Teilmenge von Prädiktoren ausprobiert: Genauigkeit wie in diesem Artikel; R^2-Modell; und nur durchschnittlicher Modellfehler mean(abs(y-x)/(max(y)-min(y)), wobei X ein Vektor der Vorhersageergebnisse und Y die erforderlichen Ergebnisse sind).
Die Genauigkeit für die Fitnessfunktionen war in Ordnung, aber ich hatte ein Problem mit nicht vielen Beispielen in der Stichprobe, die Genauigkeit kommt sehr gestaffelt heraus. Zwei Modelle, die sich in ihrer Qualität ähneln, ergaben das gleiche Ergebnis. Aber wenn es viele Trainings- und Validierungsstichproben gibt, wäre dies eine gute Metrik. Zu den übrigen in dem Artikel beschriebenen Metriken kann ich nichts sagen.
R^2 verhielt sich im Allgemeinen seltsam, es konnte sogar negativ sein, während mehr als 50 % der Ergebnisse richtig waren, im Allgemeinen mochte ich es nicht.
Der mittlere Fehler hat mir am besten gefallen. Schrittweise wie bei der Genauigkeit ist nicht vorhanden, weil ich in der Formel das Ergebnis der Regression, auch vor der Rundung auf die Klassen 0 oder 1 ersetzen. Selbst wenn zwei Modelle dasselbe Ergebnis für die Klassen liefern, kann ich das beste Modell bestimmen, indem ich feststelle, wie weit das Regressionsergebnis "näher" an den gewünschten Ergebnissen liegt.
Gibt es eine Vielzahl von Prädiktoren?
Etwa 400
Leute hier, die zumindest ein wenig über Fourier-Spektralanalyse wissen. Ich brauche Hilfe.
Warum ist das nicht klar? Wir zerlegen eine periodische Funktion in Oberschwingungen und erhalten ein Spektrum.
Das ist wahr, aber meine Aufgabe ist eine andere...
Ich muss Ähnlichkeiten in den BP-Bereichen finden, die nahe beieinander liegen. Die Nähe kann durch Korrelation, euklidische Metrik usw. gemessen werden. Nach meinen Experimenten habe ich verstanden, dass solche Metriken für meine Aufgabe nicht geeignet sind, ich denke, dass die Suche nach Nähe durch die Amplitude, Phase, Frequenz... sehr gut passt. Aber als solches wird keine Ahnung gemacht, also frage ich, wer weiß wie und was, was richtig ist, was nicht, wie es generell sein sollte.
P.S. Sie können unter vier Augen, nicht auf Off-Point, im Prinzip, das Gespräch ist nicht auf das Thema dieser Branche und ist unwahrscheinlich, dass jemand interessant
Was ist da nicht klar? Wir zerlegen eine periodische Funktion in Oberschwingungen und erhalten ein Spektrum.
Wir können auch einen einzelnen Impuls zerlegen, der überhaupt nicht periodisch ist)