Genetische Programmierung - Fitness-Funktionen

8

Nehmen wir an, ich habe eine Reihe von Trainingsbeispielen, bei denen A_i ein Attribut ist und das Ergebnis binär (ja oder nein) ist:

%Vor%

Ich weiß, ich muss die Fitness-Funktion definieren, was ist das für dieses Problem? In meinem eigentlichen Problem gibt es 10 Parameter und 100 Trainingsbeispiele, aber das ist ein ähnliches Problem.

    
ale 17.04.2011, 11:33
quelle

1 Antwort

6

Ich denke, dass die Verwirrung hier von der Tatsache herrührt, dass normalerweise Fitness-Funktionen Ihnen etwas Skalar zurückgeben, manchmal auf einer diskreten Skala, aber niemals ein binäres Ja / Nein (oder Wahr / Falsch). In diesem Sinne sieht dies mehr wie ein "Klassifikations" -Problem aus, das mit neuronalen Netzen (oder möglicherweise bayesianischer Logik) zu lösen ist. Gesagt, so könnten Sie sicherlich eine GA entwickeln, um jede Art von Klassifikator zu entwickeln, und die Fitness-Funktion würde im Wesentlichen in Bezug auf korrekte Klassifikationen über Gesamtauswertungen ausgedrückt werden.

Ein anderer reiner GA-Ansatz dazu - wahrscheinlich relevanter für die Frage - ist, den gesamten Klassifikationsregelsatz als eine gegebene Einzelperson für den genetischen Algorithmus zu kodieren. In diesem Sinne könnte die Fitnessfunktion als ein Skalar ausgedrückt werden, der darstellt, wie viele Ja / Nein-Klassifizierungen die gegebene Kandidatenlösung, die zur Hand ist, über die Gesamtsumme und so weiter geht. Ein ähnlicher Ansatz findet sich in diesem Dokument Mit Real-Valued Genetic: Algorithmen zur Entwicklung von R, de Sets für Klassifizierung .

Beispiel (einer der möglichen Wege, dies zu kodieren):

%Vor%

Kodierung: rot = 000, dunkel = 001, groß = 010, grün = 011, klein = 100, orange = 101, hell = 111 usw. Ergebnis: ja = 1, nein = 0

Chromosom:

%Vor%

All dies wird in eine Kandidatenlösung wie folgt übersetzt:

%Vor%

Sie generieren eine zufällige Menge von diesen und entwickeln sie wie Sie wollen, indem Sie Fitness (korrekte Klassifizierung / Gesamtklassifikationen im Regelsatz) des gesamten Regelsatzes testen (seien Sie vorsichtig bei der Auswahl Ihrer Cross-Over-Strategie!) / p>

Ich schlage auch vor, dass Sie sich ein binäres Solo anhören, um Sie in Stimmung zu bringen.

HINWEIS : Ich bezweifle stark, dass dies mit einem Regelsatz funktionieren würde, der nur aus 3 Regeln besteht, nicht genug Breite für die GA.

    
JohnIdol 17.04.2011, 14:32
quelle