stringtranslate.com

Ingeniería de características

La ingeniería de funciones , un paso de preprocesamiento en el aprendizaje automático supervisado y el modelado estadístico , [1] transforma los datos sin procesar en un conjunto de entradas más efectivo. Cada entrada comprende varios atributos, conocidos como características. Al proporcionar a los modelos información relevante, la ingeniería de características mejora significativamente su precisión predictiva y su capacidad de toma de decisiones. [2] [3]

Más allá del aprendizaje automático, los principios de la ingeniería de características se aplican en diversos campos científicos, incluida la física. Por ejemplo, los físicos construyen números adimensionales como el número de Reynolds en dinámica de fluidos , el número de Nusselt en transferencia de calor y el número de Arquímedes en sedimentación . También desarrollan primeras aproximaciones de soluciones, como soluciones analíticas para la resistencia de materiales en mecánica. [4]

Modelado predictivo

La ingeniería de funciones en el aprendizaje automático y el modelado estadístico implica seleccionar, crear, transformar y extraer funciones de datos. Los componentes clave incluyen la creación de características a partir de datos existentes, la transformación e imputación de características faltantes o no válidas, la reducción de la dimensionalidad de los datos a través de métodos como el Análisis de Componentes Principales (PCA), el Análisis de Componentes Independientes (ICA) y el Análisis Discriminante Lineal (LDA), y la selección de los más relevantes. Características para el entrenamiento de modelos basadas en puntuaciones de importancia y matrices de correlación . [5]

Las características varían en importancia. [6] Incluso características relativamente insignificantes pueden contribuir a un modelo. La selección de funciones puede reducir la cantidad de funciones para evitar que un modelo se vuelva demasiado específico para el conjunto de datos de entrenamiento (sobreajuste). [7]

La explosión de características ocurre cuando la cantidad de características identificadas es demasiado grande para una estimación u optimización efectiva del modelo. Las causas comunes incluyen:

La explosión de funciones se puede limitar mediante técnicas como: regularización , métodos del kernel y selección de funciones . [8]

Automatización

La automatización de la ingeniería de funciones es un tema de investigación que se remonta a la década de 1990. [9] El software de aprendizaje automático que incorpora ingeniería de funciones automatizada está disponible comercialmente desde 2016. [10] La literatura académica relacionada se puede dividir aproximadamente en dos tipos:

Aprendizaje de árboles de decisión multirelacional (MRDTL)

El aprendizaje de árboles de decisión multirelacional (MRDTL) extiende los métodos tradicionales de árboles de decisión a bases de datos relacionales , manejando relaciones de datos complejas entre tablas. Utiliza de forma innovadora gráficos de selección como nodos de decisión , refinados sistemáticamente hasta alcanzar un criterio de terminación específico. [9]

La mayoría de los estudios MRDTL basan sus implementaciones en bases de datos relacionales, lo que resulta en muchas operaciones redundantes. Estas redundancias se pueden reducir mediante el uso de técnicas como la propagación de ID de tupla. [11] [12]

Implementaciones de código abierto

Existen varias bibliotecas y herramientas de código abierto que automatizan la ingeniería de funciones en datos relacionales y series temporales:

Síntesis profunda de características

El algoritmo de síntesis profunda de características (DFS) venció a 615 de 906 equipos humanos en una competencia. [29] [30]

Tiendas de características

El almacén de funciones es donde se almacenan y organizan las funciones con el propósito explícito de usarse para entrenar modelos (por científicos de datos) o hacer predicciones (por aplicaciones que tienen un modelo entrenado). Es una ubicación central donde puede crear o actualizar grupos de características creadas a partir de múltiples fuentes de datos diferentes, o crear y actualizar nuevos conjuntos de datos a partir de esos grupos de características para entrenar modelos o para usar en aplicaciones que no desean calcular las características sino simplemente recuperarlos cuando los necesite para hacer predicciones. [31]

Un almacén de funciones incluye la capacidad de almacenar código utilizado para generar funciones, aplicar el código a datos sin procesar y ofrecer esas funciones a los modelos que lo soliciten. Las capacidades útiles incluyen control de versiones de funciones y políticas que rigen las circunstancias bajo las cuales se pueden utilizar las funciones. [32]

Las tiendas de funciones pueden ser herramientas de software independientes o integrarse en plataformas de aprendizaje automático.

