Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.L'apprendimento automatico è l'attuale frase in voga intesa a comprendere gli algoritmi informatici utilizzati per prendere decisioni, previsioni o classificazioni basate sui dati.
Quando sono entrato JMP nel 2014 sono uscito fresco dal completamento di un dottorato di ricerca in statistica presso una scuola con una lunga storia di eccellenza negli esperimenti agricoli e nella modellazione mista. Questo era il mondo a cui ero abituato: piccoli esperimenti progettati per massimizzare le informazioni ricevute attraverso una pianificazione giudiziosa, quasi sempre qualche caratteristica di progettazione dell'esperimento che richiedeva l'analisi di tecniche di modelli misti (la più semplice era una progettazione a trama divisa) e l'obiettivo di determinare quali trattamenti danno i migliori risultati. Questo era vero sia che lo scienziato con cui lavoravo fosse in scienze animali, entomologia, scienze alimentari o educazione.
Poco dopo l'arrivo in JMP, il clamore intorno ai Big Data è arrivato il suo apice . Un paio d'anni dopo è arrivata l'ascesa del Machine Learning. Non sorprende che l'ascesa del Machine Learning abbia seguito quella dei Big Data. Cosa avrebbero dovuto fare le persone con tutti i dati che avevano raccolto? Analizzalo utilizzando gli strumenti nella casella degli strumenti di Machine Learning, ovviamente.
La mia istruzione formale non mi aveva particolarmente preparato per nessuna di queste cose, ma quando ho iniziato la mia carriera come sviluppatore statistico, questi argomenti erano ciò di cui avevo bisogno per mettermi al corrente e velocemente! Quindi ho fatto quello che ogni studente fa in questi giorni quando muove i primi passi in un nuovo argomento: ho visitato Wikipedia .
“ Apprendimento automatico è un interdisciplinare campo che utilizza tecniche statistiche per dare sistemi informatici la capacità di "imparare" (ad esempio, migliorare progressivamente le prestazioni su un compito specifico) da dati , senza essere esplicitamente programmato.”
Questo è stato un po' sbalorditivo. Com'è possibile che un sistema informatico "impara" qualcosa senza essere esplicitamente programmato? Non abbiamo raggiunto Skynet , eppure, che ne sono consapevole! È ora di continuare a scavare. Enciclopedia Britannica dice, " Apprendimento automatico , nell'intelligenza artificiale (una materia all'interno dell'informatica), disciplina che si occupa dell'implementazione di software per computer in grado di apprendere autonomamente.
Ora ho perso la mia connessione con le statistiche nella definizione, ma almeno è più evidente che siamo interessati a implementare software in grado di apprendere autonomamente. Il "senza essere esplicitamente programmato" si riferisce al fatto che una volta che i dati sono passati all'algoritmo, l'algoritmo fa il resto senza ulteriori istruzioni da parte nostra.
Sulla base di queste definizioni e della mia percezione dell'uso comune della frase, sono arrivato a pensare all'apprendimento automatico come all'attuale frase di tendenza intesa a comprendere gli algoritmi informatici utilizzati per prendere decisioni, previsioni o classificazioni basate sui dati.
Apprendimento supervisionato e non supervisionato
Così fa JMP fare apprendimento automatico? Assolutamente! E lo abbiamo, tecnicamente, dalla primissima versione! Eravamo così in anticipo sui tempi nel 1989? Mi piacerebbe pensarlo. Ma esaminiamo più in dettaglio quegli algoritmi a cui le persone pensano quando dicono Machine Learning.
In genere, gli algoritmi di Machine Learning sono classificati in diversi tipi: apprendimento supervisionato e non supervisionato. Con l'apprendimento supervisionato, gli algoritmi funzionano sia con i predittori (colonne X) sia con una risposta (colonna Y). I dati di addestramento utilizzati "supervisionano" l'algoritmo dicendogli quale dovrebbe essere la risposta per i valori dati delle variabili predittive. Con l'apprendimento non supervisionato, solo i predittori vengono utilizzati dagli algoritmi e qualsiasi modello è determinato esclusivamente da essi. Non è fornita alcuna "verità" - e in effetti potremmo non conoscere la "verità".
Quali algoritmi di machine learning in JMP rientrano in quali categorie?
Supervisionato
|
Senza supervisione
|
Alberi decisionali *
|
Raggruppamento
|
Reti neurali *
|
Mappe auto-organizzanti
|
Foresta Bootstrap *
|
Analisi di associazione
|
Regressione
|
Scomposizione di un valore singolo
|
K Vicini più vicini *
|
|
Bayes ingenuo *
|
|
* Alcune caratteristiche di queste piattaforme sono JMPPro soltanto.
Molte persone sono sorprese nel vedere la regressione nell'elenco, e certamente non è tra ciò che viene comunemente considerato apprendimento automatico, ma è la forma più semplice di apprendimento supervisionato. E Adatta Y per X era in JMP 1! Il clustering è stato aggiunto in JMP 3 e le opzioni di Machine Learning hanno continuato a venire dopo.
Per quelli di voi che hanno familiarità con uno o più di questi algoritmi, potreste notare una somiglianza tra loro. Molti modelli producono un'incredibile accuratezza predittiva, ma se provassi a spiegare cosa significano i coefficienti o i cut-off, probabilmente sarebbe difficile farlo. Posso seguire un albero decisionale attraverso i suoi punti di taglio per arrivare a una previsione, ma non c'è alcun significato intrinseco dietro dove si trovano quei punti di taglio. Non ho idea di cosa significhino le stime dei parametri in un modello di rete neurale nel "mondo reale", ma le reti neurali sono alcuni dei modelli di Machine Learning con le migliori prestazioni predittive disponibili.
Al contrario, un modello di regressione fornisce stime dei parametri che hanno un significato intrinseco per gli utenti. Se un coefficiente è positivo, sappiamo che aumentando il valore di quel predittore di un'unità aumenterà la risposta del valore del coefficiente. Questo si collega a ciò a cui si riferisce il dottor Galit Shmueli "Spiegare o prevedere?" Uno dei migliori compromessi in questo compromesso è nella personalità Regressione generalizzata della piattaforma Fit Model. Come ha discusso il mio collega Clay Barker, l'utilizzo di Lasso o Elastic Net migliora le prestazioni predittive, ma il modello può ancora essere spiegato.
Ma la mancanza di interpretabilità conta? Forse sì forse no. Se il caso d'uso è strettamente focalizzato sul raggiungimento delle previsioni più accurate di eventi futuri, non è necessario un modello interpretabile. D'altra parte, se le parti interessate desiderano modi più concreti per "migliorare il proprio punteggio", potrebbe essere preferibile un modello spiegabile. La chiave per qualsiasi modello è puoi mettere in atto l'output.
Gli esseri umani sono ancora necessari
Questo fa emergere il mio ultimo punto. Anche con tutte le cose straordinarie che gli algoritmi informatici possono fare, è ancora necessario un analista umano per affrontare le domande di livello superiore.
- Quali dati devono essere inclusi o esclusi dall'analisi? Alcuni algoritmi hanno la capacità di scegliere variabili importanti, ma se una variabile non è stata data al computer all'inizio, non verrà scelta anche se potrebbe essere altamente predittiva!
- Dov'è il punto di rendimenti decrescenti? Se un modello è troppo complesso per essere eseguito nel tempo necessario, non sarà utile. Forse un modello meno complesso fornisce risultati quasi altrettanto buoni e può essere eseguito rapidamente. Un noto esempio di questo è il vincitore del premio Netflix. Il modello vincente ha funzionato meglio di quanto quasi tutti si aspettassero, ma la quantità di dati richiesti e l'elaborazione hanno reso impossibile l'esecuzione nell'ambiente in tempo reale di cui Netflix aveva bisogno per suggerire cosa gli utenti avrebbero dovuto guardare in seguito.
- Ci sono pregiudizi intrinseci nel modello? Ovviamente, un algoritmo informatico non avrà i pregiudizi che hanno gli esseri umani, ma è possibile che un algoritmo dia come risultato un modello altamente correlato con caratteristiche che sono distorte. Nel prestito ipotecario ci sono caratteristiche che sono illegali da utilizzare nel prendere decisioni di prestito. Tuttavia, ci sono diversi fattori legali che possono essere fortemente correlati a quelli illegali. Un algoritmo può generare un modello che rifiuta quasi perfettamente una particolare etnia anche senza che l'etnia faccia direttamente parte dei dati. Quel modello avrebbe probabilmente conseguenze legali.
- Quando dovrebbe essere aggiornato il modello? Poiché lo scopo della modellazione è produrre una sorta di output su cui possiamo agire, una volta intrapresa tale azione, il modello dovrà essere aggiornato. Questo aggiornamento è necessario perché le modifiche implementate influiranno sui futuri input nel modello. Se continuiamo a utilizzare il vecchio modello, rischiamo di estrapolare oltre i limiti dei dati originali. Il punto in cui un modello dovrebbe essere aggiornato è una domanda a cui solo gli esseri umani possono rispondere.
In il mio prossimo post , ti parlerò di due dei miei algoritmi di machine learning preferiti: K Nearest Neighbors e Naïve Bayes. E daremo un'occhiata a questi due metodi in azione su alcuni dati divertenti che ho raccolto io stesso.