Breve panoramica sul Machine Learning, focalizzata su due temi:
1. Definizione di Machine Learning
2. Tipologie di Machine Learning
La presentazione è pensata per un pubblico che non ha mai studiato il Machine Learning ed introduce dei temi di base con un linguaggio semplice e senza tecnicismi.
How to plan a successful Digital Signage Campaign in 5 steps
Machine learning: Definizione e Tipologie
1. COS’È IL MACHINE LEARNING?
BREVE PANORAMICA
Luca Naso
Machine Learning Catania
15 dicembre 2018 - Machine Learning Day
LUCA NASO COS’È IL MACHINE LEARNING?
2. AGENDA
1 DEFINIZIONE DI MACHINE LEARNING
2 TIPOLOGIE DI MACHINE LEARNING
LUCA NASO COS’È IL MACHINE LEARNING?
3. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
AGENDA
1 DEFINIZIONE DI MACHINE LEARNING
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
LUCA NASO COS’È IL MACHINE LEARNING?
4. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
DEFINIZIONE
Cos’è il Machine Learning?
Fare cose che prima non potevamo fare?
Automatizzare i processi?
Il Machine Learning è quella branca dell’informatica che dà ai computer la
possibilità di imparare qualcosa senza che questo gli venga esplicitamente
insegnato.
LUCA NASO COS’È IL MACHINE LEARNING?
5. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
PAROLA CHIAVE 1
1 “imparare qualcosa”
“imparare” significa che viene acquisita una conoscenza
e che questa può essere messa in pratica in futuro
in maniera autonoma.
LUCA NASO COS’È IL MACHINE LEARNING?
6. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
PAROLA CHIAVE 2
2 “senza che gli venga esplicitamente insegnato”
l’intervento umano non consiste nel dire esplicitamente al computer cosa
imparare
invece, consiste nel fornire due cose: (i) dati e (ii) algoritmi.
Gli algoritmi sono delle chiavi di lettura che consentono al computer di interpretare
i dati.
LUCA NASO COS’È IL MACHINE LEARNING?
7. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
DEFINIZIONE 2
Il Machine Learing esplora lo studio e la costruzione di algoritmi che possono
imparare dai dati e sulla base di questi fare delle previsioni (su eventi o proprietà).
Questi algoritmi consentono di andare aldilà della programmazione classica con
cui insegniamo al computer solo le cose che effettivamente sappiamo risolvere
anche noi.
Ci consentono di risolvere problemi per cui non conosciamo la soluzione, ma per
cui abbiamo molti esempi (o dati).
LUCA NASO COS’È IL MACHINE LEARNING?
8. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
AGENDA
1 DEFINIZIONE DI MACHINE LEARNING
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
LUCA NASO COS’È IL MACHINE LEARNING?
9.
10. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
CASI D’USO - ATTIVITÀ FRAUDOLENTE
Sistema di classificazione delle transazioni online in due classi:
legittime vs fraudolente
Usiamo il Machine Learning perchè:
non sappiamo quali sono le caratteristiche di una transazione fraudolenta o
legittima (importo, orario, sito, computer, device, ...)
abbiamo degli esempi, cioé uno storico di transazioni legittime e fraudolente
possiamo dare i dati in pasto al computer che, usando un certo algoritmo,
capirà “da solo” come distinguere le due categorie.
LUCA NASO COS’È IL MACHINE LEARNING?
11.
12. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
CASI D’USO - SISTEMI DI RACCOMANDAZIONE
Sistema di raccomandazione per suggerire il prossimo film da guardare.
Usiamo il Machine Learning perchè:
Non abbiamo una legge che regola i gusti cinematografici,
ma abbiamo tanti film, tanti utenti e tante recensioni.
Grazie all’uso di certi algoritmi possiamo chiedere al computer di “capire” i
gusti degli utenti, e quindi suggerire un nuovo film.
Nel 2006 Netflix mise in palio $1 milione per chi migliorarava il loro sistema.
Vinto solo nel 2009.
LUCA NASO COS’È IL MACHINE LEARNING?
13.
14. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
DEFINIZIONE
CASI D’USO
CASI D’USO - ANALISI MEDICA
Analisi delle immagini per classificare i linfonodi nelle lastre in due categorie:
benigni vs maligni
I medici sanno come distinguere le due categorie.
Il machine learning (con la computer vision) consente ai computer di analizzare in
un giorno più lastre di quanto un radiologo possa fare in tutta la sua vita.
I medici hanno una precisione del 96.5%
Le macchine hanno una precisione del 92.5%
Macchine e medici insieme raggiungono una precisione del 99.5%
LUCA NASO COS’È IL MACHINE LEARNING?
15. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
AGENDA
1 DEFINIZIONE DI MACHINE LEARNING
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
LUCA NASO COS’È IL MACHINE LEARNING?
16. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
TIPO DI APPRENDIMENTO
L’apprendimento del computer nel Machine Learning viene di solito suddiviso in
due grandi macro-categorie:
1 apprendimento supervisionato
2 apprendimento non-supervisionato
LUCA NASO COS’È IL MACHINE LEARNING?
17. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - DEFINIZIONE
Nell’apprendimento supervisionato i dati sono “etichettati”.
Le etichette riportano il valore della grandezza da predire, spesso denominata
semplicemente “output” o “target".
Quindi, per ogni osservazione sono noti:
i valori di input (caratteristici dell’osservazione)
ed un valore dell’output.
Il computer impara sulla base di questa associazione.
LUCA NASO COS’È IL MACHINE LEARNING?
18. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Supponiamo che vogliamo insegnare ad un bambino a distinguere una bicicletta
da una macchina, senza che lui ne abbia mai viste prima.
Dati = tante immagini di biciclette e di automobili
LUCA NASO COS’È IL MACHINE LEARNING?
19. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Proseguiamo con 3 passi:
1 Mostriamo le immagini delle biciclette
2 diciamo che sono biciclette
3 non indichiamo alcuna caratteristiche delle
biciclette
Lasciamo che il bambino le analizzi per capire cosa
rende quegli oggetti delle biciclette.
LUCA NASO COS’È IL MACHINE LEARNING?
20. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Facciamo poi lo stesso con le automobili.
LUCA NASO COS’È IL MACHINE LEARNING?
21. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Infine, mostriamo al bambino un’immagine mai usata prima, e gli chiediamo se è
un’automobile o una bicicletta.
LUCA NASO COS’È IL MACHINE LEARNING?
22. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Bicicletta!
LUCA NASO COS’È IL MACHINE LEARNING?
23. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - DEFINIZIONE
L’apprendimento non-supervisionato, invece, è quello in cui il computer apprende
usando dati che non sono etichettati.
Il computer deve dunque imparare senza conoscere l’output, ma avendo a
disposizione solo i dati di input.
Si tratta di una tipologia di problemi normalmente più complessa di quella
supervisionata.
LUCA NASO COS’È IL MACHINE LEARNING?
24. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Ripetiamo l’esempio precedente in modalità non supervisionata.
Usiamo ancora lo stesso dataset ma questa volta, quando facciamo vedere le foto
al bambino, queste sono mescolate e non gli diciamo quali sono le biciclette e
quali le automobili.
Il bambino deve capire da solo che le immagini appartengono a due categorie
diverse, perchè hanno delle caratteristiche diverse.
LUCA NASO COS’È IL MACHINE LEARNING?
25. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Quando mostriamo una nuova immagine al bambino come potrà rispondere?
LUCA NASO COS’È IL MACHINE LEARNING?
26. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Bicicletta!
LUCA NASO COS’È IL MACHINE LEARNING?
27. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Gruppo A
LUCA NASO COS’È IL MACHINE LEARNING?
28. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Navicella super galattica
LUCA NASO COS’È IL MACHINE LEARNING?
29. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - NOTE
Ci sono due note importanti da fare. Il bambino potrebbe trovare:
1 più di due categorie
2 categorie molto diverse da quanto ci aspettiamo
Il bambino potrebbe decidere di raggruppare le immagini in base al colore, alla
dimensione, o al numero di ruote (che vede)!
LUCA NASO COS’È IL MACHINE LEARNING?
30. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - NOTE
LUCA NASO COS’È IL MACHINE LEARNING?
31. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO NON SUPERVISIONATO - NOTE
In genere il risultato ha una forte dipendenza dalle immagini presenti nel dataset.
LUCA NASO COS’È IL MACHINE LEARNING?
32. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO SEMI-SUPERVISIONATO
Esiste un tipo di apprendimento detto semi-supervisionato, che è una sorta di via
di mezzo tra i due appena discussi.
Si tratta del caso in cui un sotto-insieme del dataset contiene delle etichette
(quindi supervisionato), ma il resto no (quindi non-supervisionato).
LUCA NASO COS’È IL MACHINE LEARNING?
33. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
APPRENDIMENTO RINFORZATO
Si parla tanto anche di una quarta categoria, quella dell’apprendimento rinforzato.
L’apprendimento è determinato da una “funzione di guadagno”
ogni volta che la macchina raggiunge uno stato positivo le si dà un bonus (la
funzione guadagno aumenta)
l’algoritmo ha l’obiettivo di rendere il guadagno quanto più alto possibile.
Questo sistema è stato utilizzato da DeepMind per costruire AlphaGo.
LUCA NASO COS’È IL MACHINE LEARNING?
34. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
RIEPILOGO - TIPI DI APPRENDIMENTO
Nome Caratteristica
Supervisionato i dati sono etichettati
Non Supervisionato i dati non sono etichettati
Semi Supervisionato alcuni dati sono etichettati
Rinforzato bonus/malus per ogni stato
LUCA NASO COS’È IL MACHINE LEARNING?
35. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
AGENDA
1 DEFINIZIONE DI MACHINE LEARNING
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
LUCA NASO COS’È IL MACHINE LEARNING?
36. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
SUDDIVISIONE PER OUTPUT
Un altro modo di suddividere i problemi di machine learning si basa sul tipo di
output che si intende ottenere. Ci sono tre casi:
1 Regressione
2 Classificazione
3 Clustering o raggruppamento
LUCA NASO COS’È IL MACHINE LEARNING?
37. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
REGRESSIONE
Se l’output è un valore continuo (quantitativo), si parla di “Regressione”.
Esempi:
stimare lo stipendio di una persona in base al titolo di studio, genere ed età;
stimare il peso di una persona in base ad età, genere ed altezza;
stimare la temperatura massima di una giornata in base alla data di
calendario e alla pressione massima del giorno prima;
stimare il valore di mercato di una certa azione in base all’andamento dei 3
giorni precedenti.
LUCA NASO COS’È IL MACHINE LEARNING?
38. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
CLASSIFICAZIONE
Se l’output è un valore discreto (categorico), si parla di “Classificazione”.
Esempi:
valutare se un’email è spam o no in base al suo oggetto;
valutare se un testo tratta di qualcosa o di qualcuno in maniera positiva o
negativa (sentiment analysis);
valutare se un utente è interessato all’acquisto di un prodotto o meno;
valutare se una fotografia ritrae un paesaggio o una persona.
LUCA NASO COS’È IL MACHINE LEARNING?
39. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
CLUSTERING
Se s’intende suddividere i dati di input in gruppi, si parla di “Clustering”.
Esempi:
identificare se esistono gruppi di utenti con comportamento simile su un
e-commerce;
scoprire se esistono relazioni nascoste tra i pazienti di un ospedale;
scoprire quali relazioni ci sono tra vari geni di pazienti con o senza una certa
patologia;
scoprire relazioni tra RAM, disco, CPU, temepratura e carico di lavoro di un
cluster di computer per fare opera di prevenzione sui nodi che falliscono.
LUCA NASO COS’È IL MACHINE LEARNING?
40. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
TIPO DI APPRENDIMENTO
TIPO DI OUTPUT
RIEPILOGO - TIPI DI OUTPUT
Tipo di output
Quantitativo Categorico Gruppo
(continuo) (discreto) (relazioni)
Nome Regressione Classificazione Clustering
Esempio Peso Spam Comportamento
LUCA NASO COS’È IL MACHINE LEARNING?
41. DEFINIZIONE DI MACHINE LEARNING
TIPOLOGIE DI MACHINE LEARNING
RIEPILOGO FINALE
1 DEFINIZIONE DI MACHINE LEARNING
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
LUCA NASO COS’È IL MACHINE LEARNING?