Suche nach einer Reihe von Indikatoren, die in die Eingänge des neuronalen Netzes eingespeist werden. Diskussion. Ein Instrument zur Bewertung der Ergebnisse. - Seite 10

 
marketeer писал(а) >>
... Anpassen bedeutet, dass man sich an die Testsuite anpasst, und hier wird das fertige System einfach gegen sie getestet...
Anpassung an einen Testsatz oder Vergleich mit einem Testsatz - ich sehe den Unterschied nicht. IMHO
 
rip >> :

Funktioniert hervorragend bei Attraktoren :) Ich habe es noch nicht an Bildern ausprobiert. Ich denke, das Problem ist die Struktur der Reihe. Ich habe es nicht vorverarbeitet.

Wenn ich sie finde, schicke ich sie Ihnen zu. Aber es ist Delphi...

 
TheXpert >> :

Ich habe mich ausprobiert, aber in einem völlig anderen Anwendungsbereich. Übrigens ist es mir nicht gelungen, die nichtlineare PCA zum Laufen zu bringen. Und linear ist zu schwach, finde ich.


Versuchen Sie, Ihre Daten im erweiterten Raum des Mercer-Theorems anzuwenden und das gleiche Problem zu lösen, das dem hier behandelten Thema der Assoziation in neuronalen Netzen entspricht.

 
joo >> :
Die Anpassung an eine Testreihe oder der Vergleich mit einer Testreihe - ich sehe keinen Unterschied. IMHO

Es gibt einen großen Unterschied (algorithmisch und bei den Ergebnissen). Aber wir sollten alle bei unserer Meinung bleiben. Wenn jemand Interesse hat, wenden Sie sich bitte persönlich an mich.

 
TheXpert >> :

Wenn ich sie finde, schicke ich sie Ihnen zu. Aber es ist Delphi...

