C’è questo brusio ovunque – Machine Learning!
Quindi, cos’è questo “Machine Learning(ML)?”
Consideriamo un esempio pratico. Se poteste immaginare la probabilità del risultato di un compito fatto per la prima volta – diciamo che il compito è quello di imparare a guidare una macchina. Cioè, come ti sentiresti? Con incertezza?
D’altra parte, come vi piacerebbe darvi una pacca sullo stesso compito dopo un paio d’anni di pratica? Probabilmente avresti la tua mentalità passata dal parametro dell’incertezza o da uno più certo. Quindi, come hai ottenuto questa competenza nel compito?
Molto probabilmente, hai fatto esperienza modificando alcuni parametri, e le tue prestazioni sono migliorate. Giusto? Questo è il Machine Learning.
Si dice che un programma per computer impara dall’esperienza (E) su alcuni compiti (T) per dare il risultato migliore (P).
Nella stessa ottica, le macchine imparano da alcuni concetti matematici complessi, e ogni dato per loro è in forma di 0 e 1. Di conseguenza, non codifichiamo la logica per il nostro programma; invece, vogliamo che una macchina capisca la logica dai dati per conto suo.
Inoltre, se si vuole trovare la relazione tra esperienza, livello di lavoro, abilità rare e stipendio, allora è necessario insegnare gli algoritmi di apprendimento automatico.
Secondo questo caso studio, è necessario modificare le caratteristiche per ottenere le etichette. Ma, non si codifica l’algoritmo, e la vostra attenzione dovrebbe essere sui dati.
Quindi, il concetto è Dati + Algoritmo = Insights. In secondo luogo, gli algoritmi sono già sviluppati per noi, e dobbiamo sapere quale algoritmo usare per risolvere i nostri problemi. Diamo un’occhiata al problema della regressione e al modo migliore per scegliere un algoritmo.
La panoramica dell’apprendimento automatico
Secondo Andreybu, uno scienziato tedesco con più di 5 anni di esperienza nell’apprendimento automatico, “Se riesci a capire se il compito di apprendimento automatico è un problema di regressione o classificazione, allora scegliere l’algoritmo giusto è un gioco da ragazzi.”
Per enumerare, la principale differenza tra loro è che la variabile di output nella regressione è numerica (o continua) mentre quella per la classificazione è categoriale (o discreta).
Regressione nell’apprendimento automatico
Per cominciare, gli algoritmi di regressione cercano di stimare la funzione di mappatura (f) dalle variabili di input (x) alle variabili di output numeriche o continue (y). Ora, la variabile di uscita potrebbe essere un valore reale, che può essere un intero o un valore in virgola mobile. Pertanto, i problemi di predizione di regressione sono di solito quantità o grandezze.
Per esempio, se vi viene fornito un set di dati sulle case, e vi viene chiesto di prevedere i loro prezzi, questo è un compito di regressione perché il prezzo sarà un output continuo.
Esempi di algoritmi di regressione comuni includono la regressione lineare, la regressione vettoriale di supporto (SVR) e gli alberi di regressione.
Classificazione nell’apprendimento automatico
Al contrario, nel caso degli algoritmi di classificazione, y è una categoria che la funzione di mappatura predice. Per elaborare, per singole o diverse variabili di input, un modello di classificazione cercherà di predire il valore di una singola o diverse conclusioni.
Per esempio, se vi viene fornito un set di dati sulle case, un algoritmo di classificazione può cercare di predire se i prezzi delle case “vendono più o meno del prezzo di vendita consigliato”. Qui le due categorie discrete: sopra o sotto il suddetto prezzo.
Esempi di algoritmi di classificazione comuni includono regressione logistica, Naïve Bayes, alberi decisionali e K Nearest Neighbors.
Scegliere gli algoritmi giusti
Comprendere i tuoi dati
- Guarda le statistiche riassuntive
- Usa il parametro ‘Percentile’ per identificare gli intervalli dei dati
- Le medie e le mediane descrivono la tendenza centrale
- Le correlazioni possono indicare forti relazioni
Visualizzare i dati
- I box plot possono indicare eccezioni.
- I grafici di densità e gli istogrammi mostrano la diffusione dei dati
- I grafici di dispersione possono descrivere relazioni quantitative
Pulisci i dati
- Gestire un valore mancante. Il risultato è soggetto a dare esiti sensibili nel caso (i dati mancanti per alcune variabili possono portare a previsioni imprecise)
- Anche se i modelli ad albero sono meno sensibili alla presenza di outlier, i modelli regressivi o altri modelli che utilizzano equazioni sono più sensibili alle eccezioni
- In pratica, i valori anomali potrebbero essere il risultato di una cattiva raccolta dei dati, o potrebbero essere legittimi valori estremi
Curare i dati
Inoltre, mentre si convertono i dati grezzi in uno lucido conforme ai modelli, si deve fare attenzione a quanto segue:
- Rendere i dati più facili da interpretare.
- Catturare dati più complessi.
- Focalizzarsi sulla riduzione della ridondanza e della dimensionalità dei dati.
- Normalizzare i valori delle variabili.
Categorizzare il problema attraverso la variabile di input
- Hai dati etichettati; è un problema di apprendimento supervisionato.
- Se hai dati non etichettati e vuoi trovare la struttura, è un problema di apprendimento non supervisionato.
- Nel caso tu voglia ottimizzare una funzione obiettivo interagendo con un ambiente, è un problema di apprendimento per rinforzo.
Categorizza il problema attraverso la variabile di output
- L’output del tuo modello è un numero; è un problema di regressione.
- Quando l’output del tuo modello è una classe, allora è un problema di classificazione.
- L’output del tuo modello è un insieme di gruppi di input; è un problema di clustering.
Il fattore di vincolo
- Prendi nota della capacità di memorizzazione poiché varia per vari modelli.
- La predizione deve essere veloce? Per esempio, in scenari in tempo reale come la classificazione dei segnali stradali, sii il più veloce possibile per evitare incidenti.
Infine, trova l’algoritmo
Ora che avete un quadro chiaro dei vostri dati, potreste implementare strumenti adeguati per scegliere il giusto algoritmo.
Nel frattempo, per una decisione migliore, ecco una lista di controllo dei fattori per voi:
- Vedi se il modello si allinea al tuo obiettivo di business
- Quanto pre-processing richiede il modello
- Verifica la precisione del modello
- Quanto è spiegabile il modello
- Quanto è veloce il modello: Quanto tempo ci vuole per costruire un modello, e quanto tempo impiega il modello per fare previsioni
- La scalabilità del modello
Inoltre, si deve prestare attenzione alla complessità dell’algoritmo durante la scelta.
In generale, si potrebbe misurare la complessità del modello utilizzando i parametri:
- Quando richiede due o più di dieci caratteristiche per imparare e prevedere l’obiettivo
- Si basa su un’ingegneria delle caratteristiche più complessa (ad es, usando termini polinomiali, interazioni, o componenti principali)
- Quando lo scenario ha un maggiore overhead computazionale (ad esempio, un singolo albero decisionale contro una foresta casuale di 100 alberi)
Inoltre, lo stesso algoritmo può essere reso più complesso manualmente. Dipende puramente dal numero di parametri assunti e dallo scenario in considerazione. Per esempio, si potrebbe progettare un modello di regressione con più caratteristiche o termini polinomiali e termini di interazione. Oppure, si potrebbe progettare un albero decisionale con meno profondità.
I comuni algoritmi di apprendimento automatico
Regressione lineare
Questi sono probabilmente i più semplici.
Pochi degli esempi in cui viene usata la regressione lineare sono:
- Prevedere le vendite di un particolare prodotto il mese prossimo
- Impatto del tasso di alcolemia sulla coordinazione
- Prevedere le vendite mensili di carte regalo e migliorare le proiezioni delle entrate annuali
Regressione logistica
Apparentemente, ci sono un sacco di vantaggi per questo algoritmo – integrazione di più funzioni con una bella struttura di interpretazione, facilità di aggiornamento per aggiungere nuovi dati.
Per dirla diversamente, si potrebbe usare per:
- Prevedere il churning dei clienti.
- Il caso particolare del credit scoring o del rilevamento delle frodi.
- Misurare l’efficacia delle campagne di marketing.
Alberi di decisione
Apparentemente, gli alberi singoli sono usati raramente, ma in composizione, con molti altri, costruiscono algoritmi efficienti come Random Forest o Gradient Tree Boosting. Tuttavia, uno degli svantaggi è che non supportano l’apprendimento online, quindi è necessario ricostruire l’albero quando arrivano nuovi esempi.
Gli alberi sono eccellenti per:
- Decisioni di investimento
- Decisioni di prestito bancario
- Qualificazione dei lead di vendita
Naive Bayes
Più importante, Naive Bayes è una scelta giusta quando le risorse di CPU e memoria sono un fattore limitante. Tuttavia, il suo principale svantaggio è che non può imparare le interazioni tra le caratteristiche.
Può essere usato per:
- Riconoscimento dei volti
- Marcare un’email come spam o no.
- Analisi dei sentimenti e classificazione del testo.
Conclusione
Quindi, in generale, in uno scenario in tempo reale, è un po’ difficile trovare l’algoritmo di machine learning adatto allo scopo. Tuttavia, è possibile utilizzare questa lista di controllo per selezionare alcuni algoritmi a proprio piacimento.
Inoltre, optare per la giusta soluzione a un problema di vita reale richiede una comprensione aziendale esperta insieme all’algoritmo giusto. Quindi, insegnate i vostri dati agli algoritmi giusti, eseguiteli tutti in parallelo o in serie, e alla fine valutate le prestazioni degli algoritmi per selezionare i migliori.
Se state cercando di specializzarvi nel deep learning, allora potete controllare questo corso di deep learning.