La regressione simbolica (in inglese symbolic regression, abbreviata SR) è un metodo di regressione che ricerca sia la forma di una funzione sia i suoi parametri numerici. È considerata un sottocampo dell'apprendimento automatico che mira a scoprire un modello dei dati sotto forma di espressione matematica o di equazione. Per loro natura, i modelli ottenuti con la regressione simbolica possono essere al tempo stesso accurati e interpretabili dall'uomo.
Dato un insieme di dati , la regressione simbolica esplora una famiglia di espressioni matematiche e valuta ciascuna di esse in base al suo errore di previsione, spesso con l'aggiunta di una penalità legata alla complessità dell'espressione. La regressione parametrica ordinaria parte invece da una forma prefissata, come un polinomio di grado stabilito, e ne stima soltanto i coefficienti. La regressione simbolica, al contrario, effettua la ricerca su alberi composti da variabili, costanti e operazioni ammesse.
Nel caso particolare in cui la funzione incognita sia una combinazione lineare di funzioni note delle variabili, la regressione simbolica si riduce alla risoluzione di un sistema di equazioni lineari.
Poiché una ricerca non vincolata nello spazio delle espressioni può portare a sovradattamento ai dati, è importante bilanciare la bontà dell'adattamento con la complessità del modello. Per questo motivo il risultato viene spesso presentato come un insieme di modelli che rappresentano diversi compromessi tra accuratezza predittiva e semplicità. A differenza della regressione mediante reti neurali, il risultato è una formula simbolica interpretabile anziché una funzione numerica parametrizzata.
Le radici della regressione simbolica risalgono ai primi lavori sulla computazione evolutiva e ai tentativi di scoperta automatica di sistemi degli anni settanta. Nel 1977 Pat Langley introdusse il programma BACON con lo scopo di identificare relazioni tra variabili a partire dai dati. La struttura ad albero per rappresentare programmi da manipolare con operatori genetici fu proposta per la prima volta da Nichael Cramer nel 1985.
La regressione simbolica acquisì rilievo grazie ai lavori pionieristici di John Koza negli anni novanta, sebbene il problema di trovare un'espressione matematica che spieghi misure empiriche fosse già stato affrontato in precedenza. Koza mostrò che la programmazione genetica poteva essere usata per scoprire modelli di regressione simbolica codificando le espressioni matematiche come alberi computazionali. Il metodo fu formalizzato nel libro di Koza del 1992 Genetic Programming: On the Programming of Computers by Means of Natural Selection.
Nel 2007 Josh Bongard e Hod Lipson furono i primi ad applicare la regressione simbolica alla scoperta guidata dai dati di modelli dinamici. Nel 2009 Michael Schmidt e Hod Lipson pubblicarono su Science un algoritmo che, analizzando dati di tracciamento del moto di sistemi fisici che andavano dagli oscillatori armonici ai doppi pendoli caotici, individuò hamiltoniane, lagrangiane e altre leggi di conservazione senza conoscenze pregresse di fisica.
La programmazione genetica è uno degli approcci più comuni per generare e modificare le espressioni candidate, sebbene possano essere usati anche altri metodi di ricerca discreta e continua. In questo approccio la programmazione genetica viene impiegata per esplorare le possibili strutture del modello, mentre tecniche di regressione determinano i valori dei coefficienti una volta fissata la struttura. La programmazione genetica si basa su un insieme predefinito di funzioni matematiche (function set). Assumendo come funzione di fitness una misura basata sulla regressione, come la minimizzazione dell'errore quadratico medio, si ottiene la regressione simbolica.
Oltre alla programmazione genetica, la regressione simbolica è stata affrontata con la ricerca ad albero Monte Carlo, con algoritmi di enumerazione, con algoritmi greedy e con la programmazione non lineare mista intera. Nonostante queste alternative, la programmazione genetica rimane una scelta diffusa.
Il metodo SINDy (Sparse Identification of Nonlinear Dynamics), proposto da Steven Brunton, Joshua Proctor e J. Nathan Kutz nel 2016, utilizza la regressione sparsa per individuare il minor numero di termini necessari a descrivere le equazioni che governano un sistema dinamico. Il metodo costruisce una libreria di funzioni non lineari candidate delle variabili di stato e cerca i pochi termini rilevanti al suo interno. L'unica ipotesi sulla struttura del modello è che la dinamica sia governata da pochi termini importanti, ossia che le equazioni siano sparse nello spazio delle funzioni possibili. In questo modo SINDy evita la ricerca combinatoria intrattabile su tutte le possibili strutture del modello.
Il metodo AI Feynman, presentato da Silviu-Marian Udrescu e Max Tegmark nel 2020, combina l'adattamento mediante reti neurali con una serie di tecniche ispirate alla fisica, sfruttando proprietà come simmetria, separabilità e composizionalità delle funzioni di interesse pratico. Applicato a 100 equazioni tratte dalle Feynman Lectures on Physics, il metodo le ha individuate tutte, mentre il software precedentemente disponibile ne risolveva 71. Una versione successiva, AI Feynman 2.0, cerca formule Pareto-ottimali, cioè con la migliore accuratezza per una data complessità.
La deep symbolic regression (DSR), sviluppata presso il Lawrence Livermore National Laboratory, usa una rete neurale ricorrente per generare una distribuzione di probabilità su espressioni matematiche e la addestra con un algoritmo di policy gradient orientato al rischio (risk-seeking). Secondo gli autori, l'algoritmo ha superato diversi metodi di riferimento, tra cui Eureqa, nel recupero esatto di espressioni simboliche su una serie di problemi di prova.
Storicamente la regressione simbolica è stata affrontata con euristiche come algoritmi greedy o algoritmi genetici, e per lungo tempo la sua difficoltà computazionale è stata ipotizzata ma non dimostrata. Diversi lavori ne avevano affermato la NP-difficoltà senza fornire riferimenti né prove. Nel 2022 Marco Virgolin e Solon P. Pissis hanno dimostrato che la regressione simbolica è un problema NP-difficile, suggerendo che probabilmente non esista un algoritmo esatto in tempo polinomiale per risolverla. La loro dimostrazione si basa su una riduzione del problema della somma di sottoinsiemi illimitata (unbounded subset sum) a un'istanza di regressione simbolica. Un lavoro successivo del 2024 ha proposto una dimostrazione alternativa, mostrando l'equivalenza della regressione simbolica con il problema dell'arborescenza di Steiner con vincoli di grado.
Nel 2021 William La Cava e colleghi hanno osservato che i progressi nel campo risentivano della mancanza di standard di valutazione uniformi, robusti e trasparenti. Per rispondere a questo problema hanno introdotto SRBench, una piattaforma di valutazione open source e riproducibile, con cui hanno confrontato 14 metodi di regressione simbolica e 7 metodi di apprendimento automatico su 252 problemi di regressione. Lo studio ha concluso che, sui dati reali, i metodi più efficaci combinavano algoritmi genetici con la stima dei parametri o con criteri di ricerca semantica. SRBench è concepito come un benchmark "vivente", aggiornato nel tempo con nuovi algoritmi e insiemi di dati.
Eureqa è uno strumento di modellazione analitica sviluppato da Hod Lipson e collaboratori e rilasciato nel 2009. Nel 2017 la società Nutonian, che commercializzava Eureqa, è stata acquisita da DataRobot.
PySR è una libreria open source per la regressione simbolica sviluppata da Miles Cranmer con l'obiettivo di diffonderne l'uso nelle scienze. Il suo algoritmo di ricerca interno è un algoritmo evolutivo a più popolazioni basato su un ciclo di evoluzione, semplificazione e ottimizzazione delle costanti. Il motore di calcolo di PySR è la libreria SymbolicRegression.jl, scritta in Julia e utilizzabile anche direttamente da tale linguaggio. Insieme al software è stato introdotto EmpiricalBench, un benchmark che misura la capacità degli algoritmi di ritrovare equazioni empiriche storiche.
La regressione simbolica è stata applicata con successo in astrofisica, chimica, controllo, economia, ingegneria meccanica, medicina ed esplorazione spaziale. Le librerie SymbolicRegression.jl e PySR sono state impiegate per la scoperta di modelli in oltre 30 articoli di ricerca, dall'astrofisica all'economia. Il metodo SINDy è stato dimostrato su problemi che vanno dal sistema di Lorenz caotico al distacco di vortici nel flusso attorno a un ostacolo.
Lo spazio di ricerca della regressione simbolica è vastissimo, e le funzioni generiche risultano estremamente complicate e quasi impossibili da scoprire con questo metodo. Nel 2012 Christopher Hillar e Friedrich Sommer hanno contestato il criterio di fitness usato da Schmidt e Lipson, sostenendo che esso incorporasse implicitamente le leggi fisiche che l'algoritmo avrebbe dovuto scoprire. Schmidt e Lipson hanno pubblicato una replica a tali obiezioni.