Tutorial sul machine learning per principianti: cos'è e nozioni di base sul machine learning
⚡ Riepilogo intelligente
L'apprendimento automatico (Machine Learning) è una famiglia di algoritmi informatici che migliorano a partire da esempi anziché essere codificati esplicitamente, combinando dati e strumenti statistici per prevedere risultati che le persone possono trasformare in decisioni concrete.
Cos'è l'apprendimento automatico?
machine Learning è un sistema di algoritmi informatici in grado di apprendere dagli esempi attraverso l'auto-miglioramento, senza essere esplicitamente codificati da un programmatore. L'apprendimento automatico è parte di intelligenza artificiale che combina i dati con strumenti statistici per prevedere un risultato che può essere utilizzato per trarre spunti concreti.
La svolta arriva con l'idea che una macchina possa imparare dai dati (cioè, dagli esempi) da sola per produrre risultati accurati. L'apprendimento automatico è strettamente correlato a data mining e la modellazione predittiva bayesiana. La macchina riceve i dati in input e utilizza un algoritmo per formulare le risposte.
Un tipico compito di apprendimento automatico è quello di fornire una raccomandazione. Per coloro che hanno un Netflix account, tutti i consigli di film o serie sono basati sui dati storici dell'utente. Le aziende tecnologiche utilizzano apprendimento senza supervisione Migliorare l'esperienza utente personalizzando i consigli.
L'apprendimento automatico viene utilizzato anche per una varietà di compiti come il rilevamento delle frodi, la manutenzione predittiva, l'ottimizzazione del portafoglio e l'automazione delle attività.
Apprendimento automatico e programmazione tradizionale
La programmazione tradizionale differisce significativamente dall'apprendimento automatico. Nella programmazione tradizionale, un programmatore codifica tutte le regole in consultazione con un esperto del settore per il quale il software viene sviluppato. Ogni regola si basa su un fondamento logico; la macchina produce un output seguendo l'affermazione logica. Quando il sistema diventa complesso, è necessario scrivere più regole e la sua manutenzione può diventare rapidamente insostenibile. Il diagramma seguente mostra questo flusso, dove i dati e le regole scritte manualmente entrano e le risposte vengono prodotte.

