Selección de parámetros para algoritmo genético.

9

¿Cómo se puede seleccionar el número adecuado de parámetros para que un algoritmo genético modele un sistema dado?

Por ejemplo, supongamos que desea optimizar la producción de automóviles, y tiene 1,000 mediciones de eficiencia por hora en diversas tareas para cada uno de 1,000 empleados diferentes. Entonces, tienes 1,000,000 de puntos de datos. Es probable que la mayoría de estos se correlacionen débilmente con la eficiencia general de su fábrica, pero no tan débilmente que pueda decir que son irrelevantes con la confianza estadística. ¿Cómo hace para elegir entradas para su AG de modo que no tenga más de 1,000,000 de grados de libertad, lo que resulta en una convergencia muy lenta o ninguna convergencia?

Específicamente, ¿cuáles son los algoritmos que uno podría usar para preseleccionar o eliminar selectivamente las características?

Un enfoque que he utilizado en este escenario es evolucionar la selección de parámetros en sí, por lo que podría tener padres como {a,b,c}, {b,d,e,q,x,y,z}etc. Luego mutaría a los niños para agregar o quitar funciones. Esto funciona bien para algunas docenas de funciones. Pero el problema es que es ineficiente si hay una gran cantidad de grados de libertad. En ese caso, está buscando 10^ncombinaciones (en el ejemplo anterior 10^1,000,000), lo que hace que el filtrado previo de las características sea crítico para obtener cualquier tipo de rendimiento útil.

elixenida
fuente

Respuestas:

11

En primer lugar, el ejemplo no parece adecuado porque probablemente usaría alguna regresión o métodos clásicos de ML para resolver esto. En segundo lugar, se refiere a un problema general de selección de características (Kira, Rendell, 1992) o selección de atributos (Hall, Holmes, 2003) o selección de variables (Guyon, Elisseeff, 2003) o selección de subconjunto variable (Stecking, Schebesch, 2005) o extracción de características (Hillion, Masson, Roux, 1988) o reducción de dimensionalidad (Roweis, Saul, 200) o abstracción de estado (Amarel, 1968). Este problema es relevante no solo para los algoritmos genéticos, sino para casi todas las técnicas de aprendizaje automático cuando se trata de datos de alta dimensión.

Aquí se pueden distinguir tres casos: la última instancia de este problema, conocida como abstracción de estado, generalmente está relacionada con el modelado de procesos (que se adapta a su ejemplo, pero no al contexto de GA). Los primeros tres, es decir , la selección de características , la selección de atributos o la selección de variables, parecen ser los más relevantes al tomar su pregunta literalmente. En este contexto, una solución común es el enfoque mRMR (Peng, Long, Ding, 2005) . Desde mi experiencia, no siempre funciona bien con datos continuos; sin embargo, la información mutua puede sustituirse por otros coeficientes, como la correlación, por ejemplo. Otro enfoque posible es utilizar la validación cruzada (Picard, Cook, 1984)para esto. Puede tener varios modelos, cada uno con diferentes características, y mediante la selección de modelos con técnicas de validación cruzada, puede elegir el mejor modelo, que le brinda la información sobre qué características funcionan mejor para la tarea dada.

Los casos de extracción de características y reducción de dimensionalidad permiten no solo seleccionar características iniciales, sino también sus combinaciones. Una solución de ejemplo bien conocida para este caso es el algoritmo PCA (Pearson, 1901) , que produce el conjunto óptimo, en términos de varianza explicada, de combinaciones lineales de características de entrada.

También tenga en cuenta que hay muchos modelos que manejan la tarea de extracción de características por sí mismos. Algunos ejemplos son: Growing Neural Gas Network (Fritzke, 1995) , LASSO (Tibshirani, 2011) , RFE SVM (Zeng, Chen, Tao, 2009) , Decision Trees (Quinlan, 1986) .

Referencias

BartoszKP
fuente
3

Nunca he hecho esto antes, y obviamente no tengo acceso a dichos datos, pero una forma potencialmente buena de hacerlo sería a través de la agrupación . Para cada empleado, tenemos un vector n-dimensional, donde cada dimensión responde a una tarea diferente. Luego, podemos usar la agrupación para agrupar empleados "similares"; sin embargo, esto dependerá únicamente de sus datos, es decir, es muy posible que con solo 1000 empleados, la agrupación produzca grupos de empleados que no estén realmente tan relacionados, por lo que si bien podemos obtener una reducción en la población, puede ser a expensas de la pérdida de información.

Steve P.
fuente