Ich würde das zu schätzen wissen. Ich glaube, die Frage bezog sich auf die Vorverarbeitung. Ich habe es nicht getan, da ich nur den Netzbetrieb überprüft habe.

 
Deductor Academic (http://www.basegroup.ru/download/deductor/ ), natürlich für akademische Zwecke, einrichten. Führt Korrelations- und Faktorenanalysen durch, zeichnet Kohonen-Karten. Kann eine Menge anderer Dinge tun... herauszufinden, wie und was.
 
iliarr >> :

Grüße an alle Forumsteilnehmer und Besucher.


Ich möchte allen Interessierten anbieten, zu diskutieren und nach einer Reihe von Indikatoren zu suchen, die sich am besten für die Eingabe in neuronale Netze eignen.

Wenn Sie die Rentabilität der neuronet in meinem Programm zu schätzen, können Sie es als ein Werkzeug, kann ich auch ein MQL4 Expert Advisor mit einem ausgebildeten neuronet platzieren. Natürlich innerhalb vernünftiger Grenzen.


Ich habe selbst geschrieben (in Java) perseptron mit beliebiger Anzahl von Schichten und Neuronen in jeder Schicht trainiere ich es mit genetischen Algorithmus von JGAP-Bibliothek (http://jgap.sourceforge.net/).

Die Anzahl der Neuronen in der ersten Schicht ist gleich der Anzahl der Eingänge und in der zweiten Schicht - willkürlich, in der dritten Schicht 1 Neuron. Das Neuronet erzeugt Handelssignale (Ausgang des Neuronets >0,5 - kaufen, Ausgang des Neuronets<-0,5 - verkaufen), die von einem selbstgeschriebenen Trading-Tester verarbeitet werden, der auf der Grundlage des Neuronet-Signals die Position umkehrt (oder in den Markt einsteigt, wenn keine Position eröffnet wurde). Die Zielfunktion des genetischen Algorithmus ist der resultierende Gewinn. Ein solcher Ansatz ermöglicht es uns meiner Meinung nach, alle möglichen Fehler zu minimieren und das Training so nah wie möglich an den realen Handel heranzuführen. Ich exportiere das trainierte Netzwerk in MQL4 Expert Advisor und teste es im Strategie-Tester von MT4. Ich bilde die Eingaben für das neuronale Netz im MT4-Indikator und lade sie in eine Datei herunter. Der Indikator und der Expert Advisor werden vom Programm gebildet und in die Dateien geschrieben (weniger Verwirrung und weniger Fehler).

Meiner Meinung nach bringen 4-Schicht-Netze nicht mehr Gewinn (in der Regel weniger) als 3-Schicht-Netze, aber sie brauchen länger zum Trainieren.
Ich habe ein 8-10-1-Netzwerk 4 Tage lang auf einem Core2 Quadro 2.3 trainiert. 10 parallele Threads mit verschiedenen Ausgangspopulationen, die miteinander konkurrieren, um zu sehen, "wer den größten Gewinn hat". 4 Tage vergingen, etwa 4000 Generationen mit 200 Chromosomen in einer Population. Der maximale Gewinn wurde in den ersten 2000 Generationen erzielt, danach stieg der Gewinn nicht mehr an. Den größten Gewinnzuwachs gab es in den ersten 100 Generationen.

Ich habe die Ergebnisse dieses Netzes im MT4-Strategietester überprüft. Ich habe festgestellt, dass das Netzwerk fast nie die Schwelle von +-0,5 erreicht und das Handelssignal nicht ausgelöst wird. Der Grund dafür ist unklar, d.h. ich habe die Korrektheit des Exports nach MQL4 überprüft (mit den gleichen Eingabewerten in Java und MQL4 gibt das Netz die gleichen Werte aus, vielleicht hätte der gesamte eingehende Stream übermittelt werden müssen, nicht einige zufällige Werte). Ich habe den Schwellenwert auf 0,4 gesenkt und es scheint zu funktionieren... Dann entdeckte ich, dass der Expert Advisor eine Position nicht in einem Zug eröffnen kann... Mein Expert Advisor schließt den Balken und der Preis hat Zeit, sich vor dem nächsten Balken zu bewegen. In der Lernphase (ich lerne am 1-08-09 bis 1-10-09) war der Gewinn in MT4 geringer als in meinem Testgerät, in der Testphase in MT4 (1-10-09 bis 1-11-09) war der Nettogewinn größer. Ich habe mir angesehen, an welchen Stellen unrentable Einträge auftreten, und ich habe den Eindruck, dass die Daten, die in das neuronale Netz eingehen, nicht genügend Informationen enthalten...

I Eingabe neuronales Netz: (k=100)

Ich verstehe, wie Indikatoren funktionieren, aber ich verstehe sie und den Markt nicht genug, um eine minimale Anzahl von Indikatoren selbst auszuwählen...

Ich habe das Forum durchsucht und bin fündig geworden (an den Autor des Beitrags, von dem ich die Idee übernommen habe, erinnere ich mich leider nicht mehr):

untersucht in 10 Threads, 200 Generationen, Populationsgröße 200 für den Zeitraum 1-08-09 bis 1-10-09 (mein Java-Tester liefert die Ergebnisse)
Netzwerk 9-10-1 : Gewinn 10521
9-20-1 netto: Gewinn 10.434
9-30-1 Netzwerk : Gewinn 10361
9-50-1 Netzwerk : Gewinn 10059
das Ergebnis ist gut, aber mit der vorherigen Version schien es besser zu sein... ich werde mit den vorherigen Eingaben arbeiten müssen (ich habe die Ergebnisse des letzten Trainings nicht gespeichert)

Zur Anpassung von Werten im Bereich von -1 bis +1 sind zusätzliche Multiplikatoren erforderlich.


Nachdem ich gelesen habe, was ich geschrieben habe, habe ich über einen möglichen Fehler beim Exportieren des trainierten neuronalen Netzes in den Expert Advisor nachgedacht - es sollte erneut getestet werden.

P.S. Jetzt schreibe ich ein rekurrentes neuronales Netz mit beliebiger Struktur (so wie ich es verstehe, berücksichtigt das rekurrente neuronale Netz nicht nur den Wert, sondern auch den Neigungswinkel).


Unter solch brillanten Theoretikern der neuronalen Netze bin ich wahrscheinlich das schwarze Schaf. Aber irgendjemand muss ja Hamburger machen und irgendjemand muss sie essen. Ich werde also riskieren, einige interessante Ratschläge zu geben. Sie könnten zwei Indikatoren Force Index.mq4( Periode 3.53), DeMarker.mq4( Periode 3.53) für das Training des neuronalen Netzes verwenden und die Veränderungen dieser Indikatoren mit dem normalen Zeitablauf verbinden - die Zeit wird der dritte Indikator sein. Die Indikatoren sind einfach und sagen Veränderungen auf dem Markt mit 100%iger Zuverlässigkeit voraus. In Force Index geben Sie den Wert 0.0 ein, und in DeMarker die Werte 0.1 und 0.9. Es ist klar, dass wir im Code dieser Indikatoren die Dimension der Perioden von int auf double ändern sollten.

 
Avelox >> :

Unter solch brillanten Theoretikern der neuronalen Netze bin ich wahrscheinlich das schwarze Schaf. Aber irgendjemand muss ja Hamburger machen und irgendjemand muss sie essen. Ich werde also riskieren, einige interessante Ratschläge zu geben. Sie könnten zwei Indikatoren Force Index.mq4( Periode 3.53), DeMarker.mq4( Periode 3.53) für das Training des neuronalen Netzes verwenden und die Veränderungen dieser Indikatoren mit dem normalen Zeitablauf verbinden - die Zeit wird der dritte Indikator sein. Die Indikatoren sind einfach und sagen Veränderungen auf dem Markt mit 100%iger Zuverlässigkeit voraus. In Force Index geben Sie den Wert 0.0 ein, und in DeMarker geben Sie die Werte 0.1 und 0.9 ein. Es ist klar, dass wir im Code dieser Indikatoren die Dimension der Perioden von int auf double ändern müssen.

es ist so viel Zeit vergangen... Ich habe meinen genetischen Algorithmus geschrieben und ein rekurrentes Vorwärtsausbreitungsnetzwerk mit Rückkopplung von allen nachfolgenden Schichten zu allen vorherigen Schichten erstellt... aber ich habe den Export der neuen Neuristiken in mql4 nicht durchgeführt... Ich bin noch nicht dazu gekommen... Wenn ich das tue, werde ich Ihre Hinweise im Hinterkopf behalten. :)