artificial-intelligence - resumen - machine learning
Cómo diseñar las características para el aprendizaje automático (1)
¿Tiene algunos consejos o lee cómo diseñar funciones para una tarea de aprendizaje automático? Las buenas características de entrada son importantes incluso para una red neuronal. Las características elegidas afectarán la cantidad necesaria de neuronas ocultas y la cantidad necesaria de ejemplos de entrenamiento.
El siguiente es un problema de ejemplo, pero estoy interesado en la ingeniería de características en general.
Un ejemplo de motivación: ¿Cuál sería una buena entrada al mirar un rompecabezas (por ejemplo, 15-puzzle o Sokoban )? ¿Sería posible reconocer cuál de los dos estados está más cerca de la meta?
La buena ingeniería de características involucra dos componentes. El primero es comprender las propiedades de la tarea que intentas resolver y cómo pueden interactuar con las fortalezas y limitaciones del clasificador que estás utilizando. El segundo es el trabajo experimental en el que probará sus expectativas y descubrirá qué funciona realmente y qué no.
Esto se puede hacer de forma iterativa: su comprensión de arriba hacia abajo del problema motiva los experimentos, y luego la información de abajo hacia arriba que aprende para esos experimentos lo ayuda a obtener una mejor comprensión del problema. La comprensión más profunda del problema puede generar más experimentos.
Ajuste de características a su clasificador
Digamos que estás usando un clasificador lineal simple como logistic-regression o un SVM con un kernel lineal. Si cree que puede haber interacciones interesantes entre varios atributos que puede medir y proporcionar como entrada para el clasificador, necesitará construir y proporcionar manualmente características que capturen esas interacciones. Sin embargo, si está utilizando un SVM con un núcleo polinómico o gaussiano, las interacciones entre las variables de entrada ya serán capturadas por la estructura del modelo.
Del mismo modo, las SVM pueden tener un rendimiento bajo si algunas variables de entrada adquieren un rango de valores mucho más grande que otras (por ejemplo, la mayoría de las características toman un valor de 0 o 1, pero una característica toma valores entre -1000 y 1000). Entonces, cuando esté haciendo ingeniería de características para una SVM, puede intentar normalizar los valores de sus características antes de proporcionarlas al clasificador. Sin embargo, si está utilizando árboles de decisión o bosques aleatorios , dicha normalización no es necesaria, ya que estos clasificadores son robustos a las diferencias de magnitud entre los valores asumidos por varias características.
Notas específicamente sobre la resolución de rompecabezas
Si está buscando resolver un problema con un espacio de estado complejo, es posible que desee utilizar un enfoque de aprendizaje reforzado como Q-learning . Esto ayuda a estructurar las tareas de aprendizaje que implican alcanzar algún objetivo mediante una serie de pasos intermedios del sistema.