Как можно выбрать правильное количество параметров для генетического алгоритма для моделирования данной системы?
Например, скажем, вы хотите оптимизировать производство автомобилей, и у вас есть 1000 измерений почасовой эффективности для различных задач для каждого из 1000 различных сотрудников. Итак, у вас есть 1 000 000 точек данных. Большинство из них, вероятно, будут слабо коррелировать с общей эффективностью вашего предприятия, но не настолько слабо, чтобы вы могли сказать, что они не имеют отношения к статистической достоверности. Как вы выбираете входные данные для своего GA, чтобы у вас не было более 1 000 000 степеней свободы, что приводило к очень медленной конвергенции или ее отсутствию вообще?
В частности, какие алгоритмы можно использовать для предварительного выбора или выборочного устранения признаков?
Один подход , который я использовал себя в этом сценарии эволюционировать выбор параметров сам, так что я мог бы иметь родителей , как {a,b,c}
, {b,d,e,q,x,y,z}
и так далее. Затем я бы мутировал детей, чтобы добавлять или удалять функции. Это хорошо работает для нескольких десятков функций. Но проблема в том, что это неэффективно, если существует большое количество степеней свободы. В этом случае вы смотрите на 10^n
комбинации (в приведенном выше примере 10^1,000,000
), что делает некоторую предварительную фильтрацию функций критически важной для получения какой-либо полезной производительности.
источник