Neuronales Netz in Form eines Skripts - Seite 3

 
sprite:
kombat:
Die Logik dieses Skripts erinnert irgendwie an einen einfachen 4in2-Encoder

Ein Scrambler ist ein nicht trainierbares System.

Und das Netzwerk in diesem Skript ist lernfähig. Und der Lernprozess wird in seiner Dynamik von Epoche zu Epoche auf dem Bildschirm dargestellt.

Sie können sehen, wie sich die Gewichte der Neuronen in jeder Schicht ändern und wie das Gitter mit dem Training immer genauer wird.

Oben sehen Sie drei Beiträge, bei denen derselbe Algorithmus gelernt hat

um mit drei verschiedenen Datensätzen zu arbeiten.

Im Falle eines Encoders wären für jeden Datensatz drei Encoder erforderlich.

Ich habe den Lernalgorithmus ein wenig optimiert.

1. die Anzahl der Neuronen dynamisch zu verändern, so etwas wie ein GENETISCHER ALGORITHMUS, allerdings ohne die besten auszuwählen und ohne daraus Generationen zu bilden :-) ohne Korrektur der Verbindungen

2. beenden Sie das Lernen, wenn eine hohe Genauigkeit der Ergebnisse erreicht ist

 
YuraZ:

Ich habe den Lernalgorithmus leicht verfeinert

1) Dynamische Veränderung der Anzahl der Neuronen, so etwas wie ein GENETISCHER ALGORITHM, aber ohne Auswahl der besten und ohne daraus zu produzieren :-) ohne Korrektur der Verbindungen

2- und beenden das Lernen, wenn eine hohe Genauigkeit der Ergebnisse erreicht ist.



Und die endgültige Fassung wird der Öffentlichkeit nicht zugänglich sein?

 
YuraZ:
sprite:
kombat:
Die Logik dieses Skripts erinnert ein wenig an einen einfachen 4v2-Encoder

Der Encoder ist ein nicht trainierendes System.

Und das Netz wird mit diesem Skript trainiert. Und der Lernprozess wird in seiner Dynamik von Epoche zu Epoche auf dem Bildschirm dargestellt.

Sie können sehen, wie sich die Gewichte der Neuronen in jeder Schicht ändern und wie das Gitter mit dem Training immer genauer wird.

Oben sind drei Beiträge, bei denen derselbe Algorithmus gelernt hat

mit drei verschiedenen Datensätzen zu arbeiten.

Im Falle eines Encoders wären drei Encoder für jeden Datensatz erforderlich.

Ich habe den Lernalgorithmus ein wenig optimiert.

1) Dynamische Veränderung der Anzahl der Neuronen, so etwas wie ein GENETISCHER ALGORITHMUS, aber ohne Auswahl der besten Neuronen oder Erzeugung von Nachkommen aus ihnen :-) ohne Korrektur der Verbindungen

2. das Training zu beenden, wenn eine hohe Genauigkeit der Ergebnisse erreicht ist


Los geht's!!! Das Eis ist gebrochen! :))))

 
Vinin:
YuraZ:

Ich habe den Lernalgorithmus leicht verfeinert

1) Dynamische Veränderung der Anzahl der Neuronen, so etwas wie ein GENETISCHER ALGORITHM, aber ohne Auswahl der besten und ohne daraus zu produzieren :-) ohne Korrektur der Verbindungen

2- und beenden das Lernen, wenn eine hohe Genauigkeit der Ergebnisse erreicht ist.



Wird es eine endgültige Fassung für die Öffentlichkeit geben?

Sicher, ich würde gerne einen Blick darauf werfen, vielleicht fügt ja noch jemand etwas hinzu :)


Was die Genauigkeit betrifft, so glaube ich nicht, dass dies das Ziel ist.

Das Ziel ist, dass das Netz am Ende des Trainings alle Trainingssätze unterscheiden kann

unter sich. Und dies ist mit normaler Genauigkeit möglich.


Wie die Experimente gezeigt haben, benötigt dieses Netz nur 300 Trainingsepochen, um "denken" zu lernen.

mit den oben genannten Sets. Ja, das kann man in der Ausbildung gut sehen,

Das Netz beginnt schnell, zwischen den Datensätzen zu unterscheiden.


Und es wäre interessant zu sehen, wie man die Anzahl der Neuronen in einem Expert Advisor während des Testens dynamisch ändern kann,

in das dieses Gitter eingebaut wird. Und die Anzahl der Neuronen, die im MT-Optimierer aufgenommen werden sollen.

 
Topor:

Wie kann man den Preis vorhersagen?

Das können Sie nicht. Sie sollten von einem neuronalen Netz keine Wunder erwarten. Es ist nicht die NS, die die Vorhersage macht, sondern der darin eingebaute Algorithmus. Der Algorithmus basiert auf den Handelsbedingungen, und die Handelsbedingungen .... werden von IHNEN bestimmt.

 
sprite:
kombat:

Nicht dagegen, aber noch nicht FÜR den Einsatz von neuronalen Netzen im Handel...

Gleichfalls :) !!!

Aber der Algorithmus funktioniert und lernt :) Und dann werden wir sehen :)


Das Interesse an Netzwerken wird durch den Gewinn der EA-Meisterschaft mit dem Netzwerk weiter angeheizt.

Natürlich hatten wir dort ein anderes Netz. Aber der Mann hat die Arbeit gemacht und das Ergebnis erzielt.


Die Frage ist nicht, welches Netz, sondern was Sie damit erreichen wollen. Und das Ergebnis wurde nicht wegen des NS erzielt, sondern wegen der Handelsbedingungen, die der NS zusammenstellte und eine bestimmte wahrscheinliche Prognose abgab. NS ist in der Tat ein Filter, der adaptiv sein kann (selbstlernender NS) und daher eine Verzögerung (für die Lernperiode) hat. Der Vorteil von NS ist, dass es unterschiedliche Komponenten Ihres TS zu einem Ergebnis zusammenführen und die Signifikanzverhältnisse für diese Komponenten unabhängig voneinander ordnen kann (lernen).

 
Vinin:
YuraZ:

Ich habe den Lernalgorithmus leicht verfeinert

1) Dynamische Veränderung der Anzahl der Neuronen, so etwas wie ein GENETISCHER ALGORITHM, aber ohne Auswahl der besten und ohne daraus zu produzieren :-) ohne Korrektur der Verbindungen

2- und beenden das Lernen, wenn eine hohe Genauigkeit der Ergebnisse erreicht ist.


Wollen Sie nicht eine verbesserte Version für die Öffentlichkeit zur Verfügung stellen?

Victor, es wird sie geben.


Übrigens hat sich die Vorhersagegenauigkeit um ein Vielfaches erhöht! Das Problem ist, dass der Algorithmus zu lange zum Trainieren braucht :-)))

Ich habe dieses Problem noch nicht gelöst - ich werde den Code auf jeden Fall posten!

Ich vermisse den auf einem Timer basierenden Code, den ich in MQL4 nicht habe!

 
Xadviser:
Topor:

Wie kann man den Preis vorhersagen?

Das können Sie nicht. Sie sollten von einem neuronalen Netz keine Wunder erwarten. Es ist nicht die NS, die die Vorhersage macht, sondern der darin eingebaute Algorithmus. Der Algorithmus basiert auf den Handelsbedingungen, und die Handelsbedingungen .... werden von IHNEN bestimmt.

Sind Sie schon auf vernünftige Algorithmen gestoßen?

Nur ein oder zwei Worte über sie.

 
Xadviser:
Topor:

Wie kann man den Preis vorhersagen?

Das können Sie nicht. Sie sollten von einem neuronalen Netz keine Wunder erwarten. Die Prognose wird nicht durch die NS gegeben, sondern durch den darin enthaltenen Algorithmus, der auf den Handelsbedingungen basiert, und die Handelsbedingungen .... Und die Handelsbedingungen werden von IHNEN festgelegt.

Die Gurus raten, nicht den Preis, sondern die Veränderung vorherzusagen.

 
YuraZ:

Es ist nicht immer notwendig, zu normalisieren. Wer sagt, dass das Raster nur mit 0 und 1 arbeiten DARF und MUSS?


Ich kann ein einfaches Raster mit einem Beispiel anhängen (leider habe ich im Moment keine Materialien zur Hand) - ich werde es später tun

wo ein einfaches NN dieses Problem ohne Datenaufbereitung mit Normalisierung löst

leider ist dies nicht die Quelle


Das Beispiel, das ich gegeben habe, ist jedoch bereits in gewisser Weise normalisiert

die Bedingung hat zwei Bereiche


1 0-100

2 10-30


müssen Sie nur das Verhältnis der Position in einem Bereich finden - das bekanntlich zu

Das ist im Wesentlichen eine Skalierung.

Eine Normalisierung ist fast immer erforderlich. Die Daten müssen innerhalb des Definitionsbereichs der Aktivierungsfunktion liegen.

Im Skript ist das Sigmoid [-1;+1]. Ersetzt man ihn beispielsweise durch einen Exponentialwert ... oder Quadratwurzel.


http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/ActivationFunctions.htm