Definizione dell'obiettivo

Pubblicato: 2015-08-21

I metodi di Machine Learning possono essere classificati in due grandi categorie: supervisionati e non supervisionati. L'apprendimento supervisionato apprende da un insieme etichettato di osservazioni, in cui è noto che le osservazioni appartengono a determinate classi (per problemi di classificazione) o hanno determinati valori (problema di regressione). L'apprendimento non supervisionato apprende da un insieme di osservazioni senza etichetta, dove nient'altro è noto a parte le osservazioni stesse.

Per i metodi di apprendimento supervisionato, diciamo essenzialmente che “guarda questi dati 'veri' e dimmi di sapere per conoscere la 'verità' dei dati invisibili”. Per i metodi di apprendimento senza supervisione, questo equivale a "guardare questi dati e dimmi qualcosa di interessante che non so". Sebbene una chiara dicotomia sia utile, in questo post parleremo di varianti interessanti in cui la definizione del target può diventare essa stessa un compito molto interessante!

Semi-sorvegliato

Questa è una via di mezzo tra i dati supervisionati e non supervisionati, dove le etichette "vere" esistono solo per alcune delle osservazioni ma non tutte. Ignorare le informazioni a portata di mano è un'ingiustizia per la qualità dei modelli analitici, ma l'utilizzo di queste informazioni può rendere insolito il problema. Nel mondo in cui la generazione dei dati è facile – si pensi a Internet – e l'etichettatura è costosa, molti problemi ricadono nel dominio semi-supervisionato.

Un approccio potrebbe essere quello di non includere le informazioni sull'etichetta per la modellazione, ma solo per la convalida del modello e il confronto delle prestazioni. Ad esempio, possiamo segmentare i dati in k cluster utilizzando il clustering non supervisionato e quindi verificare la competenza del nostro modello confrontando il cluster previsto con il cluster effettivo. Questo può aiutarci a decidere meglio tra più soluzioni di clustering.

Un altro approccio potrebbe essere quello di utilizzare queste informazioni per la modellazione. Abbiamo discusso del clustering semi-supervisionato in un precedente post sul blog.

Discreto contro continuo

Sebbene molte situazioni rientrino ovviamente in categorie di classificazione o regressione, dove il valore "vero" è una classe discreta o un valore continuo, ci sono casi in cui la trasformazione dell'obiettivo ha senso.

Considera le entrate a livello di cliente in funzione del comportamento demografico e delle transazioni passate del cliente. Questo è un problema abbastanza comune nei settori della vendita al dettaglio, delle banche, delle assicurazioni e delle telecomunicazioni. Le entrate, spesso degli ultimi N mesi, sono ovviamente un numero continuo. Una regressione (lineare, forse) potrebbe adattarsi qui, dici! Ma ci sono metodi più complessi e sofisticati disponibili per problemi di classificazione, come le reti neurali, che possono potenzialmente fare un lavoro migliore ma non si applicano al target continuo. A seconda del contesto aziendale, potrebbe non essere necessario prevedere le entrate effettive, ma solo se le entrate saranno alte, medie o basse. In tal caso, puoi rivedere la distribuzione delle entrate per tutti i clienti e definire i confini per alto-medio e medio-basso, e voilà! Hai convertito un problema di destinazione continua in un problema di classificazione discreta a tre classi.

Se il tuo obiettivo continuo è una percentuale, ad esempio una frazione di studenti che superano l'esame nelle scuole, e vuoi prevedere anche la percentuale per la scuola nuova/non vista, allora hai un'altra opzione oltre al modello di regressione. Puoi parcellare i dati! La parcellizzazione converte le frazioni continue in classi binarie replicando le osservazioni. Per un'osservazione con valore target del 40%, si replica l'osservazione 100 volte e per 40 di esse si assegna la classe 1 e per le restanti 60 si assegna la classe 60. Dato che l'osservazione è la stessa e il set di funzionalità è lo stesso, il modello cercherà di differenziare 1 da 0 e concludere che questo tipo di osservazione ha il 40% di probabilità di essere 1 e il 60% di probabilità di essere 0. Puoi fare lo stesso per tutte le osservazioni. (Sì, questo aumenterà le dimensioni del collettore di dati di addestramento.) I modelli di classificazione più comuni producono comunque la probabilità di classe=1 come risultato, e questo è il risultato che desideri comunque!

Potrebbe esserci un caso per convertire classi discrete in valore continuo? Per lo più no, ma ci sono esempi. Quando stai cercando di prevedere l'età di qualcuno in anni, che è essenzialmente un intero discreto compreso tra 0 e 100 (o giù di lì), puoi considerare l'età come un obiettivo continuo. Allo stesso modo, se hai categorie di reddito sufficientemente granulari, diciamo, 0-50k, 50k-100k, 100k-150k, ecc., allora potresti trarre vantaggio dal trattare il reddito come variabile continua piuttosto che risolvere un problema di 20 classi.

Caso di nessuna classe

Tutti i dati sono etichettati o non etichettati. Quando i dati sono etichettati (assume, binari), appartengono a una classe oa un'altra. Ma in pratica, i dati potrebbero non appartenere a nessuna classe.

Ad esempio, tra un mucchio di richieste di risarcimento assicurative, potresti sapere con certezza che alcune affermazioni sono frode e altre non essere frode, ma potresti non conoscere molte che non sono mai state indagate. Considera, tra i richiedenti di carte di credito che sono stati accettati o che sono stati rifiutati come parte del modello di punteggio dell'applicazione nel settore bancario. Ma ci sono molti clienti che non hanno fatto domanda e non sai se sarebbero stati accettati o meno. Spesso non possiamo trattare dati senza etichetta e dobbiamo escluderli dalla nostra popolazione in via di sviluppo. Tuttavia, dobbiamo tenere a mente se ciò induce pregiudizi nella modellazione. Nell'esempio assicurativo sopra, forse i reclami che sono stati indagati all'inizio erano sospetti (anche quelli trovati non fraudolenti), o nell'esempio bancario, i clienti che non hanno presentato domanda non sono stati sollecitati dalla forza vendita che ha escluso del tutto una categoria demografica.

Se si esegue la trasformazione di destinazione come descritto nella sezione precedente, è possibile creare autonomamente dati di nessuna classe. Supponiamo di definire un fatturato superiore a 5000/- all'anno un massimo e inferiore a 5000/- all'anno un minimo per convertire l'obiettivo continuo in un obiettivo binario. Questo, tuttavia, sarà un cattivo progetto, perché c'è un taglio arbitrario a 5000. Un cliente con un fatturato di 4999/- non è molto diverso da quello con un fatturato di 5001/- eppure li metti a pezzi. La tua definizione implica che le entrate di 5001/- sono più simili alle entrate di 10000/- che di 4999/-. Vedi il problema? Puoi farlo, tecnicamente, ma il modello risultante non sarà buono e robusto poiché gli stai chiedendo di imparare le differenze da clienti simili.

Di solito è una buona pratica includere una zona buffer/nessuna classe. Quindi puoi definire un ricavo di 6000/- o più alto e 4000/- o meno come basso e ignorare le osservazioni con un ricavo compreso tra 4000/- e 6000/-. Mentre perdi alcuni dati, il modello farà un lavoro molto migliore poiché ciò che definisci diverso è davvero diverso.

Sebbene molta attenzione sia meritatamente rivolta alla preparazione dei dati, alla generazione di funzionalità e al metodo di apprendimento automatico, la definizione dell'obiettivo giusto può anche essere utile per la qualità del risultato analitico complessivo.