La ingeniería de funciones es el proceso de usar un dominio de datos para crear funciones necesarias para el aprendizaje automático . La ingeniería de funciones es la base de las aplicaciones de aprendizaje automático y es difícil y costosa. La necesidad de ingeniería de características manual puede evitarse mediante la automatización del aprendizaje de características aplicadas .
La ingeniería de características es un campo informal, pero se considera esencial en el aprendizaje automático.
Es difícil encontrar signos, se necesita mucho tiempo y un conocimiento profundo. El "aprendizaje automático aplicado" es básicamente ingeniería de características.
—Andrew Eun [1]Un signo es una cualidad o propiedad inherente a todos los objetos independientes, cuyo análisis o pronóstico hacemos. Cualquier cualidad puede ser útil si es útil para el modelo.
El significado de una característica y cómo se diferencia de la calidad sería más fácil de entender en el contexto del problema. Un signo es una característica que puede ayudar a resolver un problema [2] .
Las características de sus datos son importantes para los modelos predictivos que utiliza y afectan el resultado que obtendrá. La calidad y cantidad de características tienen una gran influencia en la calidad del modelo, sea bueno o no [3] .
Podemos decir que cuanto mejores sean los signos, mejor será el resultado. Esto no es del todo cierto, ya que el resultado dependerá del modelo y los datos, no solo de las características seleccionadas. Pero la selección de los rasgos correctos sigue siendo un asunto muy importante. Mejores características pueden dar un modelo más simple y más flexible y, a menudo, dan mejores resultados [2] .
Los algoritmos aplicados son muy estándar entre los miembros de la comunidad Kaggle . […] Dedicamos la mayor parte de nuestro esfuerzo a la ingeniería de funciones. [...] También tenemos mucho cuidado de descartar características que podrían correr el riesgo de sobreajustar nuestro modelo.
—Xavier Conort [4]…algunos proyectos de aprendizaje automático tienen éxito y otros fracasan. ¿Qué lleva a esto? Los factores más importantes son las características utilizadas.
— Pedro Domingos [5]El proceso de construcción de características es [6]
Una función puede ser estrictamente significativa (tiene información que no existe en otras funciones), significativa, débilmente significativa (contiene información que puede estar contenida en otras funciones) o insignificante [7] . Es importante crear muchas características, incluso si algunas de ellas son insignificantes, no puedes simplemente descartarlas. Luego , la selección de funciones se puede utilizar para evitar el sobreajuste [8] .
Una explosión de funciones puede ser causada por una combinación de funciones o patrones de funciones, lo que lleva a un rápido aumento en el número total de funciones.
Hay varias soluciones para detener la explosión de funciones, como la regularización , el método kernel , la selección de funciones [9] .
La automatización de la ingeniería de características se ha convertido en un nuevo tema de investigación en el mundo académico. En 2015, los investigadores del MIT introdujeron el algoritmo "Deep Feature Synthesis" y demostraron su desempeño en una competencia de ciencia de datos en línea donde el algoritmo venció a 615 de 906 equipos humanos [10] [11] . El algoritmo Deep Feature Synthesis está disponible como una biblioteca de código abierto llamada Featuretools . Este trabajo ha sido continuado por otros investigadores, incluidos OneBM [12] de IBM y ExploreKit [ 13 ] de Berkeley . Los investigadores de IBM dicen que la automatización de la ingeniería de características “ayuda a los científicos a reducir el tiempo de exploración de datos al permitir experimentos de prueba y error en un corto período de tiempo. Por otro lado, permite, sin ser un experto, es decir, sin estar familiarizado con los métodos de análisis de datos, seleccionar rápidamente un valor de los datos con poco esfuerzo, tiempo y dinero.
Han surgido productos comerciales de nuevas empresas que se centran en el aprendizaje automático, como H20.ai [14] y Feature Labs [15] .
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|