Seleção de parâmetros para algoritmo genético

9

Como se pode selecionar o número adequado de parâmetros para um algoritmo genético modelar um determinado sistema?

Por exemplo, suponha que você queira otimizar a produção de carros e tenha 1.000 medições de eficiência horária em várias tarefas para cada um dos 1.000 funcionários diferentes. Então, você tem 1.000.000 de pontos de dados. É provável que a maioria delas esteja fracamente correlacionada com a eficiência geral de sua fábrica, mas não tão fracamente que você possa dizer que elas são irrelevantes com a confiança estatística. Como você escolhe as entradas do seu GA para não ter mais de 1.000.000 de graus de liberdade, resultando em convergência muito lenta ou nenhuma convergência?

Especificamente, quais são os algoritmos que se pode usar para pré-selecionar ou eliminar seletivamente os recursos?

Uma abordagem que me usei nesse cenário é evoluir a própria seleção de parâmetros, para que eu possa ter pais como {a,b,c}, {b,d,e,q,x,y,z}etc. Eu mudaria as crianças para adicionar ou descartar recursos. Isso funciona bem para algumas dezenas de recursos. Mas o problema é que é ineficiente se houver um grande número de graus de liberdade. Nesse caso, você está olhando para 10^ncombinações (no exemplo acima 10^1,000,000), o que torna crítica a pré-filtragem de recursos para obter qualquer tipo de desempenho útil.

elixenida
fonte

Respostas:

11

Primeiro de tudo - o exemplo não parece adequado, porque você provavelmente usaria alguns métodos clássicos de regressão ou ML para resolver isso. Em segundo lugar - você está se referindo a um problema geral de seleção de características (Kira, Rendell, 1992) ou seleção de atributos (Hall, Holmes, 2003) ou seleção de variáveis (Guyon, Elisseeff, 2003) ou seleção de subconjuntos variáveis (Stecking, Schebesch, 2005) ou extração de características (Hillion, Masson, Roux, 1988) ou redução de dimensionalidade (Roweis, Saul, 200) ou abstração de estado (Amarel, 1968). Esse problema é relevante não apenas para algoritmos genéticos, mas para quase todas as técnicas de aprendizado de máquina ao lidar com dados de alta dimensão.

Três casos podem ser distinguidos aqui: a última instância deste problema, conhecida como abstração de estado, geralmente está relacionada à modelagem de processos (que se adapta ao seu exemplo, mas não ao contexto do GA). Os três primeiros, ou seja , seleção de recursos , seleção de atributos ou seleção de variáveis, parecem ser mais relevantes quando a pergunta é literal. Nesse contexto, uma solução comum é a abordagem mRMR (Peng, Long, Ding, 2005) . Pela minha experiência, nem sempre funciona bem com dados contínuos - no entanto, informações mútuas podem ser substituídas por outros coeficientes, como correlação, por exemplo. Outra abordagem possível é usar a validação cruzada (Picard, Cook, 1984)por esta. Você pode ter vários modelos, cada um usando recursos diferentes, e por meio da seleção de modelos com técnicas de validação cruzada, você escolhe o melhor modelo, que fornece as informações sobre quais recursos funcionam melhor para a tarefa especificada.

Os casos de extração e redução de dimensionalidade de recursos permitem não apenas selecionar recursos iniciais, mas também suas combinações. Um exemplo bem conhecido de solução para este caso é o algoritmo PCA (Pearson, 1901) , que produz o conjunto ótimo de recursos em termos de variação explicada, sendo combinações lineares de recursos de entrada.

Observe também que existem muitos modelos que lidam com tarefas de extração de recursos sozinhos. Alguns exemplos são: Growing Neural Gas Network (Fritzke, 1995) , LASSO (Tibshirani, 2011) , RFE SVM (Zeng, Chen, Tao, 2009) , Decision Trees (Quinlan, 1986) .

Referências:

BartoszKP
fonte
3

Eu nunca fiz isso antes e, obviamente, não tenho acesso aos dados mencionados, mas uma maneira potencialmente boa de fazer isso seria através do agrupamento . Para cada funcionário, temos um vetor n-dimensional, em que cada dimensão corresponde a uma tarefa diferente. Em seguida, podemos usar o agrupamento para agrupar funcionários "semelhantes"; no entanto, isso dependerá exclusivamente dos seus dados, ou seja, é possível que, com apenas 1000 funcionários, esse agrupamento produza grupos de funcionários que não sejam realmente tão relacionados, e, embora possamos obter uma redução na população, pode estar à custa da perda de informações.

Steve P.
fonte