Nell'apprendimento supervisionato, perché è male avere caratteristiche correlate?


35

Ho letto da qualche parte che se abbiamo funzionalità troppo correlate, dobbiamo rimuoverne una, poiché ciò potrebbe peggiorare il modello. È chiaro che funzionalità correlate significano che portano le stesse informazioni, quindi è logico rimuoverne una. Ma non riesco a capire perché questo possa peggiorare il modello.


3
Questa regola si applica più fortemente in alcuni modelli e analisi rispetto ad altri. Qualche possibilità che tu possa aggiungere un po 'di contesto a "Ho letto da qualche parte" - ad es. Era in relazione alla formazione di un modello specifico?
Neil Slater

3
Le funzionalità correlate non necessariamente peggioreranno un modello. La rimozione di funzionalità correlate aiuta a dedurre significato sulle funzionalità.
Hobbes,

Risposte:


31

Le funzionalità correlate in generale non migliorano i modelli (sebbene dipenda dalle specifiche del problema come il numero di variabili e il grado di correlazione), ma influenzano modelli specifici in modi diversi e in misura diversa:

  1. Per i modelli lineari (ad es. Regressione lineare o regressione logistica), la multicolinearità può produrre soluzioni che sono selvaggiamente variabili e possibilmente numericamente instabili .

  2. Le foreste casuali possono essere efficaci nel rilevare le interazioni tra caratteristiche diverse, ma caratteristiche altamente correlate possono mascherare queste interazioni.

Più in generale, questo può essere visto come un caso speciale del rasoio di Occam . È preferibile un modello più semplice e, in un certo senso, un modello con meno funzioni è più semplice. Il concetto di lunghezza minima della descrizione lo rende più preciso.


4
A parte la stabilità numerica, la previsione data dal modello OLS non dovrebbe essere influenzata dalla multicolinearità, poiché l'effetto complessivo delle variabili predittive non è danneggiato dalla presenza della multicolinearità. È l'interpretazione dell'effetto delle singole variabili predittive che non sono affidabili quando è presente la multicolinearità.
Akavall,

11

(Supponendo che tu stia parlando di apprendimento supervisionato)

Le funzionalità correlate non sempre peggioreranno il modello, ma non lo miglioreranno sempre.

Esistono tre motivi principali per cui rimuovere le funzionalità correlate:

  • Rendi l'algoritmo di apprendimento più veloce

A causa della maledizione della dimensionalità, meno funzioni di solito significano un elevato miglioramento in termini di velocità.

Se la velocità non è un problema, forse non rimuovere immediatamente queste funzionalità (vedere il punto successivo)

  • Riduci i pregiudizi dannosi

La parola chiave è dannosa. Se si dispone di funzionalità correlate ma sono anche correlate alla destinazione, si desidera mantenerle. Puoi visualizzare le funzionalità come suggerimenti per fare una buona ipotesi, se hai due suggerimenti che sono essenzialmente gli stessi, ma sono buoni suggerimenti, potrebbe essere saggio tenerli.

Alcuni algoritmi come Naive Bayes beneficiano direttamente delle funzionalità correlate "positive". E altri come la foresta casuale possono trarne indirettamente beneficio.

Immagina di avere 3 caratteristiche A, B e C. A e B sono altamente correlate al bersaglio e l'una all'altra e C non lo è affatto. Se si campiona su 3 funzionalità, si ha 2/3 di possibilità di ottenere una funzione "buona", mentre se si rimuove B per esempio, questa possibilità scende a 1/2

Naturalmente, se le funzionalità correlate non sono in primo luogo super informative, l'algoritmo potrebbe non soffrire molto.

Quindi morale della storia, rimuovere queste funzionalità potrebbe essere necessario a causa della velocità, ma ricorda che potresti peggiorare il tuo algoritmo nel processo. Inoltre, alcuni algoritmi come gli alberi decisionali hanno incorporato la selezione delle caratteristiche.

Un buon modo per gestirlo è utilizzare un metodo wrapper per la selezione delle funzionalità. Rimuoverà le funzionalità ridondanti solo se non contribuiscono direttamente alle prestazioni. Se sono utili come nelle baie ingenue, saranno tenuti. (Anche se ricorda che i metodi wrapper sono costosi e possono portare a un overfitting)

  • Interpretazione del tuo modello

Se il tuo modello deve essere interpretabile, potresti essere costretto a renderlo più semplice. Assicurati di ricordare anche il rasoio di Occam. Se il tuo modello non è "tanto" peggio con meno funzioni, probabilmente dovresti usare meno funzioni.


