2011-09-07 11 views
7

Pracuję nad projektem, który będzie miał wybrany zestaw danych, a każde dane będą miały różne atrybuty. Będę musiał użyć funkcji fitness, aby wybrać dane, które najlepiej pasują do wybranego scenariusza za pomocą atrybutów.Jak wykonać funkcję Fitness

Jednak nie znalazłem żadnych stron wyjaśniających, jak uruchomić własną funkcję fitness. Mam tylko to, że jest to część algorytmu genetycznego i to jest tak daleko, jak to było. Czy mogę tu podać jakieś wskazówki?

Odpowiedz

2

Czy jesteś pewien, że potrzebujesz funkcji fitness?

Funkcja fitness to, jak powiedziałeś, coś używanego w algorytmie genetycznym. Jest używany w każdej iteracji algorytmu do oceny jakości wszystkich proponowanych rozwiązań twojego problemu w bieżącej populacji. Funkcja fitness ocenia, jak dobre jest pojedyncze rozwiązanie w populacji, np. jeśli próbujesz znaleźć dla jakiej wartości x funkcja ma minimum y z algorytmem genetycznym, funkcja funkcji dla jednostki może być po prostu ujemną wartością y (im mniejsza wartość, tym wyższa funkcja fitness).

Co zasadniczo próbuję powiedzieć, funkcje fitness nie zajmują się tak bardzo atrybutami, tylko oceną wyników.

Jeśli chcesz wybrać najbardziej reprezentatywną próbkę danych zawierającą atrybuty, może powinieneś również zajrzeć do metod klasyfikacji lub grupowania? Nie podałeś zbyt wielu informacji na temat tego, w jaki sposób wybrany scenariusz będzie reprezentowany, ale może mógłbyś połączyć dane w klastry (możesz wypróbować algorytm k-średnich klastrów i spróbować zwiększyć liczbę klastrów do momentu, aż błąd klasyfikacji przestanie znacząco spadać?) I niż wybrać reprezentatywny klaster danych po spełnieniu warunku dotyczącego scenariusza?

Jeśli podałeś więcej informacji o tym, jak kwerendy są reprezentowane w odniesieniu do reprezentacji danych, być może dostałeś inną (lub lepszą) odpowiedź od kogoś.

Z drugiej strony, jeśli twoim celem jest nauczenie się algorytmu genetycznego lub jakiejkolwiek innej części pola sztucznej inteligencji/uczenia maszynowego, powinieneś zrobić dokładnie to, co phs zasugerował i poszukać książki, wykładu audio, zapisać się na zajęcia z tego przedmiotu. lub coś podobnego.

12

To jest trudna część GA (dobrze, że i reprezentacja danych) i naprawdę można się tylko uczyć przez doświadczenie.

Stwierdzając oczywiste, funkcja musi być coś, co mierzy, jak dobre są wyniki. W szczególności musi być płynny w szerokim zakresie danych - niezależnie od danych, funkcja fitness musi wskazywać właściwą drogę do poprawy.

Tak więc, na przykład, funkcja fitness, która wynosi zero, chyba że odpowiedź jest właściwa, nie jest dobra, ponieważ nie pomaga zbliżyć się do właściwej odpowiedzi, gdy zaczynasz.

Funkcja fitness, która zwiększa się, gdy rzeczy się poprawiają, ale nie identyfikuje najlepszego rozwiązania, również nie jest zbyt dobra, ponieważ populacja poprawi się do pewnego poziomu, a następnie utknie.

Musisz usiąść, napisać kilka przykładów swoich danych, a następnie zastanów się, z której funkcji możesz skorzystać. Potrzebujesz czegoś, co daje niskie wartości dla złych danych i wysokie wartości dla dobrych danych. I to ładnie się między nimi dopasowuje.

Wypróbuj każdy szalony pomysł, jaki możesz wymyślić, a następnie zobacz, jak możesz umieścić to w miłej matematycznej formie. Po prostu burz mózgów, próbuj dalej i powtarzaj ...prawdopodobnie okaże się, że Twój pierwszy wybór nie jest tak dobry, a gdy uruchomisz GA, będziesz w stanie spojrzeć na to, co dzieje się bardziej szczegółowo i poprawić go.

+0

To sprawia, że ​​myślę, że moglibyśmy prawdopodobnie określić funkcję fitness, aby sprawdzić, jak dobrze funkcjonuje fitness! – weltschmerz

Powiązane problemy