Diskussion zum Artikel "Genetische Algorithmen - Leicht gemacht!" - Seite 10

 
joo:

... aber in der oberen Schleife wird ihm +1 zugewiesen, also subtrahiere ich dann -1 ...

Da liegt der Hund begraben!!! Und ich denke - wie kann das sein - der Artikel ist schon ein Jahr alt - und alles funktioniert, niemand beschwert sich ... Nochmals vielen Dank für den Artikel ... und für die Erklärungen :)

 
@jooHallo. Ihr Zig-Zag gefällt mir sehr gut, allerdings ist es bei einer großen Anzahl von Kerzen sehr langsam. Ist es möglich, die Geschwindigkeit ohne Qualitätsverlust zu erhöhen?
 
Graff:
@jooHallo. Ich liebe Ihr Zig-Zag, aber es ist langsam bei einer großen Anzahl von Kerzen. Ist es möglich, die Beschleunigung ohne Qualitätsverlust zu erhalten?

Sorry, aber ich bin nicht der Autor dieses Indikators.

Bitte sehen Sie sich die Diskussionsseite dieses Indikators an.

 
joo:

Ich will die Kompetenz der zitierten Quelle nicht bestreiten, aber ich muss ihr widersprechen.

Die Zweckmäßigkeit des Einsatzes von GA bei Optimierungsproblemen liegt in der Verringerung der Anzahl von FF-Durchläufen, die zur Ermittlung des Optimums erforderlich sind, im Vergleich zur direkten Suche.

Wenn wir der Empfehlung folgen

dann für ein Problem mit 1000 Argumenten eine Populationsgröße von 11000 Individuen erforderlich! Und das sind 11000 FF-Durchläufe bei nur 1 Epoche! Man kann genauso gut die zufällige Generierung von Genen verwenden, und das Ergebnis wird beim Finden des Optimums nicht viel schlechter sein. Die angegebene Quelle geht die "Wette" ein, dass in einer großen Population genügend genetisches Material vorhanden ist, um die Population in jeder Epoche in Richtung Verbesserung weiterzuentwickeln. Ich versuche, das Gleiche zu erreichen, allerdings auf Kosten des Wahrscheinlichkeitsspiels mit genetischen Operatoren, ohne dass die Zahl der FF-Läufe insgesamt steigt.

Ehrlich gesagt, könnte ich mir kein Problem mit 1000 Argumenten vorstellen. Ich verwende einen Algorithmus zum Trainieren eines neuronalen Netzes, sagen wir fünf Schichten, obwohl drei Schichten in der Regel ausreichen, so dass sich herausstellt, dass die Eingabe 14 Variablen für fünf Schichten und 17 für drei Schichten beträgt!!!! Was kann man da reinschreiben?!
 
Rich:
Ehrlich gesagt konnte ich mir ein Problem mit 1000 Argumenten nicht vorstellen. Ich verwende den Algorithmus, um ein neuronales Netz zu trainieren, sagen wir fünf Schichten, obwohl drei normalerweise ausreichen. Es stellt sich also heraus, dass die Eingabe 14 Variablen für die fünfschichtige und 17 für die dreischichtige!!!! Was kann man da reinschreiben?!

Ganz einfach.

Hier ist die Anzahl der optimierbaren Parameter für ein 4-Schichten-Netz mit 2 versteckten Schichten, zum Beispiel für dieses - 10-40-40-40-1:

10*40+40+40+40+40*40+40+40+40*1+1=2121 (Gewichte der Neuronen und ihre Verschiebungen für 40+40+1=81 Neuronen).

Wie Sie sehen, müssen für ein solch relativ kleines Netz 2121 Parameter optimiert werden.

 

Ist es möglich, dass Sie ein Beispiel posten, wie Sie diese Bibliothek verwenden würden, um einen Expert Advisor zu optimieren, so wie es MT tut?

Das wäre eine große Hilfe für mich.

Vielen Dank!

 
moosa:

Wäre es möglich, dass Sie ein Beispiel posten, wie Sie diese Bibliothek verwenden würden, um einen Expert Advisor zu optimieren, so wie es MT tut?

Das wäre eine große Hilfe für mich.

Vielen Dank!

Damit die Bibliothek so funktioniert, wie MT es für EA tut, gibt es eine Menge zu tun: Aufträge berechnen, die Berechnung von Eigenkapital und Bilanz und vieles mehr.
Ich habe leider keine Zeit dafür, und der Stimulus....
vielleicht später.
 

Entschuldigung, aber ich bin ein bisschen dumm.

Es stellt sich heraus, dass bei dem hier betrachteten Algorithmus mit kontinuierlichen Genen ein solcher Parameter wie ein Schritt bedeutungslos ist. Wir können nur dann von Genauigkeit sprechen, wenn das Ergebnis im Voraus bekannt ist und es notwendig ist, Argumente zu finden.

 
ivandurak:

...

Es stellt sich heraus, dass bei dem hier betrachteten Algorithmus mit kontinuierlichen Genen ein solcher Parameter wie der Schritt bedeutungslos ist. Wir können nur dann von Genauigkeit sprechen, wenn das Ergebnis im Voraus bekannt ist und es notwendig ist, Argumente zu finden.

Genau richtig, wenn der Abstand zwischen den Genen groß genug ist, dann wird der Schritt größer, wenn die Gene näher zusammenrücken, wird der Schritt automatisch kleiner, einfach weil der Begriff des Schrittes selbst nicht verwendet wird, sondern die Genauigkeit, mit der man eine Lösung finden muss. Der Abstand zwischen den Genen ist die ganze Zeit geteilt durch die zufällige Periode, und er ist konstant 32768. Die sich daraus ergebende Zahl ist der bedingte Schritt.

Wenn auch das Ergebnis nicht bekannt ist, können Sie davon ausgehen, die Lösung, was Präzision erforderlich ist, ist es einfacher als in den unbekannten Raum zu spezifizieren, mit welchem Schritt Sie für eine Lösung suchen müssen.

 
Welche Kriterien und wie viele Nachkommen sollen getötet werden. Wie viele Eltern und Nachkommen sollten abhängig von der Anzahl der optimierten Parameter sein, ab welcher Epoche Inzest erlaubt sein kann. Generell ist es nicht ganz klar, nach welchem Prinzip man Eltern töten soll. Nur leider ist Ihre Arbeit für meine Zwecke nicht ganz geeignet, aber vielen Dank mit einem Pinsel.