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^n
kombinacje (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.