2

A volte le funzionalità correlate - e la duplicazione delle informazioni che forniscono - non danneggiano un sistema predittivo. Considera un insieme di alberi decisionali, ognuno dei quali considera un campione di righe e un campione di colonne. Se due colonne sono altamente correlate, è possibile che una di esse non venga selezionata nell'esempio di colonna di un determinato albero e tale albero dipenderà dalla colonna rimanente. Le funzionalità correlate consentono di ridurre il sovradattamento (tramite campionamento di colonne) senza rinunciare a una qualità predittiva eccessiva.


2

È necessario prendere una decisione sulle variabili minime necessarie per farlo. Questa è, come detto sopra, la formalizzazione del rasoio di Occam con la lunghezza minima della descrizione sopra. Mi piace quello.

Tenderei a caratterizzare questi fenomeni in qualcosa come un HDDT per indicare l'albero più efficiente che non prende decisioni spurie sulla base dei dati disponibili ed evitando tutti i casi di decisioni che potrebbero altrimenti essere state prese su più punti dati senza capire che erano correlati .


Per quanto riguarda datascience.stackexchange.com/users/38887/valentin-calomme commento: "Le funzionalità correlate non sempre peggioreranno il modello, ma non lo miglioreranno sempre." Non vedo o non riesco a pensare a dove avere un'elevata correlazione tra le variabili non peggiori il modello. Almeno nel senso che, data la scelta: preferirei formare una rete con funzionalità meno correlate. Qualunque cosa diversa da quella è funzionalmente e decisamente peggiore. Ci sono casi in cui questo non è vero?
tjborromeo,

1

Nella prospettiva della memorizzazione dei dati nei database, la memorizzazione di funzionalità correlate è in qualche modo simile alla memorizzazione di informazioni ridondanti che può causare uno spreco di memoria e può anche causare dati incoerenti dopo l'aggiornamento o la modifica delle tuple.

Se aggiungiamo al modello un numero così elevato di funzioni correlate che potremmo indurre il modello a considerare funzionalità non necessarie e potremmo avere una maledizione del problema di alta dimensionalità , immagino che questo sia il motivo per il peggioramento del modello costruito.

Nel contesto dell'apprendimento automatico di solito utilizziamo PCAper ridurre la dimensione dei modelli di input. Questo approccio considera la rimozione di funzionalità correlate in qualche modo (usando SVD) ed è un approccio non supervisionato. Questo viene fatto per raggiungere i seguenti scopi:

Anche se questo potrebbe non sembrare a posto, ma ho visto persone che usano la rimozione di funzioni correlate per evitare un eccesso di adattamento, ma non penso che sia una buona pratica. Per maggiori informazioni ti consiglio vivamente di vedere qui .

Un altro motivo è che nei modelli di apprendimento profondo, come MLPsse si aggiungono funzionalità correlate, si aggiungono semplicemente informazioni non necessarie che aggiungono ulteriori calcoli e parametri al modello.


0

La risposta a questa domanda dipende in larga misura dallo scopo del modello. In conclusione, le caratteristiche altamente correlate sono un problema ben noto. Ad esempio, due caratteristiche altamente correlate tra loro e con y, potrebbero entrambe risultare insignificanti in un modello di inferenza, potenzialmente prive di un importante segnale esplicativo. Pertanto, in conclusione si consiglia generalmente di diluirli.

Se il tuo apprendimento supervisionato è per la predizione, la risposta - contraria alla saggezza convenzionale - è di solito l'opposto. L'unico motivo per rimuovere funzionalità altamente correlate è la preoccupazione di archiviazione e velocità. Oltre a ciò, ciò che conta sulle funzionalità è se contribuiscono alla previsione e se la loro qualità dei dati è sufficiente.

Le caratteristiche dominate dal rumore tenderanno ad essere meno correlate ad altre caratteristiche rispetto alle caratteristiche correlate a y. Quindi, come menzionato sopra nell'esempio di Valentin, l'assottigliamento del secondo aumenterà la proporzione del primo.

In particolare, metodi come foreste casuali e KNN trattano tutte le caratteristiche allo stesso modo, quindi l'assottigliamento di funzioni correlate riduce direttamente il loro rapporto segnale-rumore.

I metodi che selezionano automaticamente funzionalità come alberi singoli, lazo "puro" o reti neurali potrebbero essere meno interessati. Ma anche in questo caso, oltre ai tempi di elaborazione più lunghi, raramente c'è qualcosa da perdere in termini di previsione dal mantenere le funzioni correlate nel mix.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.