Alternativas

La ingeniería de funciones puede ser un proceso lento y propenso a errores, ya que requiere experiencia en el dominio y, a menudo, implica prueba y error. [33] [34] Los algoritmos de aprendizaje profundo se pueden utilizar para procesar un gran conjunto de datos sin procesar sin tener que recurrir a la ingeniería de funciones. [35] Sin embargo, es importante tener en cuenta que los algoritmos de aprendizaje profundo aún requieren un preprocesamiento y una limpieza cuidadosos de los datos de entrada. [36] Además, elegir la arquitectura, los hiperparámetros y el algoritmo de optimización adecuados para una red neuronal profunda puede ser un proceso desafiante e iterativo. [37]

Ver también

Referencias

  1. ^ Hastie, Trevor; Tibshirani, Robert; Friedman, Jerome H. (2009). Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción. Saltador. ISBN 978-0-387-84884-6.
  2. ^ Shalev-Shwartz, Shai; Ben-David, Shai (2014). Comprensión del aprendizaje automático: de la teoría a los algoritmos . Cambridge: Prensa de la Universidad de Cambridge. ISBN 9781107057135.
  3. ^ Murphy, Kevin P. (2022). Aprendizaje automático probabilístico . Cambridge, Massachusetts: The MIT Press (Copyright 2022 Instituto de Tecnología de Massachusetts, este trabajo está sujeto a una licencia Creative Commons CC-BY-NC-ND). ISBN 9780262046824.
  4. ^ MacQueron C (2021). MEZCLA SÓLIDO-LÍQUIDO EN TANQUES AGITADOS: Modelado, Validación, Optimización del Diseño y Predicción de la Calidad de la Suspensión (Informe). doi :10.13140/RG.2.2.11074.84164/1.
  5. ^ "Ingeniería de funciones: lente de aprendizaje automático". docs.aws.amazon.com . Consultado el 1 de marzo de 2024 .
  6. ^ "Ingeniería de funciones" (PDF) . 22 de abril de 2010 . Consultado el 12 de noviembre de 2015 .
  7. ^ "Ingeniería y selección de funciones" (PDF) . Alexandre Bouchard-Côté. 1 de octubre de 2009 . Consultado el 12 de noviembre de 2015 .
  8. ^ "Ingeniería de funciones en aprendizaje automático" (PDF) . Zdenek Zabokrtsky. Archivado desde el original (PDF) el 4 de marzo de 2016 . Consultado el 12 de noviembre de 2015 .
  9. ^ ab Knobbe AJ, Siebes A, Van Der Wallen D (1999). "Inducción del árbol de decisión multirelacional" (PDF) . Principios de minería de datos y descubrimiento de conocimientos . Apuntes de conferencias sobre informática. vol. 1704, págs. 378–383. doi :10.1007/978-3-540-48247-5_46. ISBN 978-3-540-66490-1.
  10. ^ "Se trata de las funciones". Blog de realidad IA . Septiembre de 2017.
  11. ^ Yin X, Han J, Yang J, Yu PS (2004). "CrossMine: clasificación eficiente en múltiples relaciones de bases de datos". Actas. XX Congreso Internacional de Ingeniería de Datos . págs. 399–410. doi :10.1109/ICDE.2004.1320014. ISBN 0-7695-2065-0. S2CID  1183403.
  12. ^ Frank R, Moser F, Ester M (2007). "Un método para la clasificación multirelacional utilizando funciones de agregación de características únicas y múltiples". Descubrimiento de conocimientos en bases de datos: PKDD 2007 . Apuntes de conferencias sobre informática. vol. 4702, págs. 430–437. doi :10.1007/978-3-540-74976-9_43. ISBN 978-3-540-74975-2.
  13. ^ "¿Qué son las herramientas de funciones?" . Consultado el 7 de septiembre de 2022 .
  14. ^ "Featuretools: un marco de Python de código abierto para la ingeniería de funciones automatizada" . Consultado el 7 de septiembre de 2022 .
  15. ^ "github: alteryx/featuretools". GitHub . Consultado el 7 de septiembre de 2022 .
  16. ^ Thanh Lam, Hoang; Thiebaut, Johann-Michael; Sinn, Mathieu; Chen, Bei; Mai, Tiep; Alkan, Oznur (1 de junio de 2017). "Máquina de un botón para automatizar la ingeniería de funciones en bases de datos relacionales". arXiv : 1706.00327 [cs.DB].
  17. ^ Thanh Lam, Hoang; Thiebaut, Johann-Michael; Sinn, Mathieu; Chen, Bei; Mai, Tiep; Alkan, Oznur (1 de junio de 2017). "Máquina de un botón para automatizar la ingeniería de funciones en bases de datos relacionales". arXiv : 1706.00327 [cs.DB].
  18. ^ "obtener documentación de ML" . Consultado el 7 de septiembre de 2022 .
  19. ^ "github: getml/getml-comunidad". GitHub . Consultado el 7 de septiembre de 2022 .
  20. ^ "github: getml/getml-comunidad". GitHub . Consultado el 7 de septiembre de 2022 .
  21. ^ "github: getml/getml-comunidad". GitHub . Consultado el 7 de septiembre de 2022 .
  22. ^ "documentación tsfresh" . Consultado el 7 de septiembre de 2022 .
  23. ^ "Extracción de características de series temporales sobre la base de pruebas de hipótesis escalables (tsfresh: un paquete de Python)" . Consultado el 7 de septiembre de 2022 .
  24. ^ "predecir-idlab/tsflex". GitHub . Consultado el 7 de septiembre de 2022 .
  25. ^ Van Der Donckt, Jonás; Van Der Donckt, Jeroen; Deprost, Emiel; Van Hoecke, Sofie (2022). "tsflex: procesamiento flexible de series temporales y extracción de características". SoftwareX . 17 : 100971. arXiv : 2111.12429 . Código Bib : 2022SoftX..1700971V. doi :10.1016/j.softx.2021.100971. S2CID  244527198 . Consultado el 7 de septiembre de 2022 .
  26. ^ "guía del usuario de seglearn" . Consultado el 7 de septiembre de 2022 .
  27. ^ "¡Bienvenido a la documentación de TSFEL!" . Consultado el 7 de septiembre de 2022 .
  28. ^ "github: facebookresearch/Kats". GitHub . Consultado el 7 de septiembre de 2022 .
  29. ^ "Automatización del análisis de big data". 16 de octubre de 2015.
  30. ^ Kanter, James Max; Veeramachaneni, Kalyan (2015). "Síntesis profunda de funciones: hacia la automatización de los esfuerzos de ciencia de datos". Conferencia internacional IEEE 2015 sobre ciencia de datos y análisis avanzado (DSAA) . págs. 1–10. doi :10.1109/DSAA.2015.7344858. ISBN 978-1-4673-8272-4. S2CID  206610380.
  31. ^ "¿Qué es una tienda de funciones?" . Consultado el 19 de abril de 2022 .
  32. ^ "Introducción a las tiendas de funciones" . Consultado el 15 de abril de 2021 .
  33. ^ "Ingeniería de funciones en aprendizaje automático". Programa de Educación en Ingeniería (EngEd) | Sección . Consultado el 21 de marzo de 2023 .
  34. ^ explorarium_admin (25 de octubre de 2021). "Cinco razones por las que la ingeniería de funciones es un desafío". Explorio . Consultado el 21 de marzo de 2023 .
  35. ^ Spiegelhalter, DJ (2019). El arte de la estadística: aprender de los datos. [Londres, Reino Unido. ISBN 978-0-241-39863-0. OCLC  1064776283.{{cite book}}: CS1 maint: location missing publisher (link)
  36. ^ Sarker IH (noviembre de 2021). "Aprendizaje profundo: una descripción general completa de técnicas, taxonomía, aplicaciones y direcciones de investigación". SN Informática . 2 (6): 420. doi :10.1007/s42979-021-00815-1. PMC 8372231 . PMID  34426802. 
  37. ^ Bengio, Yoshua (2012), "Recomendaciones prácticas para el entrenamiento de arquitecturas profundas basado en gradientes", Redes neuronales: trucos del oficio , Apuntes de conferencias en informática, vol. 7700, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 437–478, arXiv : 1206.5533 , doi : 10.1007/978-3-642-35289-8_26, ISBN 978-3-642-35288-1, S2CID  10808461 , consultado el 21 de marzo de 2023

Otras lecturas