Questa è la parte difficile di GA (beh, quella e la rappresentazione dei dati) e in realtà si può solo imparare dall'esperienza.
Dichiarando l'ovvio, la funzione deve essere qualcosa che misura quanto siano buoni i risultati. In particolare, deve essere scorrevole su una vasta gamma di dati: qualunque siano i dati, la funzione di fitness deve mostrare il modo giusto per migliorare.
Quindi, ad esempio, una funzione di fitness che è zero a meno che la risposta sia corretta non è buona, perché non aiuta ad avvicinarsi alla risposta giusta quando si inizia.
E una funzione di fitness che aumenta man mano che le cose migliorano, ma non identifica la soluzione migliore non è altrettanto buona, perché la popolazione migliorerà fino a un certo punto e poi si bloccherà.
Quindi è necessario sedersi, scrivere alcuni esempi dei dati e quindi pensare a quale tipo di funzione è possibile utilizzare. Vuoi qualcosa che dia bassi valori per dati cattivi e valori alti per dati buoni. E questo si adatta bene tra i due.
Prova qualsiasi idea pazzesca a cui riesci a pensare in un primo momento, e poi guarda come potresti metterlo in una bella forma matematica. Basta fare brainstorming e continuare a provare e iterare ...probabilmente scoprirai che la tua prima scelta non è così buona e, una volta eseguito l'AG, sarai in grado di esaminare ciò che sta accadendo in modo più dettagliato e migliorarlo.
fonte
2011-09-07 13:38:40
Questo mi fa pensare che potremmo probabilmente determinare una funzione di fitness per quanto è buona una funzione di fitness! – weltschmerz