Wie kann man die richtige Anzahl von Parametern für einen genetischen Algorithmus auswählen, um ein bestimmtes System zu modellieren?
Angenommen, Sie möchten die Produktion von Autos optimieren und haben 1.000 Messungen der stündlichen Effizienz bei verschiedenen Aufgaben für jeweils 1.000 verschiedene Mitarbeiter. Sie haben also 1.000.000 Datenpunkte. Die meisten davon korrelieren wahrscheinlich schwach mit der Gesamteffizienz Ihrer Fabrik, aber nicht so schwach, dass Sie sagen können, dass sie mit statistischer Sicherheit irrelevant sind. Wie gehen Sie vor, um Eingaben für Ihre GA auszuwählen, damit Sie nicht über 1.000.000 Freiheitsgrade verfügen, was zu einer sehr langsamen oder gar keiner Konvergenz führt?
Welche Algorithmen könnten speziell verwendet werden, um Merkmale vorzuwählen oder selektiv zu eliminieren?
Ein Ansatz , den ich verwendet habe mich in diesem Szenario ist die Parameterauswahl selbst zu entwickeln, so dass ich vielleicht Eltern wie {a,b,c}
, {b,d,e,q,x,y,z}
und so weiter. Ich würde dann die Kinder mutieren, um Features hinzuzufügen oder zu löschen. Dies funktioniert gut für ein paar Dutzend Funktionen. Das Problem ist jedoch, dass es ineffizient ist, wenn es eine große Anzahl von Freiheitsgraden gibt. In diesem Fall handelt es sich um 10^n
Kombinationen (im obigen Beispiel 10^1,000,000
), bei denen eine Vorfilterung von Funktionen wichtig ist, um eine nützliche Leistung zu erzielen.
quelle