Selezione delle funzionalità nell'apprendimento automatico

Ehi Habr!

Noi di Reksoft abbiamo tradotto l'articolo in russo Selezione delle funzionalità nell'apprendimento automatico. Ci auguriamo che possa essere utile a tutti coloro che sono interessati all'argomento.

Nel mondo reale, i dati non sono sempre così puliti come a volte pensano i clienti aziendali. Questo è il motivo per cui il data mining e il data wrangling sono richiesti. Aiuta a identificare valori e modelli mancanti nei dati strutturati con query che gli esseri umani non possono identificare. Per trovare e utilizzare questi modelli per prevedere i risultati utilizzando le relazioni scoperte nei dati, l'apprendimento automatico è utile.

Per comprendere qualsiasi algoritmo, è necessario esaminare tutte le variabili nei dati e capire cosa rappresentano tali variabili. Questo è fondamentale perché la logica alla base dei risultati si basa sulla comprensione dei dati. Se i dati contengono 5 o anche 50 variabili, puoi esaminarle tutte. E se fossero 200? Allora semplicemente non ci sarà abbastanza tempo per studiare ogni singola variabile. Inoltre, alcuni algoritmi non funzionano per i dati categorici e quindi dovrai convertire tutte le colonne categoriche in variabili quantitative (potrebbero sembrare quantitative, ma le metriche mostreranno che sono categoriche) per aggiungerle al modello. Pertanto, il numero di variabili aumenta e ce ne sono circa 500. Cosa fare adesso? Si potrebbe pensare che la risposta sarebbe ridurre la dimensionalità. Gli algoritmi di riduzione della dimensionalità riducono il numero di parametri ma hanno un impatto negativo sull'interpretabilità. E se esistessero altre tecniche che eliminano le funzionalità rendendo quelle rimanenti facili da comprendere e interpretare?

A seconda che l'analisi si basi sulla regressione o sulla classificazione, gli algoritmi di selezione delle caratteristiche possono differire, ma l'idea principale della loro implementazione rimane la stessa.

Variabili altamente correlate

Le variabili altamente correlate tra loro forniscono le stesse informazioni al modello, quindi non è necessario utilizzarle tutte per l'analisi. Ad esempio, se un set di dati contiene le funzionalità "Tempo online" e "Traffico utilizzato", possiamo presumere che saranno in qualche modo correlate e vedremo una forte correlazione anche se selezioniamo un campione di dati imparziale. In questo caso, nel modello è necessaria solo una di queste variabili. Se li utilizzi entrambi, il modello risulterà sovradimensionato e sbilanciato verso una caratteristica particolare.

Valori P

Negli algoritmi come la regressione lineare, un modello statistico iniziale è sempre una buona idea. Aiuta a mostrare l'importanza delle caratteristiche attraverso i loro valori p ottenuti da questo modello. Dopo aver impostato il livello di significatività, controlliamo i valori p risultanti e, se qualsiasi valore è inferiore al livello di significatività specificato, questa caratteristica viene dichiarata significativa, ovvero un cambiamento nel suo valore porterà probabilmente a un cambiamento nel valore di il bersaglio.

Selezione diretta

La selezione diretta è una tecnica che prevede l'applicazione di una regressione graduale. La costruzione del modello inizia con uno zero completo, ovvero un modello vuoto, quindi ogni iterazione aggiunge una variabile che apporta un miglioramento al modello in costruzione. La variabile da aggiungere al modello è determinata dalla sua significatività. Questo può essere calcolato utilizzando vari parametri. Il modo più comune è utilizzare i valori p ottenuti nel modello statistico originale utilizzando tutte le variabili. A volte la selezione anticipata può portare a un adattamento eccessivo di un modello perché potrebbero esserci variabili altamente correlate nel modello, anche se forniscono le stesse informazioni al modello (ma il modello mostra comunque miglioramenti).

Selezione inversa

