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.

  • 🔘 Le regole si imparano, non si scrivono: La programmazione tradizionale codifica ogni regola manualmente, mentre un modello deriva la regola da coppie di input e output.
  • ☑️ Due fasi: L'apprendimento individua schemi e li riassume in un modello; l'inferenza applica tale modello a dati mai visti prima.
  • Due grandi famiglie: L'apprendimento supervisionato richiede output etichettati, l'apprendimento non supervisionato trova una struttura anche senza di essi.
  • 🧪 La scelta dell'algoritmo segue l'obiettivo: La regressione prevede valori continui, la classificazione assegna etichette, il clustering raggruppa record simili.
  • I dati rappresentano il vero vincolo: Una quantità insufficiente di dati, o dati privi di varietà, produce un modello che non è generalizzabile.
  • ⚙️ Dove conviene: Rilevamento delle frodi nel settore bancario, riconoscimento di immagini in ambito sanitario, previsione della domanda lungo tutta la catena di approvvigionamento.

Tutorial di apprendimento automatico per principianti: nozioni di base di ML

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.

Flusso di programmazione tradizionale: i dati più le regole codificate manualmente producono l'output
Programmazione tradizionale

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.

Flusso di apprendimento automatico: i dati più le risposte note producono la regola

machine Learning

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.

Fase di apprendimento: i dati di addestramento passano attraverso un algoritmo per costruire un modello

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.

Fase di inferenza: i nuovi dati passano attraverso il modello addestrato per fornire una previsione

Il ciclo di vita di un programma di apprendimento automatico è lineare e può essere riassunto nei seguenti punti:

  1. Definire una domanda
  2. Raccogliere dati
  3. Visualizza i dati
  4. Algoritmo del treno
  5. Testa l'algoritmo
  6. Raccogli feedback
  7. Perfezionare l'algoritmo
  8. Ripeti i passaggi da 4 a 7 finché i risultati non sono soddisfacenti
  9. 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.

Algoritmi di apprendimento automatico suddivisi in compiti supervisionati e non supervisionati

apprendimento automatico Algorithms

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.

Dieci algoritmi confrontati sullo stesso set di dati di fiori a tre classi

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.

Sensori delle auto a guida autonoma che alimentano in tempo reale i modelli di apprendimento automatico.

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.

DOMANDE FREQUENTI

L'apprendimento semi-supervisionato si addestra su un piccolo set di dati etichettati e su un grande set di dati non etichettati, il che risulta utile quando l'etichettatura è costosa. Insegnamento rafforzativo Non ha etichette di alcun tipo: un agente agisce, riceve una ricompensa o una penalità e adatta la sua politica nel corso di numerosi tentativi.

Sono annidati. L'intelligenza artificiale è l'obiettivo più ampio dell'intelligenza di tipo meccanico, l'apprendimento automatico è il sottoinsieme che apprende dai dati e apprendimento profondo è il sottoinsieme dell'apprendimento automatico basato su reti neurali multistrato.

L'overfitting si verifica quando un modello memorizza il set di addestramento, incluso il rumore, e poi fallisce su nuovi dati. Convalida incrociata, modelli più semplici, regolarizzazione, arresto anticipatoping e altri esempi di formazione sono le solite difese.

Un modello ottiene sempre un buon punteggio sulle righe su cui è stato addestrato, quindi quel punteggio non dimostra nulla. Riservare un set di test – e spesso un set di validazione separato per la messa a punto – è l'unica stima onesta delle prestazioni su dati che il modello non ha mai visto.

È richiesta familiarità con le basi di statistica e probabilità, algebra lineare a livello di vettori e matrici e conoscenza di un linguaggio di scripting. Inizialmente, la gestione pratica dei dati è più importante della matematica avanzata, quindi il miglior esercizio di partenza è la pulizia e l'esplorazione di un dataset reale.

Python porta, con scikit-learn per i modelli classici e TensorFlow o PyTorch per reti neurali. R Rimane un valido strumento per la modellazione statistica e la visualizzazione, mentre SQL è indispensabile per estrarre i dati di addestramento.

I modelli predittivi restituiscono un'etichetta o un numero per un dato input. I modelli generativi apprendono la distribuzione dei dati e producono nuovi campioni a partire da essi: testo, immagini o codice. Entrambi vengono addestrati sui dati, ma solo uno viene valutato esclusivamente in base all'accuratezza.

Copilota GitHub Genera rapidamente bozze standard: carica un set di dati, lo suddivide, adatta uno stimatore e traccia i risultati. RevEsamina attentamente ogni suggerimento, perché una pipeline apparentemente plausibile può comunque far trapelare dati di test nell'addestramento e gonfiare il punteggio.

Riassumi questo post con: