Neuronales Netz in Form eines Skripts

 

Meine Damen und meine Herren !


Ich habe im Internet einen Algorithmus für ein neuronales Netz gefunden.

Ich beschloss, das zu überprüfen.


Ich habe das Skript für das Terminal erstellt. Ich habe es auf laufen lassen und es hat funktioniert.

Um sicherzustellen, dass korrekt ist - habe ich eine Visualisierung des Lernprozesses erstellt.

sichtbar gemacht.

Nun , und nicht zu arbeiten verstauben im Regal - posten im Forum.

Ich denke, der Code aus dem Skript in einen Indikator oder Expert Advisor zu setzen ist eine Frage der Technik.

Probieren Sie es aus und testen Sie Ihre Fantasie.






Das Skript läuft auf jedem Chart und in jedem Zeitrahmen.

Dateien:
 

Ich danke Ihnen!

 

Sehr nützliches kleines Ding! Ich danke Ihnen!

 
Die Logik dieses Skripts erinnert ein wenig an einen einfachen 4in2 Scrambler
 
kombat:
Etwas an der Logik dieses Skripts erinnert an einen einfachen 4in2 Scrambler

das Gizmo ist natürlich interessant!


aber das, worauf das Netz trainiert wurde, ist das, was es garantiert anzeigt!


Versuchen Sie nun, sie mit Dingen zu füttern, die sie beim Training nicht gesehen hat!

Sie wird verrückt!




test_pat[0] = 1 ;
test_pat[1] = 1 ;
test_pat[2] = 0 ;
test_pat[3] = 0 ;
test_the_network() ;
Print(MathRound( ol_a[0]), " 1100 ", MathRound(ol_a[1]) ) ;

Sie antwortet 1 0

obwohl es logischerweise 1 1 antworten sollte

---

Das richtige Netzwerk wird genau das tun - es wird 1 1 antworten, obwohl es solche Daten in der Klasse nicht gesehen hat!



Versuchen Sie, dem Netz das folgende Beispiel beizubringen


OUTPUT = INPUT

30.00 = 100.00
27.50 = 87.50
25.00 = 75.00
20.00 = 50.00
15.00 = 25.00
13.75 = 18.75
12.50 = 12.5
11.25 = 6.25
10.00 = 0.00

und dann eine Eingabe von, sagen wir, 62,5, sollte eine Ausgabe von 22,50 ergeben.


MUSS = EINGABE

22.50 - 62.5

Dies ist ein einfaches Beispiel für die Skalierung von Netzen, die sich wie Erdnüsse ohne Schale verhalten

 

Wie kann man den Preis vorhersagen?

 
YuraZ:
kombat:
Etwas an der Logik dieses Skripts erinnert an ein einfaches 4v2 Scrambler

das Gizmo ist natürlich interessant!


aber das, worauf das Netz trainiert wurde, ist das, was es garantiert anzeigt!


Versuchen Sie nun, ihre Eingaben mit dem zu füttern, was sie während der Ausbildung nicht gesehen hat!

Sie wird verrückt!




test_pat[0] = 1 ;
test_pat[1] = 1 ;
test_pat[2] = 0 ;
test_pat[3] = 0 ;
test_the_network() ;
Print(MathRound( ol_a[0]), " 1100 ", MathRound(ol_a[1]) ) ;

Sie antwortet 1 0

obwohl es logischerweise 1 1 antworten sollte

---

Das richtige Netz wird genau das tun - es wird 1 1 antworten, obwohl es während des Lernprozesses keine solchen Daten gesehen hat!



Versuchen Sie, dem Netz das folgende Beispiel beizubringen


OUTPUT = INPUT

30.00 = 100.00
27.50 = 87.50
25.00 = 75.00
20.00 = 50.00
15.00 = 25.00
13.75 = 18.75
12.50 = 12.5
11.25 = 6.25
10.00 = 0.00

und dann eine Eingabe von, sagen wir, 62,5, sollte eine Ausgabe von 22,50 ergeben.


MUSS = EINGABE

22.50 - 62.5

Dies ist ein einfaches Beispiel für die Skalierung von Netzen, die sich wie Erdnüsse ohne Schale verhalten



In diesem Algorithmus findet keine Normalisierung statt. Damit dieser Algorithmus korrekt funktioniert, ist es erforderlich, dass

um Eingangs- und Ausgangswerte zu liefern, die bereits zwischen 0 und 1 normiert sind.

 


Ein weiteres Beispiel

Dateien:
 
Dateien:
 

1. Zunächst müssen Sie sowohl die Eingabe als auch die Ausgabe normalisieren, d. h. in den Bereich 0 - 1 setzen

(oder der Netzcode muss neu kompiliert werden, damit er in den neuen Datenbereich passt)

2. Dieses Netz hat 4 Eingänge und 2 Ausgänge.

Welche Zahlen aus diesen Spalten sollen welchem Eingang zugeführt werden?


Nach dem Algorithmus

das Netz setzt jedes Vierfache der Eingangswerte 1 0 0 0

setzt ein Paar von Ausgangsdaten 1 0


Es kann mehrere solcher Datensätze geben, z. B. 4 .

Und man muss sie nach dem Algorithmus des Netzes füttern

Eingabe _Ausgabe


1 0 0 0_ 0 0

1 0 0 1_ 1 0

1 0 1 0_ 0 1

1 0 1 1_ 1 1


oder wie folgt, wenn 4 Eingänge und 3 Ausgänge


1 0 0 0_ 1 1 1

1 1 0 0_ 1 0 0

1 0 1 1_ 0 0 1

1 0 1 0_ 0 1 1

1 0 1 0_ 0 0 0

1 1 1 1_ 0 1 0

für diesen Fall den Code ändern









 
kombat:
Die Logik dieses Skripts erinnert an einen einfachen 4v2 Scrambler

Wenn sich der Scrambler als nützlicher erweist, werden wir einen Gewinn daraus ziehen :) !

Gerade Netzwerke sind immer noch in Mode.

Wenn Sie den Code des Scramblers haben, dann geben Sie ihn hier ein! Lass uns auch damit spielen.

Grund der Beschwerde: