Wybór parametrów algorytmu genetycznego

9

Jak wybrać odpowiednią liczbę parametrów dla algorytmu genetycznego do modelowania danego systemu?

Powiedzmy na przykład, że chcesz zoptymalizować produkcję samochodów i masz 1000 pomiarów wydajności godzinowej przy różnych zadaniach dla każdego z 1000 różnych pracowników. Masz więc 1 000 000 punktów danych. Większość z nich prawdopodobnie będzie słabo skorelowana z ogólną wydajnością twojej fabryki, ale nie tak słabo, że można powiedzieć, że są nieistotne z pewnością statystyczną. Jak zabierasz się za zbieranie danych wejściowych dla GA, aby nie mieć ponad 1 000 000 stopni swobody, co powoduje bardzo powolną konwergencję lub jej brak?

W szczególności, jakich algorytmów można użyć do wstępnego wyboru lub selektywnej eliminacji funkcji?

Jedno podejście Użyłem się w tym scenariuszu jest ewoluować wybór parametru sam, więc może mam rodziców chce {a,b,c}, {b,d,e,q,x,y,z}i tak dalej. Następnie mutowałbym dzieci, aby dodawać lub upuszczać funkcje. Działa to dobrze w przypadku kilkudziesięciu funkcji. Problem polega jednak na tym, że jest nieefektywny, jeśli istnieje duża liczba stopni swobody. W takim przypadku patrzysz na 10^nkombinacje (w powyższym przykładzie 10^1,000,000), co sprawia, że ​​niektóre wstępne filtrowanie funkcji ma kluczowe znaczenie dla uzyskania jakiejkolwiek użytecznej wydajności.

eliksenid
źródło

Odpowiedzi:

11

Przede wszystkim - przykład nie wydaje się odpowiedni, ponieważ prawdopodobnie użyłbyś do tego niektórych regresji lub klasycznych metod ML. Po drugie - masz na myśli ogólny problem wyboru funkcji (Kira, Rendell, 1992) lub wyboru atrybutów (Hall, Holmes, 2003) lub wyboru zmiennych (Guyon, Elisseeff, 2003) lub wyboru podzbiorów zmiennych (Stecking, Schebesch, 2005) lub wyodrębnienie funkcji (Hillion, Masson, Roux, 1988) lub zmniejszenie wymiarowości (Roweis, Saul, 200) lub abstrakcja stanu (Amarel, 1968). Ten problem dotyczy nie tylko algorytmów genetycznych, ale prawie wszystkich technik uczenia maszynowego w przypadku danych o dużych wymiarach.

Można tu wyróżnić trzy przypadki: ostatnia instancja tego problemu, zwana abstrakcją stanu, jest zwykle związana z modelowaniem procesu (co pasuje do twojego przykładu, ale nie w kontekście GA). Pierwsze trzy, czyli wybór funkcji , wybór atrybutu lub zmienna wybór wydaje się być najbardziej istotne przy podejmowaniu zapytanie dosłownie. W tym kontekście powszechnym rozwiązaniem jest podejście mRMR (Peng, Long, Ding, 2005) . Z mojego doświadczenia wynika, że ​​nie zawsze dobrze działa z ciągłymi danymi - jednak wzajemne informacje można zastąpić innymi współczynnikami, takimi jak na przykład korelacja. Innym możliwym podejściem jest stosowanie weryfikacji krzyżowej (Picard, Cook, 1984)dla tego. Możesz mieć wiele modeli, z których każdy używa różnych funkcji, a poprzez wybór modelu za pomocą technik weryfikacji krzyżowej wybierasz najlepszy model, który daje informacje o tym, które funkcje najlepiej działają dla danego zadania.

Do ekstrakcji funkcja i redukcji wymiarowości przypadki pozwalają nie tylko wybrać początkowe możliwości, ale także ich kombinacje. Dobrze znanym przykładem tego rozwiązania jest algorytm PCA (Pearson, 1901) , który zapewnia optymalny pod względem wyjaśnionej wariancji zestaw cech będących liniowymi kombinacjami cech wejściowych.

Należy również pamiętać, że istnieje wiele modeli, które same wykonują zadanie wyodrębniania funkcji. Niektóre przykłady to: Growing Neural Gas Network (Fritzke, 1995) , LASSO (Tibshirani, 2011) , RFE SVM (Zeng, Chen, Tao, 2009) , Drzewa decyzyjne (Quinlan, 1986) .

Bibliografia:

BartoszKP
źródło
3

Nigdy wcześniej tego nie robiłem i oczywiście nie mam dostępu do tych danych, ale potencjalnie dobrym sposobem na to byłoby tworzenie klastrów . Dla każdego pracownika mamy n-wymiarowy wektor, w którym każdy wymiar odpowiada co innego zadaniu. Następnie możemy użyć grupowania do grupowania „podobnych” pracowników; będzie to jednak zależeć wyłącznie od twoich danych, tzn. jest całkiem możliwe, że biorąc pod uwagę tylko 1000 pracowników, tworzenie klastrów da grupy pracowników, które nie są tak naprawdę powiązane, a więc chociaż możemy zmniejszyć liczbę ludności, może odbywać się kosztem utraty informacji.

Steve P.
źródło