Anche la selezione inversa comporta l'eliminazione graduale dei tratti, ma nella direzione opposta rispetto alla selezione diretta. In questo caso, il modello iniziale include tutte le variabili indipendenti. Le variabili vengono quindi eliminate (una per iterazione) se non contribuiscono con valore al nuovo modello di regressione in ciascuna iterazione. L'esclusione delle funzionalità si basa sui valori p del modello iniziale. Questo metodo presenta anche incertezza quando si rimuovono variabili altamente correlate.

Eliminazione di funzionalità ricorsive

RFE è una tecnica/algoritmo ampiamente utilizzato per selezionare il numero esatto di caratteristiche significative. A volte il metodo viene utilizzato per spiegare una serie di caratteristiche “più importanti” che influenzano i risultati; e talvolta di ridurre un numero molto elevato di variabili (circa 200-400), mantenendo solo quelle che danno almeno un contributo al modello e escludendo tutte le altre. RFE utilizza un sistema di classificazione. Alle caratteristiche nel set di dati vengono assegnati ranghi. Questi ranghi vengono quindi utilizzati per eliminare ricorsivamente le funzionalità in base alla collinearità tra loro e all'importanza di tali funzionalità nel modello. Oltre a classificare le caratteristiche, RFE può mostrare se queste caratteristiche sono importanti o meno anche per un dato numero di caratteristiche (perché è molto probabile che il numero di caratteristiche selezionato potrebbe non essere ottimale, e il numero ottimale di caratteristiche potrebbe essere o più o inferiore al numero selezionato).

Diagramma dell'importanza delle caratteristiche

Quando parliamo di interpretabilità degli algoritmi di apprendimento automatico, di solito discutiamo di regressioni lineari (che consentono di analizzare l'importanza delle caratteristiche utilizzando valori p) e alberi decisionali (che mostrano letteralmente l'importanza delle caratteristiche sotto forma di albero, e alla fine allo stesso tempo la loro gerarchia). D'altra parte, algoritmi come Random Forest, LightGBM e XG Boost utilizzano spesso un diagramma di importanza delle caratteristiche, ovvero viene tracciato un diagramma di variabili e "i loro numeri di importanza". Ciò è particolarmente utile quando è necessario fornire una motivazione strutturata per l'importanza degli attributi in termini di impatto sull'azienda.

Regolarizzazione

La regolarizzazione viene eseguita per controllare l'equilibrio tra bias e varianza. Il bias mostra quanto il modello si è adattato eccessivamente al set di dati di addestramento. La deviazione mostra quanto diverse erano le previsioni tra i set di dati di training e di test. Idealmente, sia la distorsione che la varianza dovrebbero essere piccole. È qui che la regolarizzazione viene in soccorso! Esistono due tecniche principali:

Regolarizzazione L1 - Lazo: Lasso penalizza i pesi del modello per modificarne l'importanza per il modello e può persino annullarli (ovvero rimuovere quelle variabili dal modello finale). In genere, Lasso viene utilizzato quando un set di dati contiene un numero elevato di variabili e si desidera escluderne alcune per comprendere meglio in che modo le funzionalità importanti influiscono sul modello (ovvero, quelle funzionalità che sono state selezionate da Lasso e a cui è stata assegnata importanza).

Regolarizzazione L2 - Metodo Ridge: il compito di Ridge è quello di memorizzare tutte le variabili e allo stesso tempo assegnare loro importanza in base al loro contributo alla performance del modello. Ridge sarà una buona scelta se il set di dati contiene un numero limitato di variabili e tutte sono necessarie per interpretare i risultati e i risultati ottenuti.

Poiché Ridge mantiene tutte le variabili e Lasso fa un lavoro migliore nello stabilirne l'importanza, è stato sviluppato un algoritmo che combina le migliori caratteristiche di entrambe le regolazzazioni, noto come Elastic-Net.

Esistono molti altri modi per selezionare funzionalità per l'apprendimento automatico, ma l'idea principale è sempre la stessa: dimostrare l'importanza delle variabili e quindi eliminarne alcune in base all'importanza risultante. L'importanza è un termine molto soggettivo, poiché non è uno solo, ma un intero insieme di parametri e grafici che possono essere utilizzati per trovare attributi chiave.

Grazie per aver letto! Buon apprendimento!

Fonte: habr.com

Aggiungi un commento