138 Stimmen

Wann sollte ich genetische Algorithmen im Gegensatz zu neuronalen Netzen verwenden?

Gibt es eine Faustregel (oder eine Reihe von Beispielen), um zu bestimmen, wann genetische Algorithmen im Gegensatz zu neuronalen Netzen (und umgekehrt) zur Lösung eines Problems eingesetzt werden sollten?

Ich weiß, dass es Fälle gibt, in denen beide Methoden gemischt werden können, aber ich bin auf der Suche nach einem Vergleich der beiden Methoden auf hohem Niveau.

3 Stimmen

Es ist erwähnenswert, dass es zwei Arten von neuronalen Netzen gibt: überwachte und unbeaufsichtigte. Die überwachten erhalten Trainingsdaten von einem Menschen, die nicht überwachten erhalten Feedback von sich selbst und sind in dieser Hinsicht eher wie GAs.

3 Stimmen

Ich denke nicht, dass es eine "Liste" ist. Die Antworten vergleichen zwei Methoden und verdeutlichen, wann die eine und wann die andere anzuwenden ist.

0 Stimmen

Kurze Antwort: Verwenden Sie GA, wenn die zu modellierende Funktion nicht kontinuierlich/diskret ist, oder wenn der Datensatz astronomisch hochdimensional ist. Verwenden Sie für den Rest neuronale Netze oder GA (oder ein anderes Modell), je nachdem, was Ihnen die besten Ergebnisse liefert. Weitere Informationen finden Sie in meiner Antwort hier: stackoverflow.com/a/49684833/1121352

14voto

Amro Punkte 122495

Sie können genetische Algorithmen als Alternative zum Backpropagation-Algorithmus zur Aktualisierung von Gewichten in neuronalen Netzen. Ein Beispiel hierfür finden Sie unter: http://www.ai-junkie.com/ann/evolved/nnt1.html .

8voto

Genetische Algorithmen arbeiten (normalerweise) mit diskreten Daten (Enums, ganzzahlige Bereiche usw.). Eine typische Anwendung für genetische Algorithmen ist das Durchsuchen eines diskreten Raums nach einer Lösung, die "gut genug" ist, wenn die einzige verfügbare Alternative eine Brute-Force-Suche ist (Bewertung aller Kombinationen).

Neuronale Netze hingegen arbeiten (normalerweise) mit kontinuierlichen Daten (Floats usw.). Eine typische Anwendung für NNs ist die Funktionsannäherung, bei der man einen Satz X von Eingaben und einen Satz Y von zugehörigen Ausgaben hat, aber die analytische Funktion f: X → Y.

Natürlich gibt es Tausende von Varianten von beiden, so dass die Grenze zwischen ihnen etwas verschwommen ist.

5voto

tilish Punkte 1093

Es gibt keine Faustformel. In vielen Fällen können Sie Ihr Problem so formulieren, dass Sie eines der beiden Verfahren nutzen können. Das maschinelle Lernen ist immer noch ein aktives Forschungsgebiet, und man kann darüber streiten, welches Lernmodell zu verwenden ist.

GAs übernehmen sexy Sprachen aus der Evolution, aber Sie warten darauf, dass Ihr Computer durch einen Zufallsprozess auf eine Lösung stößt. Studieren Sie Ihre Daten, treffen Sie gute Annahmen, versuchen Sie herauszufinden, was Sie wollen, und wählen Sie einen Ansatz, der diese gut nutzen kann. Wenn Ihre erste Wahl zu schlechten Ergebnissen führt, sollten Sie wissen, warum das so ist, und den Algorithmus selbst verbessern oder einen besseren wählen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X