Selezione delle caratteristiche nell’apprendimento automatico

Apprendimento automatico

Shaurya Lalwani

Follow

Jul 10, 2020 – 7 min read

Foto di Louis Hansel @shotsoflouis su Unsplash

Nel mondo reale, i dati non sono così puliti come spesso si presume che siano. È qui che entra in gioco tutto il data mining e il wrangling; per costruire intuizioni dai dati che sono stati strutturati usando le query, e che ora probabilmente contengono alcuni valori mancanti, ed esibiscono possibili modelli che non si vedono ad occhio nudo. È qui che entra in gioco il Machine Learning: Controllare i modelli e fare uso di questi modelli per prevedere i risultati utilizzando queste relazioni appena comprese nei dati.

Per capire la profondità dell’algoritmo, è necessario leggere le variabili nei dati e ciò che queste variabili rappresentano. Capire questo è importante perché dovete provare i vostri risultati, basati sulla vostra comprensione dei dati. Se i vostri dati contengono cinque, o anche cinquanta variabili, diciamo che siete in grado di esaminarli tutti. Ma cosa succede se contiene 200 variabili? Non avete il tempo di esaminare ogni variabile. Inoltre, vari algoritmi non funzionano con i dati categorici, quindi dovete convertire tutte le colonne categoriche in variabili quantitative (sembrano quantitative, ma la metrica giustificherà che sono categoriche), per spingerle nel modello. Quindi, questo aumenta il numero di variabili nei tuoi dati, e ora ti ritrovi con 500 variabili. Come si fa a gestirle? Si potrebbe pensare che la riduzione della dimensionalità sia la risposta, subito. Gli algoritmi di riduzione della dimensionalità ridurranno le dimensioni, ma l’interpretabilità non è così buona. E se ti dicessi che ci sono altre tecniche, che possono eliminare le caratteristiche, e sarebbe ancora facile capire e interpretare le caratteristiche mantenute?

A seconda che l’analisi sia basata sulla regressione o sulla classificazione, le tecniche di selezione delle caratteristiche possono differire/variare ma l’idea generale di come implementarla rimane la stessa.

Ecco alcune tecniche di selezione delle caratteristiche per affrontare questo problema:

Le variabili che sono altamente correlate tra loro, danno le stesse informazioni al modello, e quindi diventa inutile includerle tutte nella nostra analisi. Per esempio: Se un set di dati contiene una caratteristica “Tempo di navigazione”, e un’altra chiamata “Dati utilizzati durante la navigazione”, allora si può immaginare che queste due variabili saranno correlate in una certa misura, e vedremmo questa alta correlazione anche se prendiamo un campione imparziale dei dati. In tal caso, avremmo bisogno che solo una di queste variabili fosse presente come predittore nel modello, perché se le usassimo entrambe, il modello si adatterebbe troppo e diventerebbe distorto verso questa o quelle caratteristiche particolari.

Foto di Akin Cakiner su Unsplash

Valori P

In algoritmi come la Regressione Lineare, un modello statistico iniziale è sempre una buona idea, in quanto aiuta a visualizzare l’importanza delle caratteristiche, con l’uso dei loro valori P che sono stati ottenuti utilizzando quel modello. Impostando un livello di significatività, controlliamo i valori P ottenuti, e se questo valore è inferiore al livello di significatività, mostra che la caratteristica è significativa, cioè un cambiamento in questo valore è probabile che mostri un cambiamento nel valore del Target.

Foto di Joshua Eckstein su Unsplash

Forward Selection

Forward Selection è una tecnica che prevede l’uso della regressione a passi. Quindi, il modello inizia a costruire da zero, cioè un modello vuoto, e poi ogni iterazione aggiunge una variabile tale che ci sia un miglioramento nel modello costruito. La variabile da aggiungere in ogni iterazione è determinata usando la sua significatività, che può essere calcolata usando varie metriche, una delle quali è il valore P ottenuto da un modello statistico iniziale costruito usando tutte le variabili. A volte, Forward Selection può causare un over-fit perché può aggiungere variabili altamente correlate al modello, anche quando forniscono gli stessi dati al modello (ma il modello mostra un miglioramento).

Foto di Edu Grande su Unsplash

Backward Elimination

