Diskussion zum Artikel "Genetische Algorithmen - Leicht gemacht!" - Seite 15
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
Hallo, ich werde keine Fragen stellen.
Ich möchte nur ein großes Dankeschön für Ihre Arbeit sagen! Ich danke Ihnen!
Es ist sehr hilfreich.
Hallo, auch ich möchte ein großes Dankeschön aussprechen. Ich bin vor kurzem auf GA aufmerksam geworden. Alle Quellen, die ich "über GA" gefunden habe, haben mich verzweifeln lassen. Ich wusste nicht, wohin ich gehen sollte.... Und dann bin ich durch einen Link auf Ihren Artikel gestoßen. Mit einem Wort: Hurra! ))
Ich habe ein paar Fragen. Mir ist klar, dass der Artikel schon vor langer Zeit geschrieben wurde. Aber trotzdem...
1. werden deklarierte Variablen nirgends verwendet.
Ist dies ein Plan für die Zukunft?
2. Ich habe UGA mehrmals ausgeführt und unterschiedliche Werte erhalten, d.h. einmal richtig, das zweite Mal nicht ganz richtig. Frage - welcher der UGA-Parameter sollte "größer" eingestellt werden, um die Anzahl der richtigen Antworten zu erhöhen.
Im Trailer beobachtet... Das linke Bild zeigt ein falsches Ergebnis.
...Die Frage ist, welcher der GA-Parameter "größer" eingestellt werden sollte, um die Anzahl der richtigen Antworten zu erhöhen.
Im Allgemeinen gibt es leider keine eindeutige Antwort und kann sie auch nicht geben. Alles hängt von der jeweiligen Aufgabe ab.
Versuchen Sie in Ihrem speziellen Fall, diese Parameter zu verdrehen:
:)
Eine Veränderung der ersten beiden Parameter nach oben erhöht eindeutig die Konvergenz, aber natürlich auch die Suchzeit.
Danke für die Antwort. Ich habe herumgespielt und beobachtet.... Im Allgemeinen ist es nicht sinnvoll, alle Beobachtungen zu teilen. Die "extremen Varianten" sind völlig ausreichend.
Mit den ersten beiden Parametern gleich 50 bzw. 2 beträgt die Laufzeit des Algorithmus 170-200 ms.
...., gleich 100 und 50, betrug die Laufzeit 103203 ms. Ja, der Algorithmus lieferte absolut übereinstimmende Ergebnisse, "wie es sein sollte" und "wie es sich herausstellte".
Leider, so scheint es mir, entspricht der Zeitaufwand überhaupt nicht den erzielten Ergebnissen.
Vielen Dank für die Antwort. Ich habe herumgespielt und beobachtet.... Im Allgemeinen ist es nicht sinnvoll, alle Beobachtungen zu teilen. Die "extremen Varianten" sind völlig ausreichend.
Mit den ersten beiden Parametern gleich 50 bzw. 2 beträgt die Laufzeit des Algorithmus 170-200 ms.
...., gleich 100 und 50, betrug die Laufzeit 103203 ms. Ja, der Algorithmus lieferte absolut übereinstimmende Ergebnisse, "wie es sein sollte" und "wie es sich herausstellte".
Leider, so scheint es mir, entspricht der Zeitaufwand überhaupt nicht den erzielten Ergebnissen.
Wenn das Problem mit Newton'schen Methoden lösbar ist, sollte es auch mit diesen gelöst werden. Sie werden in kurzer Zeit genaue Ergebnisse erhalten.
Wenn nicht, dann willkommen bei GA. Das Sprichwort über ein Mikroskop und Nüsse kommt mir hier in den Sinn.
Wenn das Problem mit Newton'schen Methoden lösbar ist, dann sollte es auch mit diesen Methoden gelöst werden. Sie erhalten genaue Ergebnisse in kurzer Zeit.
Wenn nicht, dann gehen Sie zur GA. Das erinnert an das Sprichwort über ein Mikroskop und Nüsse.
Leider gibt es keine einfachen Methoden. Egal, welche Aufgabe man sich stellt, das Problem der Optimierung tritt in den Vordergrund. Denn alle BP-Hypostasen, Indikatoren genannt, sind parametrisch. Sogar derselbe Zickzackkurs, so scheint es....
Und da es Parameter gibt, bedeutet dies, dass sie re(sub)beatet werden sollten. Die einfachste Variante sind verschachtelte Zyklen. Wie die Praxis zeigt, ist das meistens keine Option. Deshalb verwenden wir GA. Und zwar gar nicht vom Bösen. )) Es ist eine dringende Notwendigkeit.
Vor ein oder zwei Jahren habe ich ein reines Experiment gemacht. Wenn man zwei Mashki mit langen Perioden nimmt, sieht deren Differenz (in einem separaten Fenster) wie ein ziemlich glatter Graph aus, der eindeutig sinusförmig ist. Ich wollte sehen
ob die Summe mehrerer Sinuskurven diesen Graphen wiederholen kann. Ich habe ein Skript erstellt, das 3 Sinuskurven aufnehmen sollte. Zuerst wollte ich 5, dann habe ich mich für drei entschieden (Experiment, warum sich aufregen?). Das Ergebnis waren 3 Zyklen (2 verschachtelte)
Natürlich arbeiten zyklische Algorithmen schneller, wenn man die Kommentare aus den Zyklen entfernt. Aber leider nicht 100 Mal, und die Möglichkeit, den Prozess zu verfolgen, verschwindet völlig.
Aus diesem Grund wurde das Experiment abgebrochen, ohne dass es begonnen wurde. Aber das Ausmaß und die Schwere einer scheinbar einfachen Situation "wurde gehört" hat mich überrascht und fast erschreckt. ))
Andrew, es gibt noch 2 weitere Fragen:
1. In dem alternativen Zickzack-Beispiel haben Sie die Formulierung "...wenn der Genotyp eines Chromosoms nicht mit dem Phänotyp übereinstimmt" verwendet. Was bedeutet dies in Bezug auf die GA?
2. So wie ich es verstehe, wird die Rangfolge in absteigender Reihenfolge erstellt. D.h. je höher der Wert in Colony[0][chromos], desto besser ist das Individuum angepasst?
D.h. wenn ich es richtig verstanden habe, kann (sollte) man bei der Arbeit mit Crivulinen in FF die Korrelationskoeffizienten r oder R verwenden, da sie zu 0->1 tendieren. Und man kann MSE nicht verwenden, da es ->0 ist.
Andrew, es gibt noch 2 weitere Fragen:
1. In dem alternativen Zickzack-Beispiel haben Sie die Formulierung "...wenn der Genotyp eines Chromosoms nicht mit dem Phänotyp übereinstimmt" verwendet. Was bedeutet dies in Bezug auf die GA?
2. So wie ich es verstehe, wird die Rangfolge in absteigender Reihenfolge erstellt. D.h. je höher der Wert in Colony[0][chromos], desto besser ist das Individuum angepasst?
3. d.h. wenn ich es richtig verstanden habe, kann (sollte) man bei der Arbeit mit Curvulins in FF die Korrelationskoeffizienten r oder R verwenden, da sie zu 0->1 tendieren. und man kann MSE nicht verwenden, da es ->0 ist.
1. Wenn die Gene eines Chromosoms mit den Argumenten der zu optimierenden Funktion übereinstimmen, entspricht der Genotyp dem Phänotyp (Genotyp - Genwerte, Phänotyp - Argumentwerte). Wenn Gene und Argumente nicht gleich sind (es wird irgendeine Art von Transformation verwendet) - dann stimmen sie nicht überein. Googeln Sie die Konzepte von Genotyp und Phänotyp in der Biologie.
2. Ja, aber das ist nicht grundlegend. Sie können die Richtung der Rangfolge explizit angeben, oder Sie können den FF-Wert mit -1 multiplizieren.
3. tut mir leid, ich habe die Frage nicht verstanden.
1. Wenn die Gene eines Chromosoms mit den Argumenten der zu optimierenden Funktion übereinstimmen, entspricht der Genotyp dem Phänotyp (Genotyp - Werte der Gene, Phänotyp - Werte der Argumente). Wenn Gene und Argumente nicht gleich sind (es wird eine Art Transformation verwendet) - dann entsprechen sie nicht. Googeln Sie die Konzepte von Genotyp und Phänotyp in der Biologie.
2. Ja, aber das ist nicht grundlegend. Sie können die Richtung der Rangfolge explizit angeben, oder Sie können den FF-Wert mit -1 multiplizieren.
3: Entschuldigung, ich habe die Frage nicht verstanden.
Vielen Dank.
1. Das habe ich auch vermutet. Aber Vermutungen sind eine trübe und gefährliche Sache. Es ist viel wünschenswerter, es genau zu wissen. Was das Googeln angeht, danke für den Rat, aber ich werde es nicht benutzen, denke ich. Seit der Schule erinnere ich mich an rezessiv, dominant, Allel, Phänotyp, Genotyp, homozygot, heterozygot.... Meine Güte, was für ein Quatsch in meinem Kopf. M-ja, in der sowjetischen Schule wusste man, wie man Wissen vermittelt.... ))
2. auch verständlich.
3. aber es gab keinen dritten Punkt. Nur die dritte Zeile (eine Fortsetzung des zweiten Absatzes), in der der Gedanke laut wird, wie "Wenn ich Recht habe...". Das ist keine Frage. Obwohl es so aussieht, als könnte es eine sein. Nun, dann ist es eine rhetorische Frage. Ich werde die Bedeutung erklären. Zum Beispiel, rein synthetisch. Wir haben ein Kurvensignal in Sinusform und wissen, dass es eine Summe von drei Sinuskurven ist. Ich bin mir fast absolut sicher, dass der GA diese Aufgabe problemlos bewältigen und die Perioden aller drei Sinuskurven erzeugen wird. Dabei ist es aber irgendwie notwendig, zu messen, wie sehr die Summe der drei Sinuskurven der Referenz ähnlich ist. In meinem Arsenal gibt es drei solcher Maße: r (Pearson), R (p-Quadrat) und MSE. Zumal diese Dinge auch in neuronalen Netzwerkparadigmen als Maß für "Fitness" verwendet werden.
Nochmals vielen Dank, das macht es klarer und transparenter. Nochmals, ich habe mich erst kürzlich mit dem Thema GAs beschäftigt. Also sind alle Beinamen wie Anfänger, Dummkopf, Valenok leider alle von mir.... ))
P.S. Ich weiß natürlich über biologische Analoga Bescheid. Aber dieses Wissen dient lediglich dazu, das Verständnis für das Wesen von Prozessen zu fördern, die durch höhere Programmiersprachen beschrieben werden. Und das, nicht überall und nicht immer. Ich verbinde nicht biologische Analoga mit Neurocomputer-Analoga in einem engen Knoten. Irgendwie funktioniert in der Biologie (Natur) alles auf einer einmaligen Basis. Aber in der Neuroinformatik funktioniert es aus irgendeinem Grund meistens nicht.
Andrew, eine weitere Frage.
Können wir sagen, dass solche Werte dieser Variablen für die meisten Optimierungsprobleme geeignet sind? Wie es in einigen Quellen heißt "... 90% der Probleme können mit einem gewöhnlichen Perceptron gelöst werden".