Construcción de características

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]

Signos

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] .

Importancia de las características

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

El proceso de construcción de características es [6]

  1. Lluvia de ideas o verificación de características ;
  2. Decidir qué señales crear;
  3. Creación de rótulos;
  4. Comprobar qué características funcionan con su modelo;
  5. Mejora de la señalización, si se requiere;
  6. Regrese al método de lluvia de ideas/cree otras características hasta que se complete el trabajo.

Importancia de las características

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] .

Explosión de señales

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] .

Construcción automática de características

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] .

Véase también

Notas

  1. Aprendizaje automático e IA a través de simulaciones cerebrales . Universidad de Stanford . Consultado el 3 de agosto de 2017. Archivado desde el original el 22 de diciembre de 2018.
  2. ↑ 1 2 Descubra la ingeniería de características, cómo diseñar características y cómo ser bueno en eso: dominio del aprendizaje automático . Dominio del aprendizaje automático . Consultado el 11 de noviembre de 2015. Archivado desde el original el 4 de marzo de 2016.
  3. Feature Engineering: ¿Cómo transformar variables y crear otras nuevas? . Analytics Vidhya (12 de marzo de 2015). Consultado el 12 de noviembre de 2015. Archivado desde el original el 5 de marzo de 2016.
  4. Preguntas y respuestas con Xavier Conort . www.kaggle.com (2015). Consultado el 1 de noviembre de 2015. Archivado desde el original el 27 de noviembre de 2015.
  5. Domingos, Pedro Algunas cosas útiles que debe saber sobre el aprendizaje automático . Consultado el 12 de noviembre de 2015. Archivado desde el original el 23 de enero de 2016.
  6. Big Data: Semana 3 Video 3 - Ingeniería de funciones . youtube.com . Consultado el 30 de octubre de 2018. Archivado desde el original el 16 de marzo de 2016.
  7. ^ Ingeniería de funciones (22 de abril de 2010). Consultado el 12 de noviembre de 2015. Archivado desde el original el 6 de septiembre de 2015.
  8. Ingeniería y selección de características . Alexandre Bouchard-Côte. Consultado el 12 de noviembre de 2015. Archivado desde el original el 14 de marzo de 2016.
  9. Ingeniería de características en Machine Learning (enlace descendente) . Zdenek Zabokrtsky. Consultado el 12 de noviembre de 2015. Archivado desde el original el 4 de marzo de 2016. 
  10. Automatización del análisis de big data . Consultado el 30 de octubre de 2018. Archivado desde el original el 14 de septiembre de 2019.
  11. Síntesis profunda de funciones: hacia la automatización de los esfuerzos de ciencia de datos . Consultado el 30 de octubre de 2018. Archivado desde el original el 18 de agosto de 2019.
  12. Máquina de un botón para automatizar la ingeniería de características en bases de datos relacionales . Consultado el 30 de octubre de 2018. Archivado desde el original el 4 de octubre de 2019.
  13. ExploreKit: Generación y selección automática de características . Consultado el 30 de octubre de 2018. Archivado desde el original el 4 de octubre de 2019.
  14. H2O.AI obtiene una inversión de $40 millones de la Serie C liderada por Wells Fargo y Nvidia . Consultado el 30 de octubre de 2018. Archivado desde el original el 1 de noviembre de 2018.
  15. Feature Labs se lanza fuera del MIT para acelerar el desarrollo de algoritmos de aprendizaje automático . Consultado el 30 de octubre de 2018. Archivado desde el original el 1 de diciembre de 2018.

Literatura