Comment sélectionner le nombre approprié de paramètres pour un algorithme génétique pour modéliser un système donné?
Par exemple, supposons que vous souhaitiez optimiser la production de voitures et que vous disposiez de 1 000 mesures d'efficacité horaire pour différentes tâches pour chacun des 1 000 employés différents. Donc, vous avez 1 000 000 de points de données. La plupart de ces facteurs sont susceptibles d'être faiblement corrélés à l'efficacité globale de votre usine, mais pas si faiblement que vous pouvez dire qu'ils ne sont pas pertinents pour la fiabilité statistique. Comment procédez-vous pour choisir des entrées pour votre GA afin de ne pas avoir plus de 1 000 000 degrés de liberté, ce qui entraîne une convergence très lente ou aucune convergence?
Plus précisément, quels sont les algorithmes que l'on pourrait utiliser pour présélectionner ou éliminer sélectivement des fonctionnalités?
Une approche que j'ai moi-même utilisée dans ce scénario consiste à faire évoluer la sélection des paramètres elle-même, de sorte que je pourrais avoir des parents comme `` {a,b,c}
, {b,d,e,q,x,y,z}
etc. Je muterais alors les enfants pour ajouter ou supprimer des fonctionnalités. Cela fonctionne bien pour quelques dizaines de fonctionnalités. Mais le problème est qu'il est inefficace s'il y a un grand nombre de degrés de liberté. Dans ce cas, vous examinez les 10^n
combinaisons (dans l'exemple ci-dessus 10^1,000,000
), ce qui rend un pré-filtrage des fonctionnalités essentiel pour obtenir tout type de performances utiles.