Un modo alternativo per ridurre la complessitร del modello ed evitare il problema dellโOverfitting รจ la riduzione della dimensionalitร tramite la selezione delle caratteristiche, tecnica particolarmente utile per i modelli non regolarizzati. Vi sono due categorie principali di tecniche per la riduzione della dimensionalitร : selezione della caratteristica ed estrazione della caratteristica.
Selezione della caratteristica
Utilizzando la selezione della caratteristica, selezioniamo un sottoinsieme delle caratteristiche originarie. Gli algoritmi sequenziali per la selezione delle caratteristiche sono una famiglia di algoritmi di ricerca greedy, utilizzati per ridurre uno spazio di caratteristiche d-dimensionale in un sottospazio di caratteristiche k-dimensionale dove . La motivazione su cui si basano gli algoritmi per la selezione delle caratteristiche consiste nel selezionare automaticamente un sottoinsieme delle caratteristiche che sia particolarmente rilevante per il problema, in modo da migliorare lโefficienza computazionale o ridurre lโerrore di generalizzazione del modello, rimuovendo le caratteristiche irrilevanti o il rumore, il che puรฒ essere utile per gli algoritmi che non supportano la regolarizzazione.
Sequential Backward Selection (SBS)
Un classico algoritmo sequenziale di selezione delle caratteristiche รจ la selezione sequenziale allโindietro o Sequential Backward Selection (SBS), che mira a ridurre la dimensionalitร del sottospazio di caratteristiche iniziale con un minimo decadimento in termini prestazionali del classificatore, in modo da migliorare lโefficienza computazionale. Lโidea su cui si basa lโalgoritmo SBS รจ piuttosto semplice: SBS rimuove sequenzialmente lโintero insieme delle caratteristiche finchรฉ il nuovo sottospazio delle caratteristiche contiene solo il numero desiderato di caratteristiche. Per determinare quale caratteristiche devono essere rimosse in ogni fase, dobbiamo definire la funzione criterio che vogliamo minimizzare. Il criterio calcolato dalla funzione puรฒ essere semplicemente la differenza prestazionale del classificatore prima e dopo la rimozione di una determinata caratteristica. Poi la caratteristica da eliminare in ciascuna fase puรฒ semplicemente essere definita come la caratteristica che massimizza questo criterio; in termini piรน intuitivi, a ogni fase eliminiamo la caratteristica che provoca il minore degrado prestazionale dopo la rimozione.
Random Forest
Un altro approccio utile per selezionare le caratteristiche rilevanti da un dataset consiste nellโutilizzare una Random Forests: possiamo misurare lโimportanza delle caratteristiche come la riduzione media delle impuritร , calcolata da tutti gli alberi decisionali della foresta senza effettuare alcuna supposizione sul fatto che i dati siano separabili linearmente oppure no.
Estrazione della caratteristica
Nellโestrazione della caratteristica deriviamo le informazioni dallโinsieme di caratteristiche, per costruire un nuovo sottospazio di caratteristiche di dimensionalitร inferiore rispetto a quello originale. Mentre con gli algoritmi di selezione delle caratteristiche, come nel caso della selezione sequenziale allโindietro (SBS) abbiamo mantenuto le caratteristiche originali, utilizziamo lโestrazione delle caratteristiche per trasformare o proiettare i dati in un nuovo spazio di caratteristiche. Nel contesto della riduzione della dimensionalitร , lโestrazione delle caratteristiche puรฒ essere considerata come un approccio a compressione dei dati, con lโobiettivo di conservare la maggior parte delle informazioni rilevanti. Lโestrazione delle caratteristiche viene tipicamente utilizzata per migliorare lโefficienza computazionale, ma puรฒ anche proteggere contro la maledizione della dimensionalitร , specialmente quando si opera su modelli non regolarizzati.
Ci sono tre algoritmi principali che andremo ad analizzare nel dettaglio:
- PCA: abbiamo proiettato i dati su un sottospazio di minori dimensioni, in modo da massimizzare la varianza fra gli assi ortogonali delle caratteristiche, ignorando le etichette delle classi.
- LDA: al contrario di PCA, รจ una tecnica per la riduzione della dimensionalitร con supervisione, ovvero considerando le informazioni sulla classe giร presenti nel dataset di addestramento, per tentare di massimizzare la separabilitร in classi in uno spazio di caratteristiche lineari.
- Kernel PCA: consente di mappare dataset non lineari su uno spazio delle caratteristiche dotato di dimensionalitร inferiore, dove le classi possono risultare separabili in modo lineare.
Principal Component Analysis (PCA)
La PCA prende un insieme di dati complessi e li trasforma in un nuovo set di dati piรน semplice, preservando al tempo stesso la maggior parte delle informazioni originali.
Immagina di avere un insieme di dati che rappresentano diverse variabili o caratteristiche, come altezza, peso, etร e reddito di un gruppo di persone. Ogni persona nel dataset puรฒ essere rappresentata come un vettore di dati, dove ogni componente del vettore rappresenta una caratteristica. In questo esempio, avremmo un vettore per ogni persona contenente i valori per altezza, peso, etร e reddito.
La PCA cerca di semplificare questo insieme di dati trovando nuove direzioni, chiamate componenti principali, lungo le quali i dati variano di piรน. In altre parole, cerca di capire quali combinazioni delle caratteristiche originali spiegano meglio la variazione nei dati.
Per fare ciรฒ, la PCA inizia calcolando la matrice di covarianza dei dati, che misura la relazione tra le diverse caratteristiche. Questa matrice ci dice quanto due caratteristiche variano insieme. Ad esempio, se lโaltezza e il peso delle persone tendono a variare insieme (ad esempio, persone piรน alte tendono ad avere un peso maggiore), allora la covarianza tra altezza e peso sarร alta.
Successivamente, la PCA utilizza i concetti di autovettori e autovalori per trovare le componenti principali della matrice di covarianza. Gli autovettori sono direzioni nei dati lungo le quali la varianza รจ massima, mentre gli autovalori rappresentano la quantitร di varianza spiegata da ciascun autovettore. La PCA ordina gli autovettori in base agli autovalori, in modo che il primo autovettore spieghi la massima varianza, il secondo spieghi la seconda massima varianza e cosรฌ via.
Una volta calcolate le componenti principali, possiamo proiettare i nostri dati su queste nuove direzioni. Questo significa che trasformiamo i dati originali in un nuovo set di dati dove le variabili sono linearmente indipendenti e ordinate per importanza in termini di varianza spiegata.
Per esempio, se avevamo originariamente un insieme di dati con quattro variabili (altezza, peso, etร e reddito) e calcoliamo la PCA, potremmo scoprire che le prime due componenti principali spiegano la maggior parte della variazione nei dati. Potremmo quindi proiettare i nostri dati su queste prime due componenti principali per ottenere un nuovo set di dati piรน semplice, composto solo da due variabili, che conservano ancora la maggior parte delle informazioni originali.
Eโ importante scegliere il numero corretto di componenti principali da mantenere, poichรฉ mantenere troppe componenti potrebbe non semplificare significativamente i dati, mentre mantenere troppe poche componenti potrebbe perdere informazioni importanti. Inoltre, la PCA presuppone che i dati siano lineari e che le relazioni tra le variabili siano gaussiane, quindi potrebbe non essere adatta a tutti i tipi di dati.
Analisi dei Componenti Lineari Discriminanti (LDA)
LโAnalisi dei Componenti Lineari Discriminanti (LDA) รจ una tecnica di riduzione della dimensionalitร molto simile alla PCA, ma con lโobiettivo specifico di massimizzare la separazione tra classi nei dati. In parole semplici, mentre la PCA cerca di trovare le direzioni nei dati lungo le quali variano di piรน, la LDA cerca di trovare le direzioni che massimizzano la differenza tra le classi. LDA รจ un algoritmo senza supervisione, mentre PCA prevede la supervisione.
Immagina di avere un insieme di dati che rappresentano diverse caratteristiche (come altezza, peso, etร ) di oggetti appartenenti a diverse classi (come specie di fiori, tipi di frutta, ecc.). L'obiettivo della LDA รจ trovare le combinazioni di caratteristiche che meglio distinguono le diverse classi, rendendo i dati piรน separabili.
Per fare ciรฒ, la LDA calcola le medie delle caratteristiche per ciascuna classe e la dispersione delle caratteristiche allโinterno di ciascuna classe. Successivamente, cerca di trovare la combinazione lineare delle caratteristiche che massimizza il rapporto tra la dispersione tra classi e la dispersione allโinterno delle classi.
In termini piรน semplici, la LDA cerca di proiettare i dati in modo che le classi siano il piรน separabili possibile lungo le nuove dimensioni. Questo significa che le classi saranno piรน distinte e facilmente distinguibili nelle nuove dimensioni rispetto alle dimensioni originali.
Ad esempio, immagina di avere un insieme di dati con due classi, โgattiโ e โcaniโ, e le caratteristiche sono altezza e peso. La LDA cercherร di trovare la combinazione lineare di altezza e peso che massimizza la separazione tra gatti e cani, quindi i gatti saranno separati il piรน possibile dai cani nelle nuove dimensioni.
Attenzione che LDA รจ sensibile agli outlier e potrebbe non funzionare bene se le classi sono molto sovrapposte.
Kernel PCA
Lโanalisi delle componenti principali con kernel (Kernel PCA) รจ una tecnica di riduzione della dimensionalitร che si basa sulla PCA tradizionale, ma utilizzando una funzione kernel per proiettare i dati in uno spazio di dimensioni superiori prima di eseguire la PCA. Questo consente di trovare strutture non lineari nei dati che non sarebbero state catturate dalla PCA lineare standard.
Immagina di avere un insieme di dati che non puรฒ essere separato linearmente nello spazio delle caratteristiche originale, ad esempio i dati potrebbero essere distribuiti in modo non lineare come un cerchio o una spirale. In questo caso, la PCA standard potrebbe non essere efficace nel catturare la struttura dei dati. La Kernel PCA risolve questo problema proiettando i dati in uno spazio di dimensioni superiori, dove รจ piรน probabile che siano separabili linearmente, e quindi eseguendo la PCA in questo nuovo spazio di dimensioni superiori.
La funzione kernel รจ una funzione che calcola la somiglianza tra coppie di punti nei dati originali. Questa somiglianza puรฒ essere misurata in vari modi, ad esempio utilizzando il prodotto scalare o una funzione di base radiale (RBF). Il kernel specifica come i dati originali saranno trasformati nello spazio delle caratteristiche di dimensioni superiori.
Una volta trasformati i dati nello spazio delle caratteristiche di dimensioni superiori, la PCA standard puรฒ essere applicata per ridurre la dimensionalitร dei dati e trovare le direzioni principali della varianza. Questo consente di mantenere solo le caratteristiche piรน rilevanti nei nuovi spazi di dimensioni superiori.
Kernel PCA รจ utile per catturare strutture non lineari nei dati che non possono essere gestite dalla PCA lineare standard e i dati nel mondo reale sono spesso non lineari.