SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Machine Learning
Luca Naso
European Physical Society
8-15 maggio 2021
1
Luca Naso
8 Maggio 2021
Workshop introduttivo
General Plan
✧ 2 sessioni di 4 ore: sabato 8 maggio + 15 maggio 2021
✧ Slides + codice
✧ Contenuti:
✧ Machine Learning: definizioni e tassonomie
✧ Problemi di Regressione
✧ Valutazione dei modelli
✧ Cenni di problemi di Classificazione e Non-supervisionati
2
Luca Naso
8 Maggio 2021
Definizione
3
8 Maggio 2021 Luca Naso
Wikipedia 1
Il Machine Learning (apprendimento automatico) è quella branca
dell'intelligenza artificiale che raccoglie metodi sviluppati negli ultimi
decenni del XX secolo in varie comunità scientifiche [...]; che utilizza
metodi statistici per migliorare la performance di un algoritmo
nell'identificare pattern nei dati.
Ref: https://it.wikipedia.org/wiki/Apprendimento_automatico
4
8 Maggio 2021 Luca Naso
Definizione operativa di apprendimento
Si dice che un programma apprende dall'esperienza E con riferimento
a alcune classi di compiti T e con misurazione della performance P,
se le sue performance nel compito T, come misurato da P, migliorano
con l'esperienza E.
Da "Machine Learning" di Tom M. Mitchell (1990)
5
8 Maggio 2021 Luca Naso
Wikipedia 2
Nell'ambito dell'informatica, il machine learning è una variante alla
programmazione tradizionale, nella quale in una macchina si
predispone l'abilità di apprendere qualcosa dai dati in maniera
autonoma, senza istruzioni esplicite.
Ref: https://it.wikipedia.org/wiki/Apprendimento_automatico
6
8 Maggio 2021 Luca Naso
Wikipedia 1+2
Il Machine Learning è quella branca dell’informatica che dà ai
computer la possibilità di imparare qualcosa senza che questo gli
venga esplicitamente insegnato, tramite l'applicazione di algoritmi su
dati.
Dati = contengono implicitamente la capacità (e. g. una statua di
Canova contiene implicitamente lo stile Neoclassico)
Algoritmi = servono per imparare (estrarre la capacità dai dati)
7
8 Maggio 2021 Luca Naso
Risolvere senza sapere la soluzione
Il Machine Learning esplora lo studio e la costruzione di algoritmi che
permettono ai computer di imparare una capacità dai dati.
La macchina impara dai dati, non dall'uomo.
Il ruolo dell'uomo non è spigare la soluzione, ma il metodo.
Possiamo risolvere problemi per i quali non sappiamo la soluzione.
Il ML ci consente di barattare dei dati in cambio di una macchina che
possiede una capacità che noi non abbiamo.
Ref: Luca Naso :)
8
8 Maggio 2021 Luca Naso
Esempi
✧ Identificazione dello spam, acquisti online fraudolenti
✧ Ottimizzazione dei prezzi
✧ Stima del rischio (di insolvenza, di incendio, ...)
✧ Face recognition
✧ Sistemi di raccomandazione
✧ Assistenti Vocali
✧ Deep Fake
✧ Auto a guida autonoma
9
8 Maggio 2021 Luca Naso
Evoluzione dell'interesse, fino ad oggi
Google Trend per "Machine Learning"
Feb 2020: max assoluto, poi scende
2004 - 2015: tra il 5% ed il 25% del massimo
10
8 Maggio 2021 Luca Naso
Il futuro?
Technology Hype Cycle
by Gartner
11
8 Maggio 2021 Luca Naso
Tassonomia
12
8 Maggio 2021 Luca Naso
2 vie
Classifichiamo i tipi di Machine Learning seguendo due strade:
✧ 1. In base al modo di apprendere
✧ 2. In base agli output prodotti dal modello
13
8 Maggio 2021 Luca Naso
Tassonomia 1
Per tipo di Apprendimento
14
8 Maggio 2021 Luca Naso
3 tipi di Apprendimento
✧ 1. Apprendimento supervisionato
✧ 2. Apprendimento non supervisionato
✧ 3. Apprendimento per rinforzo
15
8 Maggio 2021 Luca Naso
Apprendimento Supervisionato e Non
16
8 Maggio 2021 Luca Naso
Informazioni note per ciascuna osservazione del dataset
Non Supervisionato
1. i valori di input
(caratteristiche, features, X)
2. il valore di output desiderato
(target, y)
Supervisionato
1. i valori di input
(caratteristiche, features, X)
2. il valore di output desiderato
(target, y)
Apprendimento Supervisionato
✧ Per ciascuna osservazione/dato sono noti:
✧ i valori di input (caratteristiche, features, X)
✧ il valore di output desiderato (target, y)
✧ e.g.
✧ Dato l'investimento in pubblicità (osservazione) sappiamo quante
vendite sono state generate (target)
✧ Data temperatura e vento (osservazione) sappiamo se ha piovuto
(target)
17
8 Maggio 2021 Luca Naso
Esempio: Impariamo il cinese
Impariamo i numeri cinesi con l'approccio supervisionato
1. Osservazione = carattere cinese
2. Features = immagine del carattere cinese
3. Target = significato del carattere cinese
18
Luca Naso
8 Maggio 2021
Impariamo il cinese: apprendiamo
19
8 Maggio 2021 Luca Naso
Impariamo il cinese: apprendiamo
20
8 Maggio 2021 Luca Naso
Impariamo il cinese: apprendiamo
21
8 Maggio 2021 Luca Naso
Impariamo il cinese: apprendiamo
22
8 Maggio 2021 Luca Naso
Impariamo il cinese: previsioni
✧ Il nostro cervello ha "automaticamente" trovato un modo di
associare ciascun carattere cinese ad un numero
✧ Che numero è questo?
23
8 Maggio 2021 Luca Naso
= ?
Apprendimento Non Supervisionato
✧ Per ciascuna osservazione/dato sono noti:
✧ i valori di input (caratteristiche, features, X)
✧ il valore di output desiderato (target, y)
✧ e.g.
✧ Dato un insieme di utenti che visita un sito web, trovare dei gruppi con
comportamenti simili
✧ Date le analisi di pazienti con una certa malattia, trovare l'origine della
malattia
24
8 Maggio 2021 Luca Naso
Esempio: Impariamo il cinese
Impariamo i numeri cinesi con l'approccio non supervisionato
1. Osservazione = carattere cinese
2. Features = immagine del carattere cinese
3. Target = non c'è
25
Luca Naso
8 Maggio 2021
Impariamo il cinese 2: apprendiamo
26
8 Maggio 2021 Luca Naso
Impariamo il cinese 2: apprendiamo
27
8 Maggio 2021 Luca Naso
Impariamo il cinese 2: previsioni
六
七 九
28
8 Maggio 2021 Luca Naso
✧ Il nostro cervello ha "automaticamente" raggruppato i caratteri simili insieme
✧ Cosa possiamo dire dei seguenti caratteri?
Note sull'apprendimento Non Supervisionato
✧ Quanti gruppi avrai creato?
✧ Come li avrai chiamati?
✧ Che significato avrai dato a ciascun gruppo?
✧ Che elementi avrai usato per caratterizzarli?
La qualità dell'apprendimento dipende moltissimo dal dataset
✧ Potrebbero mancare dei numeri (classi)
✧ Si potrebbero usare feature errate (e.g. lo spessore)
29
8 Maggio 2021 Luca Naso
Apprendimento per Rinforzo
✧ Molto diverso dai precedenti: c'è un'interazione dinamica tra il
soggetto che impara (macchina) e l'ambiente
✧ La macchina interagisce per raggiungere un certo obiettivo
✧ Ad ogni interazione si dice alla macchina se ha fatto bene o male
✧ La macchina impara quali sono le interazioni che deve fare per
raggiungere l'obiettivo
✧ e.g.
✧ Vincere una partita a scacchi
✧ Guidare una macchina rispettando il codice della strada
30
8 Maggio 2021 Luca Naso
Tabella Riepilogativa: Apprendimento
Apprendimento Caratteristica
Supervisionato I dati sono etichettati
Non supervisionato I dati non sono etichettati
Semi-supervisionato Alcuni dati sono etichettati
per Rinforzo Ogni status ha un bonus/malus
31
8 Maggio 2021 Luca Naso
Tassonomia 2
Per tipo di Output
32
8 Maggio 2021 Luca Naso
3 tipi di Output
In base a ciò che desideriamo sapere dal sistema di ML
✧ 1. Regressione
✧ 2. Classificazione
✧ 3. Clustering
33
8 Maggio 2021 Luca Naso
Regressione
✧ Per ogni osservazione vogliamo restituire un valore numerico
continuo
✧ Solitamente affrontato in maniera supervisionata
✧ Esempi:
✧ Stipendio (in base ad età e titolo di studio)
✧ Peso (in base ad età, sesso ed altezza)
✧ Valore di mercato delle azioni (in base al rendimento precedente)
✧ Vendite in negozio (in base al prezzo, periodo dell'anno e pubblicità)
34
8 Maggio 2021 Luca Naso
Classificazione
✧ Per ogni osservazione vogliamo restituire una classe di
appartenenza
✧ La classe viene scelta tra un insieme di classi note a priori
✧ Solitamente affrontato in maniera supervisionata
✧ Esempi:
✧ Filtri anti-spam
✧ Acquisti fraudolenti
✧ Argomento di un testo
35
8 Maggio 2021 Luca Naso
Clustering
✧ Per ogni osservazione vogliamo restituire una classe di
appartenenza (come la classificazione)
✧ La classe di output viene scelta tra un insieme di classi non note a
priori (diverso dalla classificazione)
✧ Questo è un tipico problema non supervisionato
✧ Esempi:
✧ Comportamento degli utenti di un sito web, dei pazienti di un ospedale,
degli automobilisti di una città, ...
✧ Relazioni tra i geni di pazienti con o senza una certa patologia
36
8 Maggio 2021 Luca Naso
Tabella Riepilogativa: Output
Nome Output Esempio
Regressione Continuo Peso
Classificazione Discreto - noto a priori = si Spam
Clustering Discreto - noto a priori = no Comportamento
37
8 Maggio 2021 Luca Naso
Scelta algoritmo
Conoscere le tassonomie dei problemi di machine learning
rappresenta il primo passo nella scelta del giusto algoritmo
38
8 Maggio 2021 Luca Naso
Albero decisionale per l'algoritmo
39
Luca Naso
8 Maggio 2021
Modelli di
Machine Learning
40
8 Maggio 2021 Luca Naso
Percorso
1. Abbiamo capito cosa è il Machine Learning (definizione)
2. Abbiamo capito quali sono i vari tipi di Machine Learning
(tassonomia)
3. Vediamo adesso di entrare ancora più a fondo su cosa sia un
modello di Machine Learning
41
Luca Naso
8 Maggio 2021
Costruire un modello di ML
✧ Consideriamo il caso di problemi supervisionati e di regressione
✧ Costruire un modello di ML significa trovare una funzione che
associa ad ogni osservazione un valore di output
✧ Le osservazioni sono vettori di uno spazio multi-dimensionale delle
feature (o predittori), di solito indicate con X
✧ L'output (o target) è uno scalare, di solito indicato con y
✧ Noi vogliamo trovare quella funzione per cui y = f(X)
✧ Vediamolo meglio...
42
8 Maggio 2021 Luca Naso
Costruire un modello di ML
✧ Ci sono N osservazioni e P features (per ogni osservazione)
✧ L'osservazione i-esima si scrive come
✧ L'insieme di tutto il dataset si scrive come
✧ Noi cerchiamo quella funzione f per cui
43
8 Maggio 2021 Luca Naso
Costruire un modello di ML: esempio
✧ Stimare il peso di una persona in base ad altezza, sesso ed età
✧ feature = altezza, sesso, età
✧ X = vettore a 3 dimensioni
✧ y = peso
✧ L'osservazione i-esima si scrive come
✧ Ed il modello è:
44
8 Maggio 2021 Luca Naso
Costruire un modello di ML: esempio
Alcune osservazioni del dataset:
✧ X1 = (181 cm, uomo, 28 yr) -----> y1 = 82 kg
✧ X2 = (164 cm, donna, 25 yr) -----> y2 = 61 kg
✧ X3 = (172 cm, donna, 27 yr) -----> y3 = 63 kg
45
8 Maggio 2021 Luca Naso
Componenti aleatorie ed errori
✧ E' accettabile avere osservazioni uguali con target diversi?
✧ X4 = (171 cm, uomo, 31 yr) -----> y4 = 71 kg
✧ X5 = (171 cm, uomo, 31 yr) -----> y5 = 83 kg
✧ Sì, Machine Learning ≠ Interpolazione, per questo in realtà cerchiamo:
✧ Il termine aggiunto non dipende da X ed è scomposto in:
✧ 1. Variabilità intrinseca del fenomeno
✧ 2. Errore del modello di machine learning
46
8 Maggio 2021 Luca Naso
Esempio grafico
Si capisce tutto meglio con un grafico
47
8 Maggio 2021 Luca Naso
Passiamo a Python
Simuliamo un dataset di osservazioni
- con 1 feature
- ed etichettate
Feature: numeri casuali
Etichette: relazione lineare con fluttuazioni
48
Luca Naso
8 Maggio 2021
Codice Python
import numpy as np
import matplotlib.pyplot as plt
obs_number = 200
# features
X = 1 + 2 * np.random.random(obs_number)
# targets
a = 3.5
b = 8
fluctuations = 0.2
y = b + a * X + fluctuations * np.random.randn(obs_number)
# plot
plt.plot(X, y, '+')
plt.show()
49
Luca Naso
8 Maggio 2021
Riepilogo
✧ Cosa è il Machine Learning
✧ Come si suddividono i problemi di Machine Learning
✧ Cosa è un modello di Machine Learning
50
8 Maggio 2021 Luca Naso
Risorse
51
Luca Naso
8 Maggio 2021
Queste slides: slideshare
www.slideshare.net/LucaNaso/
Il codice: github github.com/lucanaso/mlworkshop-
eps
Luca Naso: Linkedin www.linkedin.com/in/lucanaso/

Más contenido relacionado

Más de Luca Naso

Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramicaLuca Naso
 
Machine Learning - Breve panoramica
Machine Learning - Breve panoramicaMachine Learning - Breve panoramica
Machine Learning - Breve panoramicaLuca Naso
 
Cos'è il Machine Learning?
Cos'è il Machine Learning?Cos'è il Machine Learning?
Cos'è il Machine Learning?Luca Naso
 
Introduzione sul Machine Learning
Introduzione sul Machine LearningIntroduzione sul Machine Learning
Introduzione sul Machine LearningLuca Naso
 
Problem Solving
Problem SolvingProblem Solving
Problem SolvingLuca Naso
 
The What, Why and How of Big Data
The What, Why and How of Big DataThe What, Why and How of Big Data
The What, Why and How of Big DataLuca Naso
 
How to plan a successful Digital Signage Campaign in 5 steps
How to plan a successful Digital Signage Campaign in 5 stepsHow to plan a successful Digital Signage Campaign in 5 steps
How to plan a successful Digital Signage Campaign in 5 stepsLuca Naso
 

Más de Luca Naso (7)

Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramica
 
Machine Learning - Breve panoramica
Machine Learning - Breve panoramicaMachine Learning - Breve panoramica
Machine Learning - Breve panoramica
 
Cos'è il Machine Learning?
Cos'è il Machine Learning?Cos'è il Machine Learning?
Cos'è il Machine Learning?
 
Introduzione sul Machine Learning
Introduzione sul Machine LearningIntroduzione sul Machine Learning
Introduzione sul Machine Learning
 
Problem Solving
Problem SolvingProblem Solving
Problem Solving
 
The What, Why and How of Big Data
The What, Why and How of Big DataThe What, Why and How of Big Data
The What, Why and How of Big Data
 
How to plan a successful Digital Signage Campaign in 5 steps
How to plan a successful Digital Signage Campaign in 5 stepsHow to plan a successful Digital Signage Campaign in 5 steps
How to plan a successful Digital Signage Campaign in 5 steps
 

Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details

  • 1. Machine Learning Luca Naso European Physical Society 8-15 maggio 2021 1 Luca Naso 8 Maggio 2021 Workshop introduttivo
  • 2. General Plan ✧ 2 sessioni di 4 ore: sabato 8 maggio + 15 maggio 2021 ✧ Slides + codice ✧ Contenuti: ✧ Machine Learning: definizioni e tassonomie ✧ Problemi di Regressione ✧ Valutazione dei modelli ✧ Cenni di problemi di Classificazione e Non-supervisionati 2 Luca Naso 8 Maggio 2021
  • 4. Wikipedia 1 Il Machine Learning (apprendimento automatico) è quella branca dell'intelligenza artificiale che raccoglie metodi sviluppati negli ultimi decenni del XX secolo in varie comunità scientifiche [...]; che utilizza metodi statistici per migliorare la performance di un algoritmo nell'identificare pattern nei dati. Ref: https://it.wikipedia.org/wiki/Apprendimento_automatico 4 8 Maggio 2021 Luca Naso
  • 5. Definizione operativa di apprendimento Si dice che un programma apprende dall'esperienza E con riferimento a alcune classi di compiti T e con misurazione della performance P, se le sue performance nel compito T, come misurato da P, migliorano con l'esperienza E. Da "Machine Learning" di Tom M. Mitchell (1990) 5 8 Maggio 2021 Luca Naso
  • 6. Wikipedia 2 Nell'ambito dell'informatica, il machine learning è una variante alla programmazione tradizionale, nella quale in una macchina si predispone l'abilità di apprendere qualcosa dai dati in maniera autonoma, senza istruzioni esplicite. Ref: https://it.wikipedia.org/wiki/Apprendimento_automatico 6 8 Maggio 2021 Luca Naso
  • 7. Wikipedia 1+2 Il Machine Learning è quella branca dell’informatica che dà ai computer la possibilità di imparare qualcosa senza che questo gli venga esplicitamente insegnato, tramite l'applicazione di algoritmi su dati. Dati = contengono implicitamente la capacità (e. g. una statua di Canova contiene implicitamente lo stile Neoclassico) Algoritmi = servono per imparare (estrarre la capacità dai dati) 7 8 Maggio 2021 Luca Naso
  • 8. Risolvere senza sapere la soluzione Il Machine Learning esplora lo studio e la costruzione di algoritmi che permettono ai computer di imparare una capacità dai dati. La macchina impara dai dati, non dall'uomo. Il ruolo dell'uomo non è spigare la soluzione, ma il metodo. Possiamo risolvere problemi per i quali non sappiamo la soluzione. Il ML ci consente di barattare dei dati in cambio di una macchina che possiede una capacità che noi non abbiamo. Ref: Luca Naso :) 8 8 Maggio 2021 Luca Naso
  • 9. Esempi ✧ Identificazione dello spam, acquisti online fraudolenti ✧ Ottimizzazione dei prezzi ✧ Stima del rischio (di insolvenza, di incendio, ...) ✧ Face recognition ✧ Sistemi di raccomandazione ✧ Assistenti Vocali ✧ Deep Fake ✧ Auto a guida autonoma 9 8 Maggio 2021 Luca Naso
  • 10. Evoluzione dell'interesse, fino ad oggi Google Trend per "Machine Learning" Feb 2020: max assoluto, poi scende 2004 - 2015: tra il 5% ed il 25% del massimo 10 8 Maggio 2021 Luca Naso
  • 11. Il futuro? Technology Hype Cycle by Gartner 11 8 Maggio 2021 Luca Naso
  • 13. 2 vie Classifichiamo i tipi di Machine Learning seguendo due strade: ✧ 1. In base al modo di apprendere ✧ 2. In base agli output prodotti dal modello 13 8 Maggio 2021 Luca Naso
  • 14. Tassonomia 1 Per tipo di Apprendimento 14 8 Maggio 2021 Luca Naso
  • 15. 3 tipi di Apprendimento ✧ 1. Apprendimento supervisionato ✧ 2. Apprendimento non supervisionato ✧ 3. Apprendimento per rinforzo 15 8 Maggio 2021 Luca Naso
  • 16. Apprendimento Supervisionato e Non 16 8 Maggio 2021 Luca Naso Informazioni note per ciascuna osservazione del dataset Non Supervisionato 1. i valori di input (caratteristiche, features, X) 2. il valore di output desiderato (target, y) Supervisionato 1. i valori di input (caratteristiche, features, X) 2. il valore di output desiderato (target, y)
  • 17. Apprendimento Supervisionato ✧ Per ciascuna osservazione/dato sono noti: ✧ i valori di input (caratteristiche, features, X) ✧ il valore di output desiderato (target, y) ✧ e.g. ✧ Dato l'investimento in pubblicità (osservazione) sappiamo quante vendite sono state generate (target) ✧ Data temperatura e vento (osservazione) sappiamo se ha piovuto (target) 17 8 Maggio 2021 Luca Naso
  • 18. Esempio: Impariamo il cinese Impariamo i numeri cinesi con l'approccio supervisionato 1. Osservazione = carattere cinese 2. Features = immagine del carattere cinese 3. Target = significato del carattere cinese 18 Luca Naso 8 Maggio 2021
  • 19. Impariamo il cinese: apprendiamo 19 8 Maggio 2021 Luca Naso
  • 20. Impariamo il cinese: apprendiamo 20 8 Maggio 2021 Luca Naso
  • 21. Impariamo il cinese: apprendiamo 21 8 Maggio 2021 Luca Naso
  • 22. Impariamo il cinese: apprendiamo 22 8 Maggio 2021 Luca Naso
  • 23. Impariamo il cinese: previsioni ✧ Il nostro cervello ha "automaticamente" trovato un modo di associare ciascun carattere cinese ad un numero ✧ Che numero è questo? 23 8 Maggio 2021 Luca Naso = ?
  • 24. Apprendimento Non Supervisionato ✧ Per ciascuna osservazione/dato sono noti: ✧ i valori di input (caratteristiche, features, X) ✧ il valore di output desiderato (target, y) ✧ e.g. ✧ Dato un insieme di utenti che visita un sito web, trovare dei gruppi con comportamenti simili ✧ Date le analisi di pazienti con una certa malattia, trovare l'origine della malattia 24 8 Maggio 2021 Luca Naso
  • 25. Esempio: Impariamo il cinese Impariamo i numeri cinesi con l'approccio non supervisionato 1. Osservazione = carattere cinese 2. Features = immagine del carattere cinese 3. Target = non c'è 25 Luca Naso 8 Maggio 2021
  • 26. Impariamo il cinese 2: apprendiamo 26 8 Maggio 2021 Luca Naso
  • 27. Impariamo il cinese 2: apprendiamo 27 8 Maggio 2021 Luca Naso
  • 28. Impariamo il cinese 2: previsioni 六 七 九 28 8 Maggio 2021 Luca Naso ✧ Il nostro cervello ha "automaticamente" raggruppato i caratteri simili insieme ✧ Cosa possiamo dire dei seguenti caratteri?
  • 29. Note sull'apprendimento Non Supervisionato ✧ Quanti gruppi avrai creato? ✧ Come li avrai chiamati? ✧ Che significato avrai dato a ciascun gruppo? ✧ Che elementi avrai usato per caratterizzarli? La qualità dell'apprendimento dipende moltissimo dal dataset ✧ Potrebbero mancare dei numeri (classi) ✧ Si potrebbero usare feature errate (e.g. lo spessore) 29 8 Maggio 2021 Luca Naso
  • 30. Apprendimento per Rinforzo ✧ Molto diverso dai precedenti: c'è un'interazione dinamica tra il soggetto che impara (macchina) e l'ambiente ✧ La macchina interagisce per raggiungere un certo obiettivo ✧ Ad ogni interazione si dice alla macchina se ha fatto bene o male ✧ La macchina impara quali sono le interazioni che deve fare per raggiungere l'obiettivo ✧ e.g. ✧ Vincere una partita a scacchi ✧ Guidare una macchina rispettando il codice della strada 30 8 Maggio 2021 Luca Naso
  • 31. Tabella Riepilogativa: Apprendimento Apprendimento Caratteristica Supervisionato I dati sono etichettati Non supervisionato I dati non sono etichettati Semi-supervisionato Alcuni dati sono etichettati per Rinforzo Ogni status ha un bonus/malus 31 8 Maggio 2021 Luca Naso
  • 32. Tassonomia 2 Per tipo di Output 32 8 Maggio 2021 Luca Naso
  • 33. 3 tipi di Output In base a ciò che desideriamo sapere dal sistema di ML ✧ 1. Regressione ✧ 2. Classificazione ✧ 3. Clustering 33 8 Maggio 2021 Luca Naso
  • 34. Regressione ✧ Per ogni osservazione vogliamo restituire un valore numerico continuo ✧ Solitamente affrontato in maniera supervisionata ✧ Esempi: ✧ Stipendio (in base ad età e titolo di studio) ✧ Peso (in base ad età, sesso ed altezza) ✧ Valore di mercato delle azioni (in base al rendimento precedente) ✧ Vendite in negozio (in base al prezzo, periodo dell'anno e pubblicità) 34 8 Maggio 2021 Luca Naso
  • 35. Classificazione ✧ Per ogni osservazione vogliamo restituire una classe di appartenenza ✧ La classe viene scelta tra un insieme di classi note a priori ✧ Solitamente affrontato in maniera supervisionata ✧ Esempi: ✧ Filtri anti-spam ✧ Acquisti fraudolenti ✧ Argomento di un testo 35 8 Maggio 2021 Luca Naso
  • 36. Clustering ✧ Per ogni osservazione vogliamo restituire una classe di appartenenza (come la classificazione) ✧ La classe di output viene scelta tra un insieme di classi non note a priori (diverso dalla classificazione) ✧ Questo è un tipico problema non supervisionato ✧ Esempi: ✧ Comportamento degli utenti di un sito web, dei pazienti di un ospedale, degli automobilisti di una città, ... ✧ Relazioni tra i geni di pazienti con o senza una certa patologia 36 8 Maggio 2021 Luca Naso
  • 37. Tabella Riepilogativa: Output Nome Output Esempio Regressione Continuo Peso Classificazione Discreto - noto a priori = si Spam Clustering Discreto - noto a priori = no Comportamento 37 8 Maggio 2021 Luca Naso
  • 38. Scelta algoritmo Conoscere le tassonomie dei problemi di machine learning rappresenta il primo passo nella scelta del giusto algoritmo 38 8 Maggio 2021 Luca Naso
  • 39. Albero decisionale per l'algoritmo 39 Luca Naso 8 Maggio 2021
  • 40. Modelli di Machine Learning 40 8 Maggio 2021 Luca Naso
  • 41. Percorso 1. Abbiamo capito cosa è il Machine Learning (definizione) 2. Abbiamo capito quali sono i vari tipi di Machine Learning (tassonomia) 3. Vediamo adesso di entrare ancora più a fondo su cosa sia un modello di Machine Learning 41 Luca Naso 8 Maggio 2021
  • 42. Costruire un modello di ML ✧ Consideriamo il caso di problemi supervisionati e di regressione ✧ Costruire un modello di ML significa trovare una funzione che associa ad ogni osservazione un valore di output ✧ Le osservazioni sono vettori di uno spazio multi-dimensionale delle feature (o predittori), di solito indicate con X ✧ L'output (o target) è uno scalare, di solito indicato con y ✧ Noi vogliamo trovare quella funzione per cui y = f(X) ✧ Vediamolo meglio... 42 8 Maggio 2021 Luca Naso
  • 43. Costruire un modello di ML ✧ Ci sono N osservazioni e P features (per ogni osservazione) ✧ L'osservazione i-esima si scrive come ✧ L'insieme di tutto il dataset si scrive come ✧ Noi cerchiamo quella funzione f per cui 43 8 Maggio 2021 Luca Naso
  • 44. Costruire un modello di ML: esempio ✧ Stimare il peso di una persona in base ad altezza, sesso ed età ✧ feature = altezza, sesso, età ✧ X = vettore a 3 dimensioni ✧ y = peso ✧ L'osservazione i-esima si scrive come ✧ Ed il modello è: 44 8 Maggio 2021 Luca Naso
  • 45. Costruire un modello di ML: esempio Alcune osservazioni del dataset: ✧ X1 = (181 cm, uomo, 28 yr) -----> y1 = 82 kg ✧ X2 = (164 cm, donna, 25 yr) -----> y2 = 61 kg ✧ X3 = (172 cm, donna, 27 yr) -----> y3 = 63 kg 45 8 Maggio 2021 Luca Naso
  • 46. Componenti aleatorie ed errori ✧ E' accettabile avere osservazioni uguali con target diversi? ✧ X4 = (171 cm, uomo, 31 yr) -----> y4 = 71 kg ✧ X5 = (171 cm, uomo, 31 yr) -----> y5 = 83 kg ✧ Sì, Machine Learning ≠ Interpolazione, per questo in realtà cerchiamo: ✧ Il termine aggiunto non dipende da X ed è scomposto in: ✧ 1. Variabilità intrinseca del fenomeno ✧ 2. Errore del modello di machine learning 46 8 Maggio 2021 Luca Naso
  • 47. Esempio grafico Si capisce tutto meglio con un grafico 47 8 Maggio 2021 Luca Naso
  • 48. Passiamo a Python Simuliamo un dataset di osservazioni - con 1 feature - ed etichettate Feature: numeri casuali Etichette: relazione lineare con fluttuazioni 48 Luca Naso 8 Maggio 2021
  • 49. Codice Python import numpy as np import matplotlib.pyplot as plt obs_number = 200 # features X = 1 + 2 * np.random.random(obs_number) # targets a = 3.5 b = 8 fluctuations = 0.2 y = b + a * X + fluctuations * np.random.randn(obs_number) # plot plt.plot(X, y, '+') plt.show() 49 Luca Naso 8 Maggio 2021
  • 50. Riepilogo ✧ Cosa è il Machine Learning ✧ Come si suddividono i problemi di Machine Learning ✧ Cosa è un modello di Machine Learning 50 8 Maggio 2021 Luca Naso
  • 51. Risorse 51 Luca Naso 8 Maggio 2021 Queste slides: slideshare www.slideshare.net/LucaNaso/ Il codice: github github.com/lucanaso/mlworkshop- eps Luca Naso: Linkedin www.linkedin.com/in/lucanaso/