L'apprendimento automatico mira a superare questo problema. La macchina apprende la correlazione tra i dati di input e di output e genera autonomamente la regola. I programmatori non devono quindi scrivere nuove regole ogni volta che ci sono nuovi dati. Gli algoritmi si adattano in risposta ai nuovi dati e all'esperienza, migliorando l'efficacia nel tempo. Il secondo diagramma inverte il primo: i dati e le risposte note entrano in gioco, e la regola viene generata.
Come funziona l'apprendimento automatico?
Detto questo, la domanda successiva è cosa accade effettivamente durante la fase di apprendimento.
L'apprendimento automatico è il cervello in cui avviene tutto l'apprendimento. Il modo in cui una macchina apprende è simile a quello di un essere umano. Gli esseri umani imparano dall'esperienza: più sappiamo, più facilmente riusciamo a prevedere. Per analogia, quando ci troviamo di fronte a una situazione sconosciuta, la probabilità di successo è inferiore rispetto a una situazione nota. Le macchine vengono addestrate allo stesso modo. Per fare una previsione accurata, la macchina osserva un esempio. Quando le forniamo un esempio simile, è in grado di prevedere il risultato. Tuttavia, proprio come un essere umano, se le viene fornito un esempio mai visto prima, la macchina ha difficoltà a prevedere.
Gli obiettivi principali dell'apprendimento automatico sono l'apprendimento e l'inferenza. Innanzitutto, la macchina apprende attraverso la scoperta di modelli, e tale scoperta è resa possibile dai dati. Una parte cruciale del lavoro dello scienziato dei dati è scegliere attentamente quali dati fornire alla macchina. L'elenco degli attributi utilizzati per risolvere un problema è chiamato vettore di caratteristicheSi può pensare a un vettore di caratteristiche come a un sottoinsieme di dati utilizzato per affrontare un problema.
La macchina utilizza algoritmi per semplificare la realtà e trasformare questa scoperta in un modello. La fase di apprendimento viene quindi utilizzata per descrivere i dati e riassumerli in un modello, come illustrato di seguito.
Ad esempio, la macchina sta cercando di capire la relazione tra il salario di un individuo e la probabilità che vada in un ristorante di lusso. Si scopre che la macchina trova una relazione positiva tra salario e frequentazione di ristoranti di lusso: questo è il modello.
Inferire
Una volta creato il modello, è possibile testarne l'efficacia su dati mai visti prima. I nuovi dati vengono trasformati in un vettore di caratteristiche, elaborati dal modello e utilizzati per generare una previsione. Questa è la parte più preziosa dell'apprendimento automatico. Non è necessario aggiornare le regole o addestrare nuovamente il modello: è possibile utilizzare il modello precedentemente addestrato per effettuare un'inferenza su nuovi dati, esattamente come illustrato nel diagramma seguente.
Il ciclo di vita di un programma di apprendimento automatico è lineare e può essere riassunto nei seguenti punti:
- Definire una domanda
- Raccogliere dati
- Visualizza i dati
- Algoritmo del treno
- Testa l'algoritmo
- Raccogli feedback
- Perfezionare l'algoritmo
- Ripeti i passaggi da 4 a 7 finché i risultati non sono soddisfacenti
- Utilizza il modello per fare una previsione
Una volta che l'algoritmo riesce a trarre le giuste conclusioni, applica tale conoscenza a nuovi set di dati.
machine Learning Algorithms e dove vengono utilizzati?
Il grafico seguente raggruppa gli algoritmi più comuni in base al tipo di compito che risolvono.
L'apprendimento automatico può essere suddiviso in due grandi compiti di apprendimento: supervisionato and senza sorveglianza. Altre due famiglie si trovano tra e oltre di esse: l'apprendimento semi-supervisionato, che mescola un piccolo insieme etichettato con uno grande non etichettato, e insegnamento rafforzativo, dove un agente impara dalle ricompense piuttosto che dalle risposte etichettate.
Apprendimento supervisionato
Un algoritmo utilizza dati di addestramento e feedback umani per apprendere la relazione tra input specifici e output specifici. Ad esempio, un professionista può utilizzare le spese di marketing e le previsioni meteorologiche come dati di input per prevedere le vendite di lattine.
Puoi usare apprendimento supervisionato quando i dati di output sono noti. L'algoritmo effettuerà quindi una previsione sui nuovi dati.
Esistono due categorie di apprendimento supervisionato:
- Compito di classificazione
- Compito di regressione
Classificazione
Immagina di voler prevedere il sesso di un cliente per uno spot pubblicitario. Inizierai raccogliendo dati su altezza, peso, professione, stipendio, carrello della spesa e così via dal tuo database clienti. Conosci il sesso di ciascun cliente, che può essere solo maschile o femminile. L'obiettivo del classificatore è assegnare una probabilità di essere maschile o femminile (ovvero, l'etichetta) in base alle informazioni raccolte (ovvero, le caratteristiche). Una volta che il modello ha imparato a riconoscere il sesso maschile o femminile, puoi utilizzare nuovi dati per fare una previsione. Ad esempio, hai appena ricevuto nuove informazioni da un cliente sconosciuto e vuoi sapere se è maschile o femminile. Se il classificatore prevede maschile = 70%, significa che l'algoritmo è sicuro al 70% che questo cliente sia maschile e al 30% che sia femminile.
L'etichetta può avere due o più classi. L'esempio di apprendimento automatico sopra riportato ha solo due classi, ma se un classificatore deve prevedere gli oggetti, potrebbe averne decine (ad esempio, vetro, tavolo, scarpe: ogni oggetto rappresenta una classe).
Regressione
Quando l'output è un valore continuo, il compito è una regressione. Ad esempio, un analista finanziario potrebbe dover prevedere il valore di un'azione in base a una serie di caratteristiche come il patrimonio netto, la performance passata dell'azione e gli indici macroeconomici. Il sistema verrà addestrato per stimare il prezzo dell'azione con il minimo errore possibile.
La tabella seguente elenca gli algoritmi di apprendimento supervisionato che incontrerete più frequentemente e il compito per cui ciascuno è adatto.
| Algoritmo | Descrizione | Tipo |
|---|---|---|
| Regressione lineare | Trova un modo per correlare ciascuna funzionalità all'output per aiutare a prevedere i valori futuri. | Regressione |
| Regressione logistica | Estensione della regressione lineare utilizzata per compiti di classificazione. La variabile di output è binaria (ad esempio, solo bianco o nero) anziché continua (ad esempio, un elenco infinito di colori possibili). | Classificazione |
| Albero decisionale | Modello di classificazione o regressione altamente interpretabile che divide i valori delle caratteristiche dei dati in rami nei nodi decisionali (ad esempio, se una caratteristica è un colore, ogni colore possibile diventa un nuovo ramo) fino a quando non viene preso un output decisionale finale | Regressione Classificazione |
| Ingenuo Bayes | Il metodo bayesiano è un metodo di classificazione che fa uso del teorema bayesiano. Il teorema aggiorna la conoscenza previa di un evento con la probabilità indipendente di ciascuna caratteristica che può influenzare l'evento. | Regressione Classificazione |
| Supporta la macchina vettoriale | La Support Vector Machine, o SVM, viene tipicamente utilizzata per il compito di classificazione. L'algoritmo SVM trova un iperpiano che divide in modo ottimale le classi. È particolarmente efficace se utilizzato con un risolutore non lineare. | Regressione (non molto comune) Classificazione |
| Foresta casuale | L'algoritmo si basa su un albero decisionale per migliorare drasticamente la precisione. Random Forest genera molti alberi decisionali semplici e utilizza il metodo del "voto di maggioranza" per decidere quale etichetta restituire. Per il compito di classificazione, la previsione finale sarà quella con il maggior numero di voti; per il compito di regressione, la previsione finale sarà la media delle previsioni di tutti gli alberi. | Regressione Classificazione |
| Ada Boost | Tecnica di classificazione o regressione che utilizza una moltitudine di modelli per arrivare a una decisione, ma li valuta in base alla loro accuratezza nel prevedere il risultato | Regressione Classificazione |
| Alberi che aumentano i gradienti | Gli alberi di boosting del gradiente sono una tecnica di classificazione/regressione all'avanguardia. Si concentrano sull'errore commesso dagli alberi precedenti e cercano di correggerlo. | Regressione Classificazione |
Apprendimento senza supervisione
Nell'apprendimento non supervisionato, un algoritmo esplora i dati di input senza che gli venga fornita una variabile di output esplicita (ad esempio, esplora i dati demografici dei clienti per identificare modelli).
È possibile utilizzarlo quando non si sa come classificare i dati e si desidera che l'algoritmo trovi i modelli e raggruppi i dati per conto dell'utente. I principali algoritmi non supervisionati sono riassunti di seguito.
| Nome dell'algoritmo | Descrizione | Tipo |
|---|---|---|
| K significa clustering | Inserisce i dati in alcuni gruppi (k) che contengono ciascuno dati con caratteristiche simili (come determinato dal modello, non in anticipo dagli esseri umani) | ClusterING |
| Modello di miscela gaussiana | Una generalizzazione del clustering k-means che fornisce maggiore flessibilità nella dimensione e nella forma dei gruppi (cluster) | ClusterING |
| Clustering gerarchico | Suddivide i gruppi lungo un albero gerarchico per formare un sistema di classificazione. Può essere utilizzato per raggruppare i clienti delle carte fedeltà. | ClusterING |
| Sistema di raccomandazione | Aiuta a definire i dati rilevanti per formulare una raccomandazione. | ClusterING |
| PCA/t-SNE | Utilizzato principalmente per ridurre la dimensionalità dei dati. Gli algoritmi riducono il numero di caratteristiche a 3 o 4 vettori con le varianze più elevate. | Riduzione dimensionale |
Come scegliere l'algoritmo di machine learning
Esistono moltissimi algoritmi di apprendimento automatico e la scelta dell'algoritmo è dettata dall'obiettivo piuttosto che dalle mode.
Nell'esempio di apprendimento automatico riportato di seguito, il compito è prevedere il tipo di fiore tra tre varietà. Le previsioni si basano sulla lunghezza e sulla larghezza del petalo. L'immagine mostra i risultati di dieci diversi algoritmi. L'immagine in alto a sinistra è il dataset stesso, con i dati classificati in tre categorie: rosso, azzurro e blu scuro. Alcuni gruppipingSono visibili delle differenze. Ad esempio, nella seconda immagine, tutto ciò che si trova in alto a sinistra appartiene alla categoria rossa, la parte centrale contiene un mix di incertezza e azzurro, mentre la parte inferiore corrisponde alla categoria scura. Le altre immagini mostrano come diversi algoritmi tentano di classificare gli stessi dati.
Una volta scelto un candidato, la sua qualità viene giudicata in base a dati che non ha mai visto, di solito con un matrice di confusione e i valori di accuratezza, precisione e richiamo che ne derivano.
Sfide e limiti dell'apprendimento automatico
La sfida principale dell'apprendimento automatico è la mancanza di dati, o la mancanza di diversità all'interno del dataset. Una macchina non può imparare se non ci sono dati disponibili. Un dataset che manca di diversità rende anche difficile la vita alla macchina, perché una macchina ha bisogno di eterogeneità per apprendere un'intuizione significativa. È raro che un algoritmo possa ecc.tracInformazioni t quando ci sono poche o nessuna variazione. Una regola empirica comune è quella di avere almeno 20 osservazioni per gruppo per aiutare la macchina ad apprendere; al di sotto di tale numero, sia la valutazione che la previsione ne risentono.
Il volume dei dati non è l'unico limite. I modelli addestrati su dati storici distorti riproducono tale distorsione, i modelli complessi sono difficili da spiegare a un ente regolatore o a un cliente, e qualsiasi modello si degrada al variare del contesto su cui è stato addestrato.
Applicazione dell'apprendimento automatico
Le tecniche descritte sopra sono già in uso nella produzione in quasi tutti i settori industriali. Gli esempi che seguono passano dall'assistenza generale a settori specifici.
Aumento: L'apprendimento automatico assiste gli esseri umani nelle loro attività quotidiane, sia a livello personale che professionale, senza tuttavia avere il controllo completo sul risultato. Tale apprendimento automatico viene utilizzato in diversi modi, ad esempio negli assistenti virtuali, nell'analisi dei dati e nelle soluzioni software. L'obiettivo principale è ridurre gli errori causati dai pregiudizi umani.
Automazione: L'apprendimento automatico funziona in modo completamente autonomo in qualsiasi campo, senza bisogno di intervento umano. Ad esempio, i robot eseguono le fasi essenziali del processo negli impianti di produzione.
Settore finanziario: L'apprendimento automatico sta guadagnando popolarità nel settore finanziario. Le banche lo utilizzano principalmente per individuare schemi all'interno dei dati, ma anche per prevenire le frodi.
Organizzazioni governative: I governi utilizzano l'apprendimento automatico per gestire la sicurezza pubblica e i servizi di pubblica utilità. Prendiamo ad esempio la Cina e il suo programma di riconoscimento facciale su larga scala, dove applicazioni di intelligenza artificiale vengono utilizzati per identificare i pedoni che attraversano la strada fuori dalle strisce pedonali.
Settore sanitario: Il settore sanitario è stato uno dei primi a utilizzare l'apprendimento automatico, a partire dal riconoscimento delle immagini.
Marketing: L'intelligenza artificiale (IA) trova ampio impiego nel marketing grazie all'abbondante disponibilità di dati. Prima dell'era dei dati di massa, i ricercatori sviluppavano strumenti matematici avanzati come l'analisi bayesiana per stimare il valore di un cliente. Con l'esplosione dei dati, i reparti marketing si affidano all'IA per ottimizzare le relazioni con i clienti e le campagne di marketing.
Esempio di apprendimento automatico nella catena di approvvigionamento
L'apprendimento automatico fornisce risultati eccellenti nel riconoscimento di modelli visivi, aprendo la strada a numerose potenziali applicazioni nell'ispezione fisica e nella manutenzione lungo l'intera catena di approvvigionamento.
L'apprendimento non supervisionato può individuare rapidamente modelli comparabili in un set di dati eterogeneo. A sua volta, la macchina può eseguire un controllo qualità in tutto il centro logistico e segnalare le spedizioni danneggiate o usurate.
Per esempio, IBMLa piattaforma Watson può determinare la naveping danni al contenitore. Watson combina dati visivi e basati sui sistemi per track, segnala e formula raccomandazioni in tempo reale.
In passato, i responsabili di magazzino si affidavano ampiamente a metodi manuali per valutare e prevedere le scorte. La combinazione di big data e machine learning ha reso possibili tecniche di previsione più efficaci, con miglioramenti stimati tra il 20 e il 30% rispetto agli strumenti di previsione tradizionali. In termini di vendite, ciò si traduce in un aumento del 2-3% grazie alla potenziale riduzione dei costi di magazzino.
Esempio di apprendimento automatico nel Google Auto
Tutti conoscono il file Google L'auto è ricoperta di laser sul tetto, che le indicano la sua posizione rispetto all'area circostante. Ha un radar nella parte anteriore che la informa sulla velocità e sul movimento di tutte le auto intorno a lei. Utilizza tutti questi dati non solo per capire come guidare l'auto, ma anche per prevedere le azioni degli altri conducenti. La cosa impressionante è che l'auto elabora quasi un gigabyte di dati al secondo.
Perché il machine learning è importante?
L'apprendimento automatico è finora lo strumento migliore per analizzare, comprendere e identificare modelli nei dati. Una delle idee principali alla base dell'apprendimento automatico è che un computer può essere addestrato ad automatizzare compiti che sarebbero estenuanti o impossibili per un essere umano. La netta differenza rispetto all'analisi tradizionale è che l'apprendimento automatico può prendere decisioni con un intervento umano minimo.
Prendiamo il seguente esempio: un agente immobiliare può stimare il prezzo di una casa basandosi sulla propria esperienza personale e sulla conoscenza del mercato.
È possibile addestrare una macchina a tradurre le conoscenze di un esperto in caratteristiche. Queste caratteristiche comprendono tutti gli elementi relativi a una casa, al quartiere, al contesto economico e così via, che ne influenzano il prezzo. Per l'esperto, probabilmente ci sono voluti anni per padroneggiare l'arte di stimare il prezzo di una casa, e la sua competenza migliora dopo ogni vendita.
Per padroneggiare quest'arte, la macchina ha bisogno di milioni di punti dati (ovvero, esempi). All'inizio del suo apprendimento, la macchina commette errori, proprio come un venditore alle prime armi. Una volta che la macchina ha visto un numero sufficiente di esempi, ha acquisito le conoscenze necessarie per effettuare le sue stime, e per farlo con elevata precisione. La macchina è anche in grado di correggere i propri errori man mano che arrivano nuove vendite.
La maggior parte delle grandi aziende ha compreso il valore dell'apprendimento automatico e della conservazione dei dati. Il McKinsey Global Institute ha stimato il valore annuale di tutte le tecniche di analisi tra 9.5 e 15.4 trilioni di dollari e ha attribuito circa il 40% di tale valore, ovvero tra 3.5 e 5.8 trilioni di dollari all'anno, alle tecniche avanzate di intelligenza artificiale basate su reti neurali profonde, come indicato nel suo rapporto. Appunti dalla frontiera dell'intelligenza artificiale ricerca.
Laddove le regole sono note ma imprecise piuttosto che assenti, un approccio basato sulle regole come logica fuzzy può essere più adatto di un modello appreso, quindi le due tecniche vengono spesso confrontate prima dell'inizio di un progetto.




