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.