Termini come "machine learning", "deep learning", "reti neurali", "intelligenza artificiale" o "A.I.", "scienza dei dati" e altro sono stati i termini chiave degli ultimi anni di tecnologia. A causa dei progressi nella potenza di calcolo e di un aumento della quantità di dati disponibili, le tecniche conosciute da decenni possono ora essere messe in pratica.

Ma cosa significano veramente?

Le equazioni matematiche forniscono alle macchine una comprensione di base di qualcosa che abbiamo imparato come umani.

La maggior parte di noi è a conoscenza della spiegazione di 10.000 piedi sulla falsariga di "Si tratta di insegnare ai computer a risolvere i problemi per noi", ma molte persone probabilmente non sono consapevoli di ciò che sta realmente accadendo sotto il cofano. Le basi dell'apprendimento automatico sono abbastanza semplici, abbastanza intuitive e, cosa ancora più importante, abbastanza interessanti da essere raccolte da chiunque in un periodo di tempo relativamente breve.

Questa semplice spiegazione di come viene utilizzato l'apprendimento automatico per insegnare a un computer a risolvere un problema è rivolta a coloro che non hanno alcuna conoscenza dell'apprendimento automatico o che vogliono iniziare da zero.

La linea di migliore vestibilità

Molti di noi potrebbero ricordare qualcosa di scuola chiamato la "linea di adattamento migliore" in riferimento ai punti dati tracciati su un grafico. La linea di migliore adattamento è una linea tracciata attraverso i punti in modo tale da rappresentare ciò che i dati stanno mostrando. Potrebbe apparire così:

Una linea che si adatta meglio ai punti dati tracciati. Tutte le immagini: Dan Harris

Questo concetto è in realtà l'apprendimento automatico nella sua forma più elementare. Invece di tracciare questi punti da soli e provare a disegnare la nostra linea di adattamento migliore, possiamo fornire i dati a un computer.

Ad esempio, possiamo immaginare che i dati mostrati nel grafico sopra siano la dimensione e l'altezza della scarpa per un numero di persone. Il punto in basso a sinistra rappresenta una persona più corta degli altri che hanno i piedi più piccoli, e il punto in alto a destra rappresenta una persona che è più alta e ha i piedi più grandi. Poiché le dimensioni e l'altezza della scarpa non sono completamente correlate, non tutti i punti si adattano all'affermazione secondo cui "le persone più alte hanno i piedi più grandi", ma la linea di calzata migliore suggerisce che sia vera in generale.

Con la linea più adatta, possiamo fare ipotesi ponderate sui nuovi dati. Supponiamo di trovare una scarpa. Puoi determinare di che taglia è e quindi fare riferimento al grafico per fare un'ipotesi plausibile sull'altezza del proprietario della scarpa:

Fare un'ipotesi utilizzando la linea della migliore misura.

Semplice vero? Nell'apprendimento automatico, questo è noto come "regressione lineare". Non lasciare che il nome ti spaventi. Se capisci tutto quanto sopra, allora comprendi la regressione lineare. È una semplice tecnica di apprendimento automatico utilizzata per aiutare a fare previsioni su set di dati che hanno una forma lineare.

Il processo di regressione lineare per l'apprendimento automatico procede in questo modo:

  1. Raccogliere punti dati.
  2. Fornisci i punti dati a un programma in grado di applicare loro una regressione lineare per ottenere una linea di adattamento ottimale.
  3. Utilizzare la riga della migliore misura per fare previsioni su nuovi dati.

