![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Das ist der Punkt, den ich selbst nicht ganz verstanden habe.
Nach der Aussage(Alexander Ezhov, Sergey Shumsky"Neurocomputing") gibt es eine optimale Länge, bei der der Generalisierungsfehler Popt=w^2/d minimiert wird, wobei d die Dimensionalität der NS-Eingabe und w die Anzahl aller einstellbaren Parameter der NS ist. Unter diesem Gesichtspunkt ist der NS also übertrainiert, wenn P<Popt der NS sich die Trainingsstichprobe "merkt". Auch die Variante P>Popt ist nicht gut, denn bei längerer Dauer ist die Wahrscheinlichkeit einer Trendumkehr am Markt größer, was einer Verringerung der Korrelationen zwischen den Stichproben gleichkommt.
Andererseits kann NS bei einer zu großen Anzahl von Trainingsepochen "gezogen" werden, was zur Folge hat, dass der Generalisierungsfehler wieder ansteigt, oder er wird nicht gezogen... Im Allgemeinen werden numerische Experimente mit einer Reihe von Statistiken benötigt, was an sich schon sehr resehrsome ist! Aber es muss getan werden. Es wird viel einfacher sein, die obige Gleichung für die optimale Länge des Trainingsvektors zu beweisen. gpwr, willst du basteln?
Wenn Sie sich Ihre Diagramme ansehen
dann stellen sich mehrere Fragen. So wie ich es verstehe, ist die rote Linie in den Kreisen der durchschnittliche Lernfehler aus mehreren statistischen Experimenten mit verschiedenen zufälligen Anfangsgewichten. Die blaue Linie in den Kreisen ist der durchschnittliche Vorhersagefehler bei den untrainierten Daten. Oder? Die dünnen Linien zeigen den Bereich der Streuung. Nun die Fragen
1. Stimmt die untere dünne blaue Linie mit der unteren dünnen roten Linie überein? Mit anderen Worten: Verbessert sich die Vorhersagegenauigkeit außerhalb der Stichprobe bei statistischen Experimenten mit dem kleinsten Lernfehler?
(2) Da die Streuung des Lernfehlers nicht gegen Null geht, erreicht das Lernen kein globales Minimum.
Diese Frage beschäftigt mich nun sehr: Sollte ich nach einem Lernalgorithmus suchen, der das globale Minimum erreicht, in der Hoffnung, dass die Vorhersagen für die untrainierten Stichproben genauer sind? Ich lasse mein Raster laufen und sehe, wie uneinheitlich seine Vorhersagen sind, je nachdem, wo ich mit dem Training aufhöre. Selbst wenn ich die gleiche Anzahl von Epochen (1000) einstelle, sind die Vorhersagen bei verschiedenen Durchläufen mit den gleichen Trainingsbeispielen unterschiedlich. Die Hälfte der Vorhersagen lautet, dass die Preise steigen werden, die andere Hälfte, dass sie sinken werden. Damit bin ich nicht zufrieden. Wenn Sie sehr lange trainieren, nähert sich das Netz einem globalen Minimum und seine Vorhersagen sind bei verschiedenen Durchläufen gleich.
Über die optimale Anzahl der Proben werde ich nachdenken. Das ist nicht einfach. Sie müssen die Statistiken des Marktes kennen und wissen, wie schnell sich seine Verteilung ändert. Wenn die Anzahl der Proben zunimmt, kann es passieren, dass das Netz versuchsweise eine Kuh aufspürt und diese dann nicht mehr als Kuh, sondern als Schildkröte erkannt wird. Schließlich wird das Netz feststellen, dass es sich um eine Hornschildkröte mit Hufen handelt. Wenn man die Anzahl der Proben reduziert, z. B. wenn das Netz nur dazu dient, die Hörner einer Kuh zu ertasten, dann gibt es viele Varianten: Kuh, Elch, Ziege, Hirsch, usw.
Eine Erhöhung der Anzahl der Proben führt dazu, dass das Netz seine Tentakel benutzt, um eine Kuh zu identifizieren, und dabei die Kuh in eine Schildkröte verwandelt. Daraus folgert das Netz, dass es sich um eine gehörnte Schildkröte mit Hufen handelt. Wenn man, um die Zahl der Proben zu verringern, das Netz nur zum Abtasten der Hörner einer Kuh verwenden würde, gäbe es viele Varianten: Kuh, Elch, Ziege, Hirsch usw.
+5 Ich stimme völlig zu.
Sie hingegen blättern durch Jejov und Shumsky. Vielleicht erhalten Sie einige Anregungen zu den Beweisen.
Die blaue Linie in den Kreisen ist der durchschnittliche Vorhersagefehler bei den Rohdaten. Richtig?
Richtig.
1. Stimmt die untere dünne blaue Linie mit der unteren dünnen roten Linie überein? Mit anderen Worten: Verbessert sich die Vorhersagegenauigkeit außerhalb der Stichprobe bei statistischen Experimenten mit dem kleinsten Lernfehler?
Aus Gründen der Ressourcenintensität habe ich kein vollständiges Experiment durchgeführt. Aber ich stimme zu, dass es notwendig ist, und ich werde mich dazu zwingen, es zu tun.
P.S. gpwr, ich bin im Netz auf einen Link zur Arbeit von zwei Amerikanern gestoßen, die vor 5 Jahren die Existenz eines modifizierten ORO-Algorithmus für zweischichtige nichtlineare NS mit EINEM Neuron pro Ausgang nachweisen und implementieren konnten. Mit der speziellen Art der Aktivierungsfunktion (und ihre spezifische Art hat keinen Einfluss auf die Rechenleistung des Netzes) übertrifft die Lerngeschwindigkeit des neuen Algorithmus die des klassischen ORO um mehr als zwei Größenordnungen! Haben Sie so etwas schon einmal gesehen?
+5 Ich stimme völlig zu.
Sie sollten jedoch Jejov und Shumsky durchblättern. Vielleicht erhalten Sie einige Ideen zu den Beweisen.
Richtig.
Aus Gründen der Ressourcenintensität habe ich kein vollständiges Experiment durchgeführt. Aber ich stimme zu, dass es notwendig ist, und ich werde mich zwingen, es durchzuführen.
P.S. gpwr, ich habe im Netz einen Hinweis auf die Arbeit von zwei Amerikanern gefunden, die vor 5 Jahren die Existenz eines modifizierten ORO-Algorithmus für zweischichtige nichtlineare NS mit EINEM Ausgangsneuron nachweisen und realisieren konnten. Mit der speziellen Art der Aktivierungsfunktion (und ihre spezifische Art hat keinen Einfluss auf die Rechenleistung des Netzes) übertrifft die Lerngeschwindigkeit des neuen Algorithmus die des klassischen ORO um mehr als zwei Größenordnungen! Ist Ihnen so etwas noch nie begegnet?
Ich habe mehrere Varianten von RFO gesehen:
QuickProp - 1988, Ableitung zweiter Ordnung hinzugefügt, um die Konvergenz zu beschleunigen
RProp - Resilient back-Propagation - 1993, Riedmiller, Deutschland, der Sinn des Algorithmus besteht darin, den Gradienten durch sein Vorzeichen zu ersetzen
iRProp - Improved RProp - 2000, Igel, Deutsch, gleiches RProp, aber das Netz macht einen Schritt zurück, wenn der Lernfehler der vorherigen Epoche erhöht wird
SARProp - Simulated Annealing back-Propagation - 1998, Treadgold, Australien, für globale Konvergenz, fügte unter bestimmten Bedingungen eine zufällige Schrittgröße hinzu, wenn der Fehler der vorherigen Epoche zunahm
JRProp - Jacobi RProp, 2005, Anastasiadis, Grieche aus England, dasselbe iRProp, aber eine etwas andere Methode, um zurückzukehren, wenn der Fehler erhöht wird
GRProp, GJRProp - Global RProp/JRProp - 2005, Anastasiadis, zu jeder Epoche wird der kleinste Gewichtsschritt gewählt und durch eine seltsame Formel ersetzt
Ich habe sie alle ausprobiert. RProp, iRProp und JRProp arbeiten fast identisch. Die globalen Methoden SARProp und GRProp funktionieren nicht. Sie können leicht Artikel über diese Algorithmen finden.
Schauen Sie hier auf Russisch nach
http://masters.donntu.edu.ua/2005/kita/tkachenko/library/article01/index.htm
www.iis.nsk.su/preprints/pdf/063.pdf
Ich danke Ihnen. Ich werde es mir ansehen.
Die beiden Amerikaner haben ihren schnellen Algorithmus ausschließlich für NS mit einem einzigen Ausgang entwickelt, d.h. es handelt sich um etwas sehr Spezielles.
Ich habe mir einen 2001i Pro gekauft.
Können Sie sich kurz zu den gestern von mir veröffentlichten Allokationsdiagrammen äußern?
Nun ja, natürlich.
Sie sind korrekt. Die erste und die dritte Zahl sind aufgrund der geringen statistischen Daten der letzten Zahl und des kleinen H der ersten Zahl nicht von Interesse. Die zweite Zahl ist jedoch repräsentativ:
Bei der Kagi-Verteilung (Abb. links) fällt auf, dass es keine Schulterlängen gibt, die kleiner sind als der Spaltschritt H(Paralocus, du bist natürlich ein großes Original, wenn es um ungewöhnliche Darstellungen von Dnans geht, z. B. die Messung des Spaltschritts in Spreizungen statt in Punkten...), und dass die Häufigkeit des Auftretens von Schulterlängen exponentiell mit der Zunahme ihrer Länge abnimmt. Für eine Reihe von Vorgängen können wir eine fast bandförmige Verteilung der Häufigkeit des Auftretens von Längen in den Präpositionen +/-H und den gleichen exponentiellen Abfall beim Übergang zu Längen größer als H feststellen (siehe Abb. rechts). Ich denke, dass eine solche Darstellung der Eingabedaten für NS (noch auf Н normalisiert ) nahezu ideal ist, da sie keine "schlauen" Verfahren der Normalisierung und Zentrierung erfordert (MO ist identisch gleich Null). Die Frage nach der Optimalität der Cagi-Vertretung bleibt jedoch offen. Hier sollte das Problem umfassend gelöst werden, und der zweite wichtige Block in der Verbindung ist MM. Für TZ ohne Reinvestition ist die Kagi-Aufteilung tatsächlich optimal.
Im Wesentlichen ist ein MT-Tester eine Blackbox mit mehreren Eingängen (MAs, Stochastik und andere TA-Indikatoren), mit einer zählbaren Anzahl von einstellbaren Parametern (Perioden der MAs, optimale Amplituden usw.) und einem "kniffligen" Algorithmus zum Mischen all dessen. In der Ausgabe haben wir einen Sell/Buy- oder Stop-Trade-Auftrag. Es gibt ein Optimierungsverfahren, das die Auswahl der besten Parameter unter der Bedingung des maximalen Gewinns des TS auf historischen Daten ermöglicht. Erinnert Sie das an etwas? Genau, wenn wir bedenken, dass die TA-Indikatoren zusammen mit dem ausgeklügelten (nicht-linearen) Algorithmus ihrer Verarbeitung im Wesentlichen eine nicht-lineare Funktion der mehrschichtigen Pseptron-Aktivierung sind, dann haben wir alle hier seit vielen Jahren das Gleiche getan - unsere NS aufgebaut und erzogen! Nur ist diese Tatsache nicht offensichtlich, was viele Probleme bei der Arbeit mit dem Strategietester verursacht (Anpassung, Instabilität des gefundenen Optimums, etc.). Viele seriöse Leute im Forum sind oft skeptisch gegenüber dem NS, während sie in ihrer Freizeit immer das Gleiche tun und es nichts anderes zu geben scheint! Denken Sie darüber nach.
Wenn dies tatsächlich der Fall ist, dann müssen wir natürlich zur Sprache der KI-Begriffe übergehen. Vieles von dem, was uns seit so vielen Jahren plagt, wird deutlich werden. Zum Beispiel ist die Anpassung eines Testers an die Historie einfach nicht lang genug (gemessen in TC-Ereignissen, d.h. Transaktionen, nicht in der Anzahl der Balken) oder eine übermäßige Anzahl von einstellbaren Parametern. Unzureichende Rentabilität - es werden Indikatoren mit einer linearen Transformation des Preises verwendet (nicht lineare Korrelationen zwischen Marktereignissen werden nicht genutzt) usw. Ein weiterer wichtiger Punkt: In der Theorie der NS ist bewiesen, dass die Rechenleistung des Netzes nicht von einer bestimmten Art von Nichtlinearität abhängt. Daraus folgt, dass es wenig Sinn macht, intelligente und nichttriviale Indikatoren und Algorithmen zur Verarbeitung von Preisreihen in den TS zu packen, da dies die prädiktiven Eigenschaften des TS nicht wesentlich beeinflussen kann. Aber es ist sehr wichtig, den Generalisierungsfehler (in Bezug auf TC) zu minimieren, und dafür reicht es, die optimale Länge der historischen Daten und die Anzahl der Indikatoren zu wählen!
Kurz gesagt, wir werden alle das Gleiche tun, und es spielt keine Rolle, ob wir an unserem Strategietester feilen oder unser eigenes Netzwerk schreiben. Das Wichtigste ist, dass wir genau verstehen, was wir tun und warum.
P.S. Ich habe eine kleine einsame Perseptron auf Synthetik.
Es ist gut zu sehen, dass das Neuron im Laufe des Trainings sicher auf das globale Minimum zurollt (Abb. links in rot), dies wird durch die gegen Null abnehmende Streuung (dünne Linien) angezeigt, die den Lernprozess für Experimente mit unterschiedlichen Werten der Initialisierungsgewichte charakterisiert. Andererseits beginnt der Generalisierungsfehler (der Kehrwert der Vorhersagefähigkeit) an einem bestimmten Punkt des Lernprozesses wieder zu wachsen, was darauf hinweist, dass das Neuron seine Fähigkeit zur Generalisierung von Wissen verliert. Die Abbildung auf der rechten Seite zeigt die gleichen Daten, jedoch in der Achse der Bodenwellen. Das Lernoptimum ist gut angegeben.
Als ich den Tester "polierte", hatte ich ein ähnliches Gefühl, aber es hat sich nicht bewahrheitet... -:)
Aber jetzt sind scheinbar einfache, aber besser funktionierende Ideen aufgetaucht. Das habe ich gestern formuliert:
Оптимальным каги-разбиением тикового ВР с порогом Н, следует считать такое разбиение, при котором имеется минимальное количество следующих друг за другом одноцветных плеч ряда транзакций. При этом средняя длина плеча равна величине средней взятки.
D.h. es stellt sich tatsächlich heraus, was Sie geschrieben haben - nehmen ist gleich stoppen! Es gibt hier noch einen feinen Unterschied:
Wenn die Verteilung der eingegangenen Transaktionsreihen so ist, dass mehr als 50 % der aufeinanderfolgenden Schultern eine andere Farbe haben, warum dann überhaupt NS?(treten Sie mich nicht, ich habe nur gefragt... -:))
P.S. Ich habe den Tippfehler korrigiert.