
La regresión simbólica ( SR ) es un tipo de análisis de regresión que busca en el espacio de expresiones matemáticas para encontrar el modelo que mejor se ajuste a un conjunto de datos determinado, tanto en términos de precisión como de simplicidad.
No se proporciona ningún modelo particular como punto de partida para la regresión simbólica. En cambio, las expresiones iniciales se forman combinando aleatoriamente bloques de construcción matemáticos como operadores matemáticos , funciones analíticas , constantes y variables de estado . Por lo general, la persona que lo opera especificará un subconjunto de estos primitivos, pero ese no es un requisito de la técnica. El problema de la regresión simbólica para funciones matemáticas se ha abordado con una variedad de métodos, incluida la recombinación de ecuaciones, más comúnmente utilizando programación genética , [1] así como métodos más recientes que utilizan métodos bayesianos [2] y redes neuronales . [3] Otro método alternativo no clásico a SR se llama Originador de Funciones Universales (UFO), que tiene un mecanismo, espacio de búsqueda y estrategia de construcción diferentes. [4] Otros métodos como el Aprendizaje Exacto intentan transformar el problema de ajuste en un problema de momentos en un espacio de funciones naturales, generalmente construido alrededor de generalizaciones de la función Meijer-G . [5]
Al no requerir una especificación a priori de un modelo, la regresión simbólica no se ve afectada por el sesgo humano o las lagunas desconocidas en el conocimiento del dominio . Intenta descubrir las relaciones intrínsecas del conjunto de datos, al dejar que los patrones en los datos mismos revelen los modelos apropiados, en lugar de imponer una estructura de modelo que se considere matemáticamente manejable desde una perspectiva humana. La función de aptitud que impulsa la evolución de los modelos tiene en cuenta no solo las métricas de error (para garantizar que los modelos predigan con precisión los datos), sino también medidas de complejidad especiales, [6] asegurando así que los modelos resultantes revelen la estructura subyacente de los datos de una manera que sea comprensible desde una perspectiva humana. Esto facilita el razonamiento y favorece las probabilidades de obtener información sobre el sistema generador de datos, además de mejorar la generalización y el comportamiento de extrapolación al evitar el sobreajuste . La precisión y la simplicidad pueden dejarse como dos objetivos separados de la regresión (en cuyo caso las soluciones óptimas forman un frente de Pareto ) o pueden combinarse en un solo objetivo por medio de un principio de selección de modelos como la longitud mínima de descripción .
Se ha demostrado que la regresión simbólica es un problema NP-hard , en el sentido de que no siempre se puede encontrar la mejor expresión matemática posible para ajustarse a un conjunto de datos dado en tiempo polinomial . [7] Sin embargo, si la ecuación buscada no es demasiado compleja, es posible resolver el problema de regresión simbólica exactamente generando cada función posible (construida a partir de un conjunto predefinido de operadores) y evaluándolas en el conjunto de datos en cuestión. [8]
Diferencia con la regresión clásica
Mientras que las técnicas de regresión convencionales buscan optimizar los parámetros para una estructura de modelo predefinida, la regresión simbólica evita imponer suposiciones previas y, en cambio, infiere el modelo a partir de los datos. En otras palabras, intenta descubrir tanto las estructuras como los parámetros del modelo.
Este enfoque tiene la desventaja de tener un espacio de búsqueda mucho mayor, porque no solo el espacio de búsqueda en la regresión simbólica es infinito, sino que hay una cantidad infinita de modelos que se ajustarán perfectamente a un conjunto de datos finito (siempre que la complejidad del modelo no esté limitada artificialmente). Esto significa que posiblemente un algoritmo de regresión simbólica tarde más en encontrar un modelo y una parametrización adecuados que las técnicas de regresión tradicionales. Esto se puede atenuar limitando el conjunto de bloques de construcción proporcionados al algoritmo, en función del conocimiento existente del sistema que produjo los datos; pero al final, utilizar la regresión simbólica es una decisión que debe equilibrarse con lo que se sabe sobre el sistema subyacente.
Sin embargo, esta característica de la regresión simbólica también tiene ventajas: dado que el algoritmo evolutivo requiere diversidad para explorar eficazmente el espacio de búsqueda, es probable que el resultado sea una selección de modelos con puntuaciones altas (y su correspondiente conjunto de parámetros). Examinar esta colección podría proporcionar una mejor comprensión del proceso subyacente y permite al usuario identificar una aproximación que se ajuste mejor a sus necesidades en términos de precisión y simplicidad.
Evaluación comparativa
Banco SR
En 2021, SRBench [9] se propuso como un gran punto de referencia para la regresión simbólica. En sus inicios, SRBench incluía 14 métodos de regresión simbólica, otros 7 métodos de ML y 252 conjuntos de datos de PMLB. El punto de referencia pretende ser un proyecto vivo: fomenta la presentación de mejoras, nuevos conjuntos de datos y nuevos métodos, para realizar un seguimiento del estado del arte en SR.
Concurso SRBench 2022
En 2022, SRBench anunció la competencia Interpretable Symbolic Regression for Data Science, que se llevó a cabo en la conferencia GECCO en Boston, MA. La competencia enfrentó a nueve algoritmos de regresión simbólica líderes entre sí en un nuevo conjunto de problemas de datos y consideró diferentes criterios de evaluación. La competencia se organizó en dos pistas, una pista sintética y una pista de datos del mundo real. [10]
Pista sintética
En la pista sintética, se compararon los métodos según cinco propiedades: redescubrimiento de expresiones exactas; selección de características; resistencia a óptimos locales; extrapolación; y sensibilidad al ruido. Las clasificaciones de los métodos fueron:
- QLattice
- PySR (Regresión simbólica de Python)
- uDSR (Optimización simbólica profunda)
Pista del mundo real
En la prueba del mundo real, se entrenaron métodos para construir modelos predictivos interpretables para los recuentos previstos de 14 días de casos de COVID-19, hospitalizaciones y muertes en el estado de Nueva York. Estos modelos fueron revisados por un experto en la materia y se les asignaron calificaciones de confianza y se evaluaron en cuanto a precisión y simplicidad. La clasificación de los métodos fue:
- uDSR (Optimización simbólica profunda)
- QLattice
- Motor genético (Genetic Engine)
Métodos no estándar
La mayoría de los algoritmos de regresión simbólica evitan la explosión combinatoria implementando algoritmos evolutivos que mejoran iterativamente la expresión que mejor se ajusta a lo largo de muchas generaciones. Recientemente, los investigadores han propuesto algoritmos que utilizan otras tácticas en IA .
Silviu-Marian Udrescu y Max Tegmark desarrollaron el algoritmo "AI Feynman", [11] [12] que intenta la regresión simbólica entrenando una red neuronal para representar la función misteriosa, luego ejecuta pruebas contra la red neuronal para intentar dividir el problema en partes más pequeñas. Por ejemplo, si , las pruebas contra la red neuronal pueden reconocer la separación y proceder a resolver para y por separado y con diferentes variables como entradas. Este es un ejemplo de divide y vencerás , que reduce el tamaño del problema para que sea más manejable. AI Feynman también transforma las entradas y salidas de la función misteriosa para producir una nueva función que se puede resolver con otras técnicas, y realiza un análisis dimensional para reducir el número de variables independientes involucradas. El algoritmo fue capaz de "descubrir" 100 ecuaciones de The Feynman Lectures on Physics , mientras que un software líder que utiliza algoritmos evolutivos, Eureqa , resolvió solo 71. AI Feynman, a diferencia de los métodos clásicos de regresión simbólica, requiere un conjunto de datos muy grande para entrenar primero la red neuronal y está naturalmente sesgado hacia ecuaciones que son comunes en la física elemental.
Software
Software de usuario final
- QLattice es una tecnología de aprendizaje automático y simulación de inspiración cuántica que ayuda a buscar en una lista infinita de modelos matemáticos potenciales para resolver un problema. [13] [14]
- Evolutionary Forest es un algoritmo de construcción de características automatizadas basado en programación genética para la regresión simbólica. [15] [16]
- uDSR es un marco de aprendizaje profundo para tareas de optimización simbólica [17]
- dCGP, Programación Genética Cartesiana Diferenciable en Python (gratuita, de código abierto) [18] [19]
- HeuristicLab , un entorno de software para algoritmos heurísticos y evolutivos, incluida la regresión simbólica (gratuito, de código abierto)
- GeneXProTools , una implementación de la técnica de programación de expresión genética para varios problemas, incluida la regresión simbólica (comercial)
- Programación de múltiples expresiones X , una implementación de programación de múltiples expresiones para regresión simbólica y clasificación (gratuita, de código abierto)
- Eureqa , software de regresión simbólica evolutiva (comercial) y biblioteca de software
- TuringBot, software de regresión simbólica basado en recocido simulado (comercial)
- PySR, [20] entorno de regresión simbólica escrito en Python y Julia , que utiliza evolución regularizada, recocido simulado y optimización sin gradiente (gratuito, de código abierto) [21]
- GP-GOMEA, regresión simbólica evolutiva rápida ( back-end C++ ) con interfaz compatible con scikit-learn de Python , logró uno de los mejores equilibrios entre precisión y simplicidad de los modelos descubiertos en SRBench en 2021 (gratis, código abierto)
Véase también
- Expresión en forma cerrada § Conversión de formas numéricas
- Programación genética
- Programación de la expresión genética
- Complejidad de Kolmogorov
- Programación genética lineal
- Optimización matemática
- Programación multiexpresiva
- Análisis de regresión
- Matemáticas inversas
- Sistema de descubrimiento (investigación de IA) [3]
Referencias
- ^ Michael Schmidt; Hod Lipson (2009). "Destilación de leyes naturales de forma libre a partir de datos experimentales". Science . 324 (5923). Asociación Estadounidense para el Avance de la Ciencia: 81– 85. Bibcode :2009Sci...324...81S. CiteSeerX 10.1.1.308.2245 . doi :10.1126/science.1165893. PMID 19342586. S2CID 7366016.
- ^ Ying Jin; Weilin Fu; Jian Kang; Jiadong Guo; Jian Guo (2019). "Regresión simbólica bayesiana". arXiv : 1910.08892 [estad.ME].
- ^ ab Silviu-Marian Udrescu; Max Tegmark (2020). "AI Feynman: Un método inspirado en la física para la regresión simbólica". Science_Advances . 6 (16). Asociación Estadounidense para el Avance de la Ciencia: eaay2631. Bibcode :2020SciA....6.2631U. doi :10.1126/sciadv.aay2631. PMC 7159912 . PMID 32426452.
- ^ Ali R. Al-Roomi; Mohamed E. El-Hawary (2020). "Originador de funciones universales". Computación blanda aplicada . 94 . Elsevier BV: 106417. doi :10.1016/j.asoc.2020.106417. ISSN 1568-4946. S2CID 219743405.
- ^ Benedict WJ Irwin (2021). "Una representación natural de funciones para el aprendizaje exacto" (PDF) (Preimpresión). doi :10.21203/rs.3.rs-149856/v1. S2CID 234014141.
- ^ Ekaterina J. Vladislavleva; Guido F. Smits; Dick Den Hertog (2009). "Orden de no linealidad como medida de complejidad para modelos generados por regresión simbólica a través de programación genética de Pareto" (PDF) . IEEE Transactions on Evolutionary Computation . 13 (2): 333– 349. doi :10.1109/tevc.2008.926486. S2CID 12072764.
- ^ Virgolin, Marco; Pissis, Solon P. (2022). "La regresión simbólica es NP-hard". Transactions on Machine Learning Research .
- ^ Bartlett, Deaglan; Desmond, Harry; Ferreira, Pedro (2023). "Regresión simbólica exhaustiva". IEEE Transactions on Evolutionary Computation . 28 (4): 1. arXiv : 2211.11461 . doi :10.1109/TEVC.2023.3280250. S2CID 253735380.
- ^ La Cava, William; Orzechowski, Patryk; Burlacu, Bogdan; de Franca, Fabricio; Virgolin, Marco; Jin, Ying; Kommenda, Michael; Moore, Jason (2021). "Métodos contemporáneos de regresión simbólica y su rendimiento relativo". Actas del curso de sistemas de procesamiento de información neuronal sobre conjuntos de datos y puntos de referencia . 1 . arXiv : 2107.14351 .
- ^ Michael Kommenda; Guillermo La Cava; Maimuna Majumder; Fabricio Olivetti de Francia; Marco Virgolín. "Concurso SRBench 2022: regresión simbólica interpretable para la ciencia de datos".
- ^ Udrescu, Silviu-Marian; Tegmark, Max (17 de abril de 2020). "AI Feynman: un método inspirado en la física para la regresión simbólica". Science Advances . 6 (16): eaay2631. arXiv : 1905.11481 . Bibcode :2020SciA....6.2631U. doi :10.1126/sciadv.aay2631. ISSN 2375-2548. PMC 7159912 . PMID 32426452.
- ^ Udrescu, Silviu-Marian; Tan, Andrew; Feng, Jiahai; Neto, Orisvaldo; Wu, Tailin; Tegmark, Max (16 de diciembre de 2020). "AI Feynman 2.0: regresión simbólica óptima de Pareto que explota la modularidad de grafos". arXiv : 2006.10782 [cs.LG].
- ^ "Feyn es un módulo de Python para ejecutar QLattice". 22 de junio de 2022.
- ^ Kevin René Broløs; Meera Vieira Machado; Chris Cueva; Jaan Kasak; Valdemar Stentoft-Hansen; Víctor Galindo Batanero; Tom Jelen; Casper Wilstrup (12 de abril de 2021). "Una aproximación a la regresión simbólica utilizando Feyn". arXiv : 2104.05417 [cs.LG].
- ^ Zhang, Hengzhe; Zhou, Aimin; Zhang, Hu (agosto de 2022). "Un bosque evolutivo para la regresión". IEEE Transactions on Evolutionary Computation . 26 (4): 735– 749. doi :10.1109/TEVC.2021.3136667. ISSN 1089-778X.
- ^ Zhang, Hengzhe; Zhou, Aimin; Chen, Qi; Xue, Bing; Zhang, Mengjie (2023). "SR-Forest: un método de aprendizaje de conjuntos heterogéneos basado en programación genética". IEEE Transactions on Evolutionary Computation . 28 (5): 1484– 1498. doi :10.1109/TEVC.2023.3243172. ISSN 1089-778X.
- ^ "Optimización simbólica profunda". GitHub . 22 de junio de 2022.
- ^ "Programación genética cartesiana diferenciable, documentación v1.6". 10 de junio de 2022.
- ^ Izzo, Dario; Biscani, Francesco; Mereta, Alessio (2016). "Programación genética diferenciable". Actas de la Conferencia Europea sobre Programación Genética . arXiv : 1611.04766 .
- ^ "Regresión simbólica de alto rendimiento en Python". GitHub . 18 de agosto de 2022.
- ^ "Los 'científicos de máquinas' destilan las leyes de la física a partir de datos sin procesar". Revista Quanta . 10 de mayo de 2022.
Lectura adicional
- Mark J. Willis; Hugo G. Hiden; Ben McKay; Gary A. Montague; Peter Marenbach (1997). "Programación genética: Introducción y estudio de aplicaciones" (PDF) . Publicaciones de la conferencia IEE . IEE . págs. 314– 319.
- Wouter Minnebo; Sean Stijven (2011). "Capítulo 4: Regresión simbólica" (PDF) . Empoderando la computación del conocimiento con selección de variables (tesis de maestría). Universidad de Amberes .
- John R. Koza; Martin A. Keane; James P. Rice (1993). "Mejora del rendimiento del aprendizaje automático mediante el descubrimiento automático de funciones facilitadoras aplicadas a un problema de identificación de sistemas simbólicos" (PDF) . IEEE International Conference on Neural Networks . San Francisco: IEEE . págs. 191– 198.
Enlaces externos
- Ivan Zelinka (2004). "Regresión simbólica: una visión general".
- Hansueli Gerber (1998). "Regresión simbólica simple utilizando programación genética".(Applet de Java): aproxima una función mediante la evolución de combinaciones de operadores aritméticos simples, utilizando algoritmos desarrollados por John Koza .
- Katya Vladislavleva. "Regresión simbólica: descubrimiento de funciones y más". Archivado desde el original el 18 de diciembre de 2014.