Anche la Backward Elimination comporta una selezione di caratteristiche a passi, in modo opposto alla Forward Selection. In questo caso, il modello iniziale inizia con tutte le variabili indipendenti, e una per una, queste variabili vengono eliminate (una per iterazione), se non forniscono valore al modello di regressione appena formato in ogni iterazione. Questo è di nuovo, basato sui valori P ottenuti usando il modello statistico iniziale, e sulla base di questi valori P, le caratteristiche vengono eliminate dal modello. Usando anche questo metodo, c’è un’incertezza nella rimozione delle variabili altamente correlate.

Foto di Markus Spiske su Unsplash

Recursive Feature Elimination (RFE)

RFE è una tecnica/algoritmo molto usata per selezionare un numero esatto di caratteristiche significative, a volte per spiegare un particolare numero di caratteristiche “più importanti” che hanno un impatto sul business, e a volte come metodo per ridurre un numero molto alto di caratteristiche (diciamo circa 200-400) fino a solo quelle che creano anche solo un po’ di impatto sul modello, ed eliminando il resto. RFE usa un sistema basato sui ranghi, per mostrare i ranghi delle caratteristiche nel set di dati, e questi ranghi sono usati per eliminare le caratteristiche in un ciclo ricorsivo, basato sulla collinearità presente tra loro, e naturalmente, l’importanza di queste caratteristiche nel modello. Oltre a classificare le caratteristiche, RFE può mostrare se queste caratteristiche sono importanti o no, anche per il numero selezionato di caratteristiche (perché è molto probabile che il numero selezionato, che abbiamo scelto, possa non rappresentare il numero ottimale di caratteristiche importanti, e che il numero ottimale di caratteristiche possa essere più o meno di questo numero scelto dall’utente).

Foto di Andrew Seaman su Unsplash

Charted Feature Importance

Quando si parla di interpretabilità degli algoritmi di machine learning, di solito discutiamo sulla regressione lineare (in quanto possiamo analizzare l’importanza delle caratteristiche usando i valori P) e l’albero decisionale (che praticamente mostra l’importanza delle caratteristiche sotto forma di un albero, che mostra anche la gerarchia di importanza), ma d’altra parte, spesso usiamo il grafico dell’importanza delle variabili, per tracciare le variabili e la “quantità della loro importanza”, in algoritmi come Random Forest Classifier, Light Gradient Boosting Machine, e XG Boost. Questo è particolarmente utile quando l’importanza ben strutturata delle caratteristiche deve essere presentata a un’azienda che si sta analizzando.

Foto di Robert Anasch su Unsplash

Regolarizzazione

La regolarizzazione viene fatta per monitorare il trade-off tra bias e varianza. La distorsione dice quanto il modello ha sovraadattato il set di dati di allenamento. La varianza ci dice quanto sono diverse le previsioni fatte sui set di dati di allenamento e di test. Idealmente, sia il bias che la varianza devono essere ridotti. La regolarizzazione viene a salvare la giornata qui! Ci sono principalmente due tipi di tecniche di regolarizzazione:

L1 Regolarizzazione – Lasso: Lasso penalizza i coefficienti beta del modello per cambiare la loro importanza nel modello, e può anche metterli a terra (trasformarli in zeri, cioè sostanzialmente rimuovere queste variabili dal modello finale). Generalmente, Lasso viene utilizzato quando si osserva che il vostro set di dati ha un gran numero di variabili, e avete bisogno di rimuoverne alcune per una migliore comprensione di come le caratteristiche importanti influenzano il vostro modello (cioè le caratteristiche che vengono infine selezionate da Lasso, e la loro importanza viene assegnata).

L2 Regolarizzazione – Ridge: La funzione di Ridge è quella di mantenere tutte le variabili, cioè usare tutte le variabili per costruire il modello, e allo stesso tempo, assegnare loro un’importanza tale che ci sia un miglioramento nelle prestazioni del modello. Ridge è un’ottima scelta quando il numero di variabili nell’insieme di dati è basso, e quindi tutte quelle variabili sono necessarie per interpretare le intuizioni e le previsioni dei risultati ottenuti.

Siccome Ridge mantiene tutte le variabili intatte, e Lasso fa un lavoro migliore nell’assegnare l’importanza alle variabili, una combinazione di entrambi, conosciuta come Elastic-Net è stata sviluppata come un modo per sviluppare un algoritmo, combinando le migliori caratteristiche di Ridge e Lasso. Elastic-Net diventa così la scelta ideale.

Foto di Hunter Harritt su Unsplash

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.