Regressori Multi-Input Multi-Output: suggerimenti e considerazioni

Regressori Multi-Input Multi-Output: suggerimenti e considerazioni

Introduzione

Questo articolo fa parte del progetto TRAINS, finanziato nell’ambito dei Bandi a Cascata del Programma NODES, sostenuto dal MUR sui fondi PNRR MUR - M4C2 - Investimento 1.5 Avviso "Ecosistemi dell'Innovazione", nell'ambito del PNRR finanziato dall’Unione europea – NextGenerationEU (Grant agreement Cod. n.ECS00000036).

Abbiamo lavorato nel progetto TRAINS come partner del capofila Marchi & Fildi SpA, occupandoci della parte di intelligenza artificiale.

La previsione del colore dei tessuti basata sul colore delle sue componenti e sulla percentuale di ciascun componente – con dati derivanti da misurazioni fisiche – può essere considerato come un problema di Multivariate Multiple Regression, con molteplici variabili, sia indipendenti che dipendenti.

Questo breve articolo riassume le parti più importanti del nostro lavoro che potrebbero essere utili in scenari simili:

  • ragioni per le quali raccomanderemmo di provare specifici algoritmi da determinate librerie;
  • l’accortezza di misurare l'errore strumentale (nel nostro caso, da uno spettrofotometro) e considerare il suo effetto per valutare correttamente le prestazioni dei regressori.

Metodi

Possiamo realizzare la regressione multi-output utilizzando due metodi diversi:

  1. utilizzando modelli di regressione che supportano nativamente il multi-task learning: i metodi MultiTask, disponibili in librerie come scikit-learn, offrono un approccio efficiente per gestire problemi di regressione multi-output sfruttando le relazioni tra gli output. Questi metodi, inclusi modelli come MultiTaskElasticNet, MultiTaskLasso e MultiTaskLinearRegression, addestrano un singolo modello che considera le interdipendenze tra le variabili obiettivo. Questo può portare a prestazioni migliori quando gli output sono correlati, poiché il modello ottimizza per tutti gli output collettivamente invece di trattarli come problemi indipendenti.
  2. Wrapper di MultiOutputRegressor: per i modelli che non supportano intrinsecamente la regressione multi-output, possiamo utilizzare la classe MultiOutputRegressor da scikit-learn, che fornisce flessibilità permettendo l'uso di qualsiasi modello base che potrebbe non supportare nativamente la regressione multi-output. Per esempio, regressori a output singolo come RandomForestRegressor, GradientBoostingRegressor, o anche modelli di machine learning personalizzati possono essere inglobati con MultiOutputRegressor per prevedere indipendentemente ciascuna variabile di uscita. Questo approccio è particolarmente vantaggioso quando gli output sono fortemente indipendenti o quando specifici modelli di base sono ben adatti alle previsioni di output singoli: mentre sacrifica una certa efficienza addestrando modelli separati per ciascun output, compensa con adattabilità e versatilità attraverso diversi compiti di regressione.

Effetto del rumore

La presenza di dati rumorosi può influenzare significativamente la scelta tra metodi MultiTask e MultiOutputRegressor, a seconda di come il rumore influenzi le uscite e le relazioni tra loro.

Effetto del rumore sui metodi MultiTask

Sensibilità al rumore: i metodi MultiTask si basano sull'assunzione che ci sia una correlazione significativa tra i target. Se i dati sono rumorosi, specialmente nelle variabili target, le relazioni apprese possono essere distorte o inaffidabili. Questi metodi possono amplificare l'effetto del rumore perché considerano tutti gli output simultaneamente. Il rumore in un target può influenzare negativamente le previsioni di altri target se il modello si adatta eccessivamente alle correlazioni rumorose.

Mitigazione del rumore: la regolarizzazione (es. penalità L1/L2) può aiutare i metodi MultiTask a mitigare l'overfitting al rumore riducendo i coefficienti meno rilevanti. Tuttavia, se il rumore è relativamente troppo forte, la capacità del metodo di sfruttare le correlazioni target può degradarsi.

Quando evitare: se i target sono molto rumorosi e il rumore interrompe le vere correlazioni tra loro, i metodi MultiTask potrebbero non funzionare bene. In tali casi, trattare gli output indipendentemente (come in MultiOutputRegressor) potrebbe essere più sicuro.

Effetto del Rumore su MultiOutputRegressor

Tolleranza al rumore: MultiOutputRegressor addestra modelli indipendenti per ciascun target. Il rumore in un target non influenza direttamente le previsioni di altri target perché i modelli sono addestrati separatamente. Questo approccio è più robusto quando i target hanno livelli di rumore diversi o quando il rumore non è correlato tra gli output.

Quando usare: MultiOutputRegressor è una scelta migliore quando il rumore nei target è alto o varia significativamente tra gli output. Questa indipendenza aiuta a evitare la propagazione del rumore tra i modelli.

Prestazioni del modello e metriche

Le prestazioni del modello vengono valutate utilizzando metriche standard come Mean Squared Error (MSE) e R², fornite da librerie come scikit-learn. MSE valuta la differenza quadratica media tra valori effettivi e previsti per tutti gli output, mentre R² misura quanto bene le previsioni approssimano gli output effettivi, sia per ogni target individualmente che in media tra tutti gli output.

Per compiti specifici del dominio, vengono impiegate funzioni di perdita personalizzate; per esempio, la metrica CIE 76 ΔE, disponibile nella libreria scikit-image, valuta le differenze di colore percettive nello spazio LAB. Combinare metriche standard per le prestazioni generali del modello e metriche personalizzate per l'accuratezza specifica del compito assicura una valutazione completa, allineando le prestazioni statistiche con l'applicabilità nel mondo reale.

Per definire una soglia appropriata per ΔE, è importante tenere in considerazione la variabilità intrinseca nei sistemi di misurazione del colore e delle tolleranze pratiche rilevanti per il compito. Impostare soglie senza considerare il significato nel mondo reale delle differenze percettive può portare a criteri di valutazione eccessivamente rigidi o indulgenti. Allineando le soglie con tolleranze percettive significative, il processo di valutazione diventa sia robusto che praticamente applicabile.


Questo articolo è stato scritto in collaborazione con la Dott.sa Arghavan Shafiee.

Foto di Moonstarious Project su Unsplash

Foto di Héctor J. Rivas su Unsplash

Foto di Andrew Dawes su Unsplash

Kiwifarm srl ‐ Via Agostino da Montefeltro, 2 · 10134 Torino (TO) ‐ P. IVA: 03535510048 ‐ Capitale Sociale: 30.100 € i.v. Privacy Policy Cookie Policy