Si chiama "machine learning" perché il computer (o la macchina) ha appreso (o creato un'equazione matematica: in questo caso, uno per una linea) su come le dimensioni e l'altezza della scarpa sono correlate. L'equazione matematica fornisce alla macchina una comprensione di base di qualcosa che abbiamo imparato come esseri umani: in generale, le persone più alte hanno i piedi più grandi.

Altri scenari in cui è possibile utilizzare la regressione lineare sono indovinare il costo di una casa in base a quante stanze ha o indovinare quante zie e zii ha un bambino in base a quanti regali hanno sotto l'albero di Natale.

Il problema con la regressione lineare

La regressione lineare è ottima quando i dati sono modellati un po 'come una linea come nell'esempio sopra. Ma quanto viene a conoscenza delle forme dei set di dati che non sembrano linee? Forse i dati sono simili al seguente:

Punti dati che non hanno davvero una forma lineare.

L'aggiunta di una linea che si adatta meglio a questi dati potrebbe apparire così:

Punti dati non lineari con una linea di adattamento ottimale.

La linea della migliore misura fa un buon lavoro di abbinamento dei dati, ma sembra che potrebbe fare molto meglio. Poiché la forma dei dati non è esattamente una linea retta, la linea di adattamento ottimale non si adatta correttamente ai dati. Questo è un problema di machine learning noto come "underfitting": la linea di best fit non si adatta bene ai dati. Ma se cambiamo la linea di adattamento migliore per essere curvi, potrebbe fare un lavoro migliore.

Punti dati non lineari con una linea curva di migliore adattamento.

Possiamo più facilmente immaginare di usare questa curva per fare congetture accurate ed educate come abbiamo fatto con una linea retta di migliore adattamento. Questa è una semplice estensione della regressione lineare nota come "regressione polinomiale". Ancora una volta, non lasciare che il nome ti spaventi. Se capisci perché le linee curve possono essere più utili delle linee rette nell'elaborare la forma di un set di dati, allora capisci quanto sia utile la regressione polinomiale.

Ora che possiamo creare un modello, ovvero trovare una linea o una curva più adatta per un set di punti dati, per i dati che hanno una forma diritta o curva, abbiamo finito, giusto? Neanche vicino. Ma possiamo basarci su questi concetti.

Scelta dell'accuratezza di un modello

Il problema con la regressione polinomiale è che dobbiamo decidere quanta flessibilità dare prima di usarlo, il che può essere complicato. Torniamo alla nostra prima serie di dati:

L'insieme lineare di punti dati.

In precedenza abbiamo usato la regressione lineare per mettere una linea retta attraverso questi punti di dati. Invece, avremmo potuto usare la regressione polinomiale per inserire una curva di adattamento ottimale tra i dati che avrebbe funzionato meglio di una linea retta. Potrebbe assomigliare a questo:

Set di dati lineari con una curva cubica best fit.

Una cosa sulla regressione polinomiale è che possiamo dire esattamente quanto curvy vogliamo che sia la curva più adatta. Più è curvo, maggiore è la flessibilità nella descrizione del set di dati. La curva di migliore adattamento sopra è abbastanza semplice, ma avremmo potuto andare oltre e trovare una curva di miglior adattamento come questa:

Set di dati lineari con una curva di adattamento quartico.

Oppure avremmo potuto rendere la linea più adatta ancora più curvata per qualcosa del genere:

Set di dati lineari con una curva di adattamento sessuale più adatta.

Ciascuna delle curve più adatte sopra sembra fare un lavoro sempre migliore nel descrivere il set di dati, ma qualcosa sembra un po 'sbagliato, specialmente nell'ultimo esempio. Offrendo alla regressione polinomiale molta flessibilità nel decidere la curvatura della curva più adatta, ha cercato troppo duramente di passare direttamente attraverso molti dei punti dati. Il risultato è una curva che sembra meno utile per la previsione di una linea retta di migliore adattamento.

Ad esempio, se applichiamo di nuovo l'esempio delle dimensioni e dell'altezza della scarpa, possiamo vedere aggiungendo alcune ipotesi al grafico che la curva best-fit molto sinuosa dà la stessa altezza per due diverse misure di scarpe:

Una curva che si adatta meglio ai dati.

Questo problema nell'apprendimento automatico si chiama "overfitting" ed è l'opposto del underfitting. Significa che la curva più adatta che abbiamo creato non si generalizza molto bene. Fa un ottimo lavoro nell'abbinare i dati che abbiamo, ma non aiuta a fare ipotesi sensate per eventuali nuovi dati. Una delle preoccupazioni principali nell'apprendimento automatico è trovare una linea o una curva più adatta che sia abbastanza formosa da imitare la forma generale di un set di dati ma non è così formosa da non poter essere generalizzata per consentire buone congetture nuovi punti dati.

È qui che cade la regressione polinomiale. Dobbiamo dire esplicitamente alla regressione polinomiale quanto curvy vogliamo che sia la curva più adatta prima di usarla, e non è una cosa facile da decidere, soprattutto quando i dati sono più complicati.

Negli esempi finora, i nostri punti dati sono stati solo in due dimensioni - come un valore per la dimensione della scarpa e un altro per l'altezza - il che significa che siamo stati in grado di tracciarli su grafici bidimensionali. In tal modo, è abbastanza facile vedere la forma generale dei dati. Ma ciò non accade spesso nei problemi di apprendimento automatico che hanno più di due dimensioni. E se non sappiamo quale sia la forma dei dati, non possiamo davvero dire alla regressione polinomiale quanto sia formosa la linea più adatta.

Con un piccolo sforzo aggiuntivo, le reti neurali possono anche essere utilizzate per rispondere a domande sì / no sui dati invece di restituire numeri.

Un'opzione è provare molte volte la regressione polinomiale con diversi livelli di flessibilità e vedere quale funziona meglio. Ma ciò di cui abbiamo veramente bisogno è una tecnica di apprendimento automatico che abbia la flessibilità di essere formosa quanto deve essere, ma limita anche la sua curvatura per poter fare bene nel generalizzare nuovi dati.

Questo problema di flessibilità è quando i data scientist generalmente passano dalla regressione lineare e polinomiale per utilizzare invece una rete neurale. Di per sé, una rete neurale è molto simile alla regressione polinomiale in quanto è in grado di apprendere set di dati che hanno forme molto curve. Non risolvono il problema del sovradimensionamento da soli, ma quando combinato con una tecnica chiamata regolarizzazione, tutto tende a funzionare.

I dettagli di implementazione di come funzionano le reti neurali e la regolarizzazione non sono molto importanti per comprendere le basi dell'apprendimento automatico. Le cose chiave da ricordare sono che le reti neurali sono molto brave nell'apprendimento delle forme di insiemi di dati complicati - più che nella regressione lineare o polinomiale - e che la regolarizzazione aiuta a prevenire che la rete neurale si adatti eccessivamente ai dati.

Far sì che i computer rispondano alle domande

Per le tecniche trattate finora - regressione lineare, regressione polinomiale e reti neurali - abbiamo solo esaminato il modo in cui possiamo addestrare i computer a fornirci un numero in base ai dati che forniamo. Il modello di taglia e altezza della scarpa ci fornisce un numero di altezza quando le forniamo un numero di misura della scarpa; allo stesso modo, il modello per il costo della casa in base al numero di stanze ci dà un numero di costo quando gli diamo un numero di stanza.

Ma un output numerico non è sempre quello che vogliamo. A volte vogliamo invece che un modello di apprendimento automatico risponda a una domanda. Ad esempio, se stai vendendo la tua casa, potresti non preoccuparti solo di una macchina che determina quanto vale la tua casa, ma potresti anche voler scoprire se la casa venderà entro sei settimane.

La buona notizia è che sono disponibili tecniche di apprendimento automatico, simili a quelle che abbiamo già visto, che rispondono a una domanda specifica invece di fornire un numero. Un modello di apprendimento automatico può essere impostato per dare una risposta sì / no alla domanda di vendita entro sei settimane quando forniamo alcuni dati di input di base, come il numero di stanze, il costo e il metraggio. Ovviamente, non potrebbe mai essere un modello perfetto perché il mercato immobiliare non segue regole precise, ma i modelli di apprendimento automatico vengono utilizzati per dare risposte a questo tipo di domande con alti livelli di accuratezza (a seconda della qualità dei dati).

Per la regressione lineare, l'analogo in questione sarebbe una forma lineare di regressione logistica. (Ancora una volta, non lasciare che la terminologia ti scoraggi. I metodi sottostanti sono in realtà molto intuitivi.) Potrebbe rispondere a domande come "È questa e-mail spam?" O "Pioverà domani?" Entrambi i metodi - regressione lineare e logistica— calcolerebbe una linea della migliore misura, ma differiscono nel modo in cui usano quella linea. Come promemoria, ecco il modello di regressione lineare che abbiamo usato per il set di dati per prevedere un altro numero per noi:

La regressione logistica funziona in modo simile ma trova una linea più adatta che separa i dati in due gruppi. Questa linea può quindi essere utilizzata per prevedere se un nuovo punto dati si trova in un gruppo o nell'altro a seconda del lato della linea in cui si trova.

Modello di regressione logistica lineare per il filtro antispam.

Proprio come con la regressione lineare, la regressione logistica può essere estesa per utilizzare un modello polinomiale con linee curve che ha una maggiore flessibilità nell'adattare la forma dei dati. Con un piccolo sforzo aggiuntivo, le reti neurali possono anche essere utilizzate per rispondere a domande sì / no sui dati invece di restituire numeri.

Se vogliamo rispondere a domande più complicate di quelle in cerca di risposte sì / no, potremmo usare una tecnica nota come regressione logistica multinomiale, oppure potremmo adattare le reti neurali per essere in grado di gestire anche questi casi. I modelli creati in questo modo sarebbero in grado di rispondere a una domanda del tipo: "Domani sarà piovoso, soleggiato o nevoso?" La parte "multinomiale" significa solo che la risposta può essere una delle tante opzioni. Nell'esempio, le tre possibili risposte sarebbero piovose, soleggiate o nevose.

La seconda parte di questa serie di apprendimento automatico è ora disponibile e può essere trovata qui:

Se ti piace questo articolo e il suo formato, potresti dare un'occhiata alla mia serie ...