SlideShare uma empresa Scribd logo
1 de 62
Baixar para ler offline
INTRODUZIONE AL MACHINE LEARNING
UNA VISTA PANORAMICA
Luca Naso
2 Maggio 2018
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
DEFINIZIONE
Il Machine Learning è quella branca dell’informatica che dà ai
computer la possibilità di imparare qualcosa senza che questo
gli venga esplicitamente insegnato.
Il “fare cose che prima non potevamo fare” o “automatizzare i
processi” non sono elementi caratteristici del Machine
Learning.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
PAROLA CHIAVE 1
1 imparare qualcosa
“imparare” significa che viene acquisita una conoscenza e
che questa può essere messa in pratica anche in futuro.
Quindi noi insegniamo qualcosa al computer in modo che
questi possa ripeterla in futuro senza il nostro intervento.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
PAROLA CHIAVE 2
2 senza che gli venga esplicitamente insegnato
l’intervento umano è necessario affinchè il computer possa
apprendere, ma tale intervento non consiste nel dire
esplicitamente al computer come comportarsi. Invece
diamo al computer una sorta di “chiave di lettura”, degli
algoritmi, per fare in modo che possa interpretare i dati a
disposizione.
Da qui in poi andrà avanti da solo, e sarà lui poi a decidere
cosa fare nel momento in cui dovrà mettere in pratica il suo
apprendimento.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
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.
Questi algoritmi consentono di andare aldilà della
programmazione in cui si danno al computer dei comandi
espliciti da eseguire, e consentono di fare o prendere le
cosiddette “data-driven predictions” o “decisions” (decisioni o
predizioni basate sui dati).
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
STORIA
Sebbene le applicazioni di Machine Learning stiano dilagando
solo in questi anni, il termine è stato introdotto nel 1959 da
Arthur Samuel quando lavorava presso IBM.
Alcuni degli algoritmi risalgono ancora a prima del 1959. Il
termine “regressione”, ad esempio, è stato coniato da Galton
nel 1889, ed il primo algoritmo di regressione lineare fu
realizzato addirittura agli inizi del 1800 da Legendre e Gauss.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
OGGI
Secondo Gartner, oggi le aspettative rispetto al Machine
Learning hanno raggiunto il loro picco.
By Jeremykemp at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=10547051
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO
Il Machine Learning viene utilizzato in tantissimi settori, ...
vediamo insieme alcuni esempi.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - COMPUTER VISION
Riconoscimento volti su Facebook, identificazione di persone,
oggetti, animali, paesaggi, ... in un’immagine
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - RICONOSCIMENTO VOCALE
Siri, Ok Google, Cortana, Alexa.
Riconoscimento del parlato e sua interpretazione per capire
cosa la persona ha chiesto e cosa si aspetta come risposta.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - SISTEMI DI RACCOMANDAZIONE
Per suggerire cosa guardare, comprare, leggere, ...
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - SELF-DRIVING CARS
Il Machine Learning ha persino permesso le auto che si
guidano da sole!
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - IDENTIFICAZIONE DELLO SPAM
Sistema di classificazione per individuare le email di spam
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - ATTIVITÀ FRAUDOLENTE
Sistema di classificazione che identifica quando una
transazione online (e.g. pagamento con carta di credito) è
legittima e quando invece è fraudolenta
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - ANALISI DEL RISCHIO
Sistema di previsione che
stima la probabilità di un certo
evento di verificarsi.
Molto usato dalle
assicurazioni e dalle banche
(per stimare la probabilità di
un sinistro o che non venga
pagata una rata del mutuo).
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CASI D’USO - MOLTO ALTRO
Mobilità, medicina, robotica, spazio, difesa, GDO, marketing, ...
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
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 - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO - DEFINIZIONE
L’apprendimento supervisionato è quello in cui il computer
apprende usando dei dati “etichettati”.
Le etichette riportano il valore della grandezza che si vuole che
il computer impari a predire, spesso indicata semplicemente
come “output”.
Quindi, per ogni osservazione, oltre ai valori di input, è noto
anche il valore dell’output su cui il computer impara.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Supponiamo che vogliamo insegnare ad un bambino a
riconoscere una bicicletta da una macchina, senza che lui ne
abbia mai viste in vita sua.
Come dataset utilizziamo un insieme di 10 immagini diverse di
biciclette e 10 di automobili.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Mostriamo al bambino le immagini con le biciclette e gli diciamo
che quelle sono biciclette, lasciando che lui capisca da solo
quali sono le caratteristiche delle biciclette.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Facciamo poi lo stesso con le automobili.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Infine, facciamo vedere al bambino una nuova immagine, mai
usata prima, e gli chiediamo se si tratta di un’automobile o di
una bicicletta.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
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 - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Ripetiamo l’esempio precedente in modalità non
supervisionata.
Possiamo usare sempre lo stesso dataset, ma questa volta
quando facciamo vedere le foto al bambino, non gli diciamo
quali sono le biciclette e quali le automobili. Invece, gliele
facciamo vedere tutte insieme.
Il bambino deve capire da solo che le immagini appartengono a
due categorie diverse, perchè hanno delle caratteristiche
diverse.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Quando mostriamo una nuova immagine al bambino, di certo
non potrà dirci se si tratta di una bicicletta o di un’automobile,
perchè nessuno gli ha insegnato queste parole.
Però, potrà comunque essere capace di classificarla, secondo i
gruppi che lui stesso ha creato durante la fase di
apprendimento.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
APPRENDIMENTO NON SUPERVISIONATO - NOTE
Ci sono due note importanti da fare:
1 il bambino potrebbe trovare più di due categorie
2 le categorie trovate potrebbero essere molto diverse da
quanto ci aspettiamo
Ad esempio, il bambino potrebbe decidere di raggruppare le
immagini in base al colore, o alla dimensione, e avrebbe tutto il
diritto di farlo!
In genere il risultato ha una forte dipendenza dalle immagini
presenti nel dataset.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
RIEPILOGO
Esistono altri tipi di apprendimento, come quello Semi
Supervisionato o Rinforzato, che sono in qualche modo delle
evoluzioni o combinazioni dei precedenti.
Nome Caratteristica
Supervisionato i dati sono etichettati
Non Supervisionato i dati non sono etichettati
Semi Supervisionato alcuni dati sono etichettati
Rinforzato con un tipo particolare di etichette
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
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
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
REGRESSIONE
Se l’output è un valore continuo, 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.
Di solito sono casi supervisionati.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CLASSIFICAZIONE
Se l’output è un valore qualitativo (discreto), 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).
Di solito sono casi supervisionati.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CLUSTERING
Se l’output è la suddivisione dei 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.
Di solito sono casi non-supervisionati.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
RIEPILOGO
Tipo di output
Quantitativo Qualitativo Gruppo
(continuo) (discreto) (relazioni)
Nome Regressione Classificazione Clustering
Esempio Peso Spam Comportamento
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
L’ALGORITMO MIGLIORE
Qual è l’algoritmo migliore?
Non esiste.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
L’ALGORITMO MIGLIORE
Esistono centinaia di algoritmi di Machine Learning, se non
migliaia. E’ importante capire subito che non esiste l’algoritmo
perfetto, quello giusto per tutte le circostanze.
Di solito, ogni algoritmo è indicato solo per alcuni tipi di
problemi e non per altri.
Quindi il primo passo da fare nella scelta dell’algoritmo per il
proprio problema di Machine Learning è capire se ci si muove
in uno scenario di apprendimento supervisionato o
non-supervisionato, e se è di classificazione, regressione o
clustering.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
GRIGLIA SEMPLIFICATA
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
SCELTA DELL’ALGORITMO
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
COME FARE LA SCELTA FINALE?
Dato che per ogni tipo di problema ci sono vari algoritmi, come
facciamo a scegliere quale usare?
Semplice: usiamo quello che funziona meglio!
La teoria, infatti, ci aiuta a fare la prima selezione. Poi però
dobbiamo vedere i risultati sul campo. Procediamo dunque con
la misura dell’errore. Si costruiscono diversi modelli, si calcola
l’errore per ciascuno e si sceglie quello con i risultati migliori.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
COME FARE LA SCELTA FINALE?
La misura dell’errore ci aiuta sia a confrontare modelli che
usano algoritmi diversi, sia che usano lo stesso algoritmo ma
con impostazioni diverse.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
COME FARE LA SCELTA FINALE?
Algoritmo
Logistic Regression LDA K-Means
penalty solver n clusters
dual shrinkage init
tol priors n init
C n components max iter
fit intercept store covariance tol
intercept scaling tol
class weight
ParametriinR
. . .
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
DEFINIZIONE DI ERRORE
Per semplifiare l’esposizione dei concetti, consideriamo il caso
dell’apprendimento supervisionato di regressione, ad esempio
un modello che stima l’altezza di una persona in base a peso,
genere ed età.
L’errore (o residuo) del nostro modello è la differenza che c’è
tra l’altezza stimata dal modello e l’altezza osservata.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
NOTAZIONE - OSSERVAZIONI
Rappresentiamo i dati di input per ciascuna persona del nostro
dataset con un vettore:
xi ≡ (x1, x2, . . . , xp)i
Nel nostro caso p = 3 e la terna (x1, x2, x3)i rappresenta
genere, peso ed età della persona i-esima.
Chiamiamo poi yi l’altezza misurata della persona i-esima.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
NOTAZIONE - PREVISIONI
Costruire un modello di machine learning significa trovare
quella funzione f per cui:
yi = f(xi) (1)
Due esempi:
f(m, 70 kg, 35 yr) = 170 cm
f(w, 60 kg, 35 yr) = 165 cm
Se l’altezza di queste due persone fosse proprio quella
riportata qua, allora il nostro errore sarebbe zero per entrambi.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
VARIABILITÀ INTRINSECA
In realtà sappiamo bene che persone con lo stesso peso,
genere ed età possono avere altezze diverse.
Ad esempio, nel nostro dataset potremmo avere le seguenti 3
osservazioni:
x3 = (m, 70 kg, 35 yr) e y3 = 170 cm
x4 = (m, 70 kg, 35 yr) e y4 = 180 cm
x5 = (m, 70 kg, 35 yr) e y5 = 175 cm
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
VARIABILITÀ INTRINSECA
La nostra funzione f invece, a parità di input, restituisce sempre
lo stesso valore di output.
Questo implica che il fenomeno ha una variabilità intrinseca
che rende impossibile la creazione di un modello perfetto.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
ERRORE IRRIDUCIBILE
Per questo motivo si introduce il concetto di errore irriducibile,
chiamato irr, che rappresenta una misura della variabilità
intrinseca del fenomeno in esame:
yi = f(xi) + irr (2)
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
ERRORE DEL MODELLO
In aggiunta all’errore irriducibile, c’è poi l’errore dovuto al
modello di machine learning, indicato con .
Questo errore è dovuto al fatto che non sappiamo qual è la vera
forma di f e dobbiamo invece fare una stima anche per questa.
Se chiamiamo ˆf questa stima, possiamo scrivere:
f(xi) = ˆf(xi) + (3)
Oppure, indicando con ˆyi l’altezza stimata dal modello:
f(xi) = ˆyi + (4)
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
ERRORE TOTALE
A questo punto possiamo mettere insieme i due pezzi e
scrivere l’altezza osservata di una persona come:
yi = ˆyi + + irr (5)
Dove:
ˆyi è l’altezza stimata dal modello
è l’errore del modello (può essere ridotto)
irr è la variabilità del fenomeno (non può essere ridotto)
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
ERRORE DEL MODELLO
Tutti gli sforzi relativi alla ricerca del miglior modello di machine
learning puntano a rendere minimo l’errore .
E’ possibile dimostrare che tale errore è la somma di due parti:
= Bias + Varianza (6)
Quindi, in condizioni ideali, uno vorrebbe rendere nulli sia il
Bias che la Varianza.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
RELAZIONE TRA BIAS E VARIANZA
Purtroppo si dimostra che bias e varianza sono inversamente
correlati, cioè tanto più si diminuisce il bias tanto più aumenta
la varianza e viceversa.
Per rendere minimo l’errore totale di un modello quindi bisogna
puntare a rendere minima la somma di bias e varianza, e non
uno solo dei due.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
DEFINIZIONE DI BIAS
Un algoritmo di machine learning ha un certo bias se, quando
viene addestrato su diversi dataset (tutti ugualmente buoni),
l’output che restituisce è sistematicamente sbagliato.
L’errore è “sistematico” nel senso che le sue caratteristiche non
variano al variare dei dataset di training.
Stiamo utilizzando un modello errato per descrivere il nostro
fenomeno.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
DEFINIZIONE DI VARIANZA
Un algoritmo di machine learning ha un’alta varianza se,
quando viene addestrato su diversi dataset (tutti ugualmente
buoni), l’errore che si commette è significativamente diverso
per alcuni dei dataset utilizzati nell’addestramento.
Di solito l’errore è molto basso per un dataset, e molto alto per
alcuni o tutti i restanti.
Questa situazione viene descritta anche con il termine
“over-fitting”.
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
CURVA AD “U” DELL’ERRORE DEL MODELLO
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
RIEPILOGO
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING

Mais conteúdo relacionado

Mais procurados

Classification and Regression
Classification and RegressionClassification and Regression
Classification and RegressionMegha Sharma
 
Unsupervised learning
Unsupervised learningUnsupervised learning
Unsupervised learningamalalhait
 
Basics of Machine Learning
Basics of Machine LearningBasics of Machine Learning
Basics of Machine Learningbutest
 
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckAI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckSlideTeam
 
Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)nikhilus85
 
Association rule mining and Apriori algorithm
Association rule mining and Apriori algorithmAssociation rule mining and Apriori algorithm
Association rule mining and Apriori algorithmhina firdaus
 
Machine Learning
Machine LearningMachine Learning
Machine LearningShrey Malik
 
Machine learning ppt
Machine learning ppt Machine learning ppt
Machine learning ppt Poojamanic
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Usama Fayyaz
 
Machine learning seminar ppt
Machine learning seminar pptMachine learning seminar ppt
Machine learning seminar pptRAHUL DANGWAL
 
Machine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachinePulse
 
Support Vector Machine ppt presentation
Support Vector Machine ppt presentationSupport Vector Machine ppt presentation
Support Vector Machine ppt presentationAyanaRukasar
 
Support vector machine
Support vector machineSupport vector machine
Support vector machineSomnathMore3
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningKnoldus Inc.
 
Data Science, Machine Learning and Neural Networks
Data Science, Machine Learning and Neural NetworksData Science, Machine Learning and Neural Networks
Data Science, Machine Learning and Neural NetworksBICA Labs
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learningIgi Ardiyanto
 
Online Payment Fraud Detection with Azure Machine Learning
Online Payment Fraud Detection with Azure Machine LearningOnline Payment Fraud Detection with Azure Machine Learning
Online Payment Fraud Detection with Azure Machine LearningStefano Tempesta
 
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...Simplilearn
 

Mais procurados (20)

Classification and Regression
Classification and RegressionClassification and Regression
Classification and Regression
 
Unsupervised learning
Unsupervised learningUnsupervised learning
Unsupervised learning
 
Basics of Machine Learning
Basics of Machine LearningBasics of Machine Learning
Basics of Machine Learning
 
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete DeckAI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
AI Vs ML Vs DL PowerPoint Presentation Slide Templates Complete Deck
 
Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)Action Recognition (Thesis presentation)
Action Recognition (Thesis presentation)
 
Association rule mining and Apriori algorithm
Association rule mining and Apriori algorithmAssociation rule mining and Apriori algorithm
Association rule mining and Apriori algorithm
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Machine learning ppt
Machine learning ppt Machine learning ppt
Machine learning ppt
 
Support Vector machine
Support Vector machineSupport Vector machine
Support Vector machine
 
Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning Supervised learning and Unsupervised learning
Supervised learning and Unsupervised learning
 
Machine learning seminar ppt
Machine learning seminar pptMachine learning seminar ppt
Machine learning seminar ppt
 
Machine learning
Machine learningMachine learning
Machine learning
 
Machine Learning and Real-World Applications
Machine Learning and Real-World ApplicationsMachine Learning and Real-World Applications
Machine Learning and Real-World Applications
 
Support Vector Machine ppt presentation
Support Vector Machine ppt presentationSupport Vector Machine ppt presentation
Support Vector Machine ppt presentation
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Data Science, Machine Learning and Neural Networks
Data Science, Machine Learning and Neural NetworksData Science, Machine Learning and Neural Networks
Data Science, Machine Learning and Neural Networks
 
Computer vision, machine, and deep learning
Computer vision, machine, and deep learningComputer vision, machine, and deep learning
Computer vision, machine, and deep learning
 
Online Payment Fraud Detection with Azure Machine Learning
Online Payment Fraud Detection with Azure Machine LearningOnline Payment Fraud Detection with Azure Machine Learning
Online Payment Fraud Detection with Azure Machine Learning
 
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...
Machine Learning Tutorial | Machine Learning Basics | Machine Learning Algori...
 

Semelhante a Introduzione sul Machine Learning

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieLuca Naso
 
Analizza i tuoi dati con Intelligenza Artificiale
Analizza i tuoi dati con Intelligenza ArtificialeAnalizza i tuoi dati con Intelligenza Artificiale
Analizza i tuoi dati con Intelligenza ArtificialeRoberto Marmo
 
Il Magic Mouse: la rivoluzione del mouse?
Il Magic Mouse: la rivoluzione del mouse?Il Magic Mouse: la rivoluzione del mouse?
Il Magic Mouse: la rivoluzione del mouse?Erika Montoli
 
How to make smarter programs. A gentle introduction to Machine Learning by Si...
How to make smarter programs. A gentle introduction to Machine Learning by Si...How to make smarter programs. A gentle introduction to Machine Learning by Si...
How to make smarter programs. A gentle introduction to Machine Learning by Si...Codemotion
 
Documento sul design - SmartPark
Documento sul design - SmartParkDocumento sul design - SmartPark
Documento sul design - SmartParkGianmarco Beato
 
Machine learning: a cosa servono
Machine learning:   a cosa servonoMachine learning:   a cosa servono
Machine learning: a cosa servonoMario Gentili
 
Lezione6 apps-confartigianato
Lezione6 apps-confartigianatoLezione6 apps-confartigianato
Lezione6 apps-confartigianatoAndrea Vaccarella
 

Semelhante a Introduzione sul Machine Learning (7)

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e Tipologie
 
Analizza i tuoi dati con Intelligenza Artificiale
Analizza i tuoi dati con Intelligenza ArtificialeAnalizza i tuoi dati con Intelligenza Artificiale
Analizza i tuoi dati con Intelligenza Artificiale
 
Il Magic Mouse: la rivoluzione del mouse?
Il Magic Mouse: la rivoluzione del mouse?Il Magic Mouse: la rivoluzione del mouse?
Il Magic Mouse: la rivoluzione del mouse?
 
How to make smarter programs. A gentle introduction to Machine Learning by Si...
How to make smarter programs. A gentle introduction to Machine Learning by Si...How to make smarter programs. A gentle introduction to Machine Learning by Si...
How to make smarter programs. A gentle introduction to Machine Learning by Si...
 
Documento sul design - SmartPark
Documento sul design - SmartParkDocumento sul design - SmartPark
Documento sul design - SmartPark
 
Machine learning: a cosa servono
Machine learning:   a cosa servonoMachine learning:   a cosa servono
Machine learning: a cosa servono
 
Lezione6 apps-confartigianato
Lezione6 apps-confartigianatoLezione6 apps-confartigianato
Lezione6 apps-confartigianato
 

Mais de Luca Naso

Workshop introduttivo al Machine Learning in Python
Workshop introduttivo al Machine Learning in PythonWorkshop introduttivo al Machine Learning in Python
Workshop introduttivo al Machine Learning in PythonLuca Naso
 
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit DetailsMachine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit DetailsLuca Naso
 
Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramicaLuca 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
 

Mais de Luca Naso (6)

Workshop introduttivo al Machine Learning in Python
Workshop introduttivo al Machine Learning in PythonWorkshop introduttivo al Machine Learning in Python
Workshop introduttivo al Machine Learning in Python
 
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit DetailsMachine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
Machine Learning Workshop - EPS YM CT - parte 1 (8 Maggio 2021) Edit Details
 
Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramica
 
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
 

Introduzione sul Machine Learning

  • 1. INTRODUZIONE AL MACHINE LEARNING UNA VISTA PANORAMICA Luca Naso 2 Maggio 2018 LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 2. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 3. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 4. DEFINIZIONE Il Machine Learning è quella branca dell’informatica che dà ai computer la possibilità di imparare qualcosa senza che questo gli venga esplicitamente insegnato. Il “fare cose che prima non potevamo fare” o “automatizzare i processi” non sono elementi caratteristici del Machine Learning. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 5. PAROLA CHIAVE 1 1 imparare qualcosa “imparare” significa che viene acquisita una conoscenza e che questa può essere messa in pratica anche in futuro. Quindi noi insegniamo qualcosa al computer in modo che questi possa ripeterla in futuro senza il nostro intervento. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 6. PAROLA CHIAVE 2 2 senza che gli venga esplicitamente insegnato l’intervento umano è necessario affinchè il computer possa apprendere, ma tale intervento non consiste nel dire esplicitamente al computer come comportarsi. Invece diamo al computer una sorta di “chiave di lettura”, degli algoritmi, per fare in modo che possa interpretare i dati a disposizione. Da qui in poi andrà avanti da solo, e sarà lui poi a decidere cosa fare nel momento in cui dovrà mettere in pratica il suo apprendimento. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 7. 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. Questi algoritmi consentono di andare aldilà della programmazione in cui si danno al computer dei comandi espliciti da eseguire, e consentono di fare o prendere le cosiddette “data-driven predictions” o “decisions” (decisioni o predizioni basate sui dati). LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 8. STORIA Sebbene le applicazioni di Machine Learning stiano dilagando solo in questi anni, il termine è stato introdotto nel 1959 da Arthur Samuel quando lavorava presso IBM. Alcuni degli algoritmi risalgono ancora a prima del 1959. Il termine “regressione”, ad esempio, è stato coniato da Galton nel 1889, ed il primo algoritmo di regressione lineare fu realizzato addirittura agli inizi del 1800 da Legendre e Gauss. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 9. OGGI Secondo Gartner, oggi le aspettative rispetto al Machine Learning hanno raggiunto il loro picco. By Jeremykemp at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=10547051 LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 10. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 11. CASI D’USO Il Machine Learning viene utilizzato in tantissimi settori, ... vediamo insieme alcuni esempi. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 12. CASI D’USO - COMPUTER VISION Riconoscimento volti su Facebook, identificazione di persone, oggetti, animali, paesaggi, ... in un’immagine LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 13. CASI D’USO - RICONOSCIMENTO VOCALE Siri, Ok Google, Cortana, Alexa. Riconoscimento del parlato e sua interpretazione per capire cosa la persona ha chiesto e cosa si aspetta come risposta. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 14. CASI D’USO - SISTEMI DI RACCOMANDAZIONE Per suggerire cosa guardare, comprare, leggere, ... LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 15. CASI D’USO - SELF-DRIVING CARS Il Machine Learning ha persino permesso le auto che si guidano da sole! LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 16. CASI D’USO - IDENTIFICAZIONE DELLO SPAM Sistema di classificazione per individuare le email di spam LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 17. CASI D’USO - ATTIVITÀ FRAUDOLENTE Sistema di classificazione che identifica quando una transazione online (e.g. pagamento con carta di credito) è legittima e quando invece è fraudolenta LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 18. CASI D’USO - ANALISI DEL RISCHIO Sistema di previsione che stima la probabilità di un certo evento di verificarsi. Molto usato dalle assicurazioni e dalle banche (per stimare la probabilità di un sinistro o che non venga pagata una rata del mutuo). LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 19. CASI D’USO - MOLTO ALTRO Mobilità, medicina, robotica, spazio, difesa, GDO, marketing, ... LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 20. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 21. 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 - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 22. APPRENDIMENTO SUPERVISIONATO - DEFINIZIONE L’apprendimento supervisionato è quello in cui il computer apprende usando dei dati “etichettati”. Le etichette riportano il valore della grandezza che si vuole che il computer impari a predire, spesso indicata semplicemente come “output”. Quindi, per ogni osservazione, oltre ai valori di input, è noto anche il valore dell’output su cui il computer impara. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 23. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Supponiamo che vogliamo insegnare ad un bambino a riconoscere una bicicletta da una macchina, senza che lui ne abbia mai viste in vita sua. Come dataset utilizziamo un insieme di 10 immagini diverse di biciclette e 10 di automobili. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 24. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Mostriamo al bambino le immagini con le biciclette e gli diciamo che quelle sono biciclette, lasciando che lui capisca da solo quali sono le caratteristiche delle biciclette. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 25. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Facciamo poi lo stesso con le automobili. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 26. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Infine, facciamo vedere al bambino una nuova immagine, mai usata prima, e gli chiediamo se si tratta di un’automobile o di una bicicletta. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 27. 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 - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 28. APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO Ripetiamo l’esempio precedente in modalità non supervisionata. Possiamo usare sempre lo stesso dataset, ma questa volta quando facciamo vedere le foto al bambino, non gli diciamo quali sono le biciclette e quali le automobili. Invece, gliele facciamo vedere tutte insieme. Il bambino deve capire da solo che le immagini appartengono a due categorie diverse, perchè hanno delle caratteristiche diverse. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 29. APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO Quando mostriamo una nuova immagine al bambino, di certo non potrà dirci se si tratta di una bicicletta o di un’automobile, perchè nessuno gli ha insegnato queste parole. Però, potrà comunque essere capace di classificarla, secondo i gruppi che lui stesso ha creato durante la fase di apprendimento. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 30. APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 31. APPRENDIMENTO NON SUPERVISIONATO - NOTE Ci sono due note importanti da fare: 1 il bambino potrebbe trovare più di due categorie 2 le categorie trovate potrebbero essere molto diverse da quanto ci aspettiamo Ad esempio, il bambino potrebbe decidere di raggruppare le immagini in base al colore, o alla dimensione, e avrebbe tutto il diritto di farlo! In genere il risultato ha una forte dipendenza dalle immagini presenti nel dataset. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 32. RIEPILOGO Esistono altri tipi di apprendimento, come quello Semi Supervisionato o Rinforzato, che sono in qualche modo delle evoluzioni o combinazioni dei precedenti. Nome Caratteristica Supervisionato i dati sono etichettati Non Supervisionato i dati non sono etichettati Semi Supervisionato alcuni dati sono etichettati Rinforzato con un tipo particolare di etichette LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 33. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 34. 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 LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 35. REGRESSIONE Se l’output è un valore continuo, 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. Di solito sono casi supervisionati. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 36. CLASSIFICAZIONE Se l’output è un valore qualitativo (discreto), 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). Di solito sono casi supervisionati. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 37. CLUSTERING Se l’output è la suddivisione dei 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. Di solito sono casi non-supervisionati. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 38. RIEPILOGO Tipo di output Quantitativo Qualitativo Gruppo (continuo) (discreto) (relazioni) Nome Regressione Classificazione Clustering Esempio Peso Spam Comportamento LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 39. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 40. L’ALGORITMO MIGLIORE Qual è l’algoritmo migliore? Non esiste. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 41. L’ALGORITMO MIGLIORE Esistono centinaia di algoritmi di Machine Learning, se non migliaia. E’ importante capire subito che non esiste l’algoritmo perfetto, quello giusto per tutte le circostanze. Di solito, ogni algoritmo è indicato solo per alcuni tipi di problemi e non per altri. Quindi il primo passo da fare nella scelta dell’algoritmo per il proprio problema di Machine Learning è capire se ci si muove in uno scenario di apprendimento supervisionato o non-supervisionato, e se è di classificazione, regressione o clustering. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 42. GRIGLIA SEMPLIFICATA LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 43. SCELTA DELL’ALGORITMO LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 44. COME FARE LA SCELTA FINALE? Dato che per ogni tipo di problema ci sono vari algoritmi, come facciamo a scegliere quale usare? Semplice: usiamo quello che funziona meglio! La teoria, infatti, ci aiuta a fare la prima selezione. Poi però dobbiamo vedere i risultati sul campo. Procediamo dunque con la misura dell’errore. Si costruiscono diversi modelli, si calcola l’errore per ciascuno e si sceglie quello con i risultati migliori. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 45. COME FARE LA SCELTA FINALE? La misura dell’errore ci aiuta sia a confrontare modelli che usano algoritmi diversi, sia che usano lo stesso algoritmo ma con impostazioni diverse. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 46. COME FARE LA SCELTA FINALE? Algoritmo Logistic Regression LDA K-Means penalty solver n clusters dual shrinkage init tol priors n init C n components max iter fit intercept store covariance tol intercept scaling tol class weight ParametriinR . . . LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 47. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 48. DEFINIZIONE DI ERRORE Per semplifiare l’esposizione dei concetti, consideriamo il caso dell’apprendimento supervisionato di regressione, ad esempio un modello che stima l’altezza di una persona in base a peso, genere ed età. L’errore (o residuo) del nostro modello è la differenza che c’è tra l’altezza stimata dal modello e l’altezza osservata. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 49. NOTAZIONE - OSSERVAZIONI Rappresentiamo i dati di input per ciascuna persona del nostro dataset con un vettore: xi ≡ (x1, x2, . . . , xp)i Nel nostro caso p = 3 e la terna (x1, x2, x3)i rappresenta genere, peso ed età della persona i-esima. Chiamiamo poi yi l’altezza misurata della persona i-esima. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 50. NOTAZIONE - PREVISIONI Costruire un modello di machine learning significa trovare quella funzione f per cui: yi = f(xi) (1) Due esempi: f(m, 70 kg, 35 yr) = 170 cm f(w, 60 kg, 35 yr) = 165 cm Se l’altezza di queste due persone fosse proprio quella riportata qua, allora il nostro errore sarebbe zero per entrambi. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 51. VARIABILITÀ INTRINSECA In realtà sappiamo bene che persone con lo stesso peso, genere ed età possono avere altezze diverse. Ad esempio, nel nostro dataset potremmo avere le seguenti 3 osservazioni: x3 = (m, 70 kg, 35 yr) e y3 = 170 cm x4 = (m, 70 kg, 35 yr) e y4 = 180 cm x5 = (m, 70 kg, 35 yr) e y5 = 175 cm LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 52. VARIABILITÀ INTRINSECA La nostra funzione f invece, a parità di input, restituisce sempre lo stesso valore di output. Questo implica che il fenomeno ha una variabilità intrinseca che rende impossibile la creazione di un modello perfetto. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 53. ERRORE IRRIDUCIBILE Per questo motivo si introduce il concetto di errore irriducibile, chiamato irr, che rappresenta una misura della variabilità intrinseca del fenomeno in esame: yi = f(xi) + irr (2) LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 54. ERRORE DEL MODELLO In aggiunta all’errore irriducibile, c’è poi l’errore dovuto al modello di machine learning, indicato con . Questo errore è dovuto al fatto che non sappiamo qual è la vera forma di f e dobbiamo invece fare una stima anche per questa. Se chiamiamo ˆf questa stima, possiamo scrivere: f(xi) = ˆf(xi) + (3) Oppure, indicando con ˆyi l’altezza stimata dal modello: f(xi) = ˆyi + (4) LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 55. ERRORE TOTALE A questo punto possiamo mettere insieme i due pezzi e scrivere l’altezza osservata di una persona come: yi = ˆyi + + irr (5) Dove: ˆyi è l’altezza stimata dal modello è l’errore del modello (può essere ridotto) irr è la variabilità del fenomeno (non può essere ridotto) LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 56. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 57. ERRORE DEL MODELLO Tutti gli sforzi relativi alla ricerca del miglior modello di machine learning puntano a rendere minimo l’errore . E’ possibile dimostrare che tale errore è la somma di due parti: = Bias + Varianza (6) Quindi, in condizioni ideali, uno vorrebbe rendere nulli sia il Bias che la Varianza. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 58. RELAZIONE TRA BIAS E VARIANZA Purtroppo si dimostra che bias e varianza sono inversamente correlati, cioè tanto più si diminuisce il bias tanto più aumenta la varianza e viceversa. Per rendere minimo l’errore totale di un modello quindi bisogna puntare a rendere minima la somma di bias e varianza, e non uno solo dei due. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 59. DEFINIZIONE DI BIAS Un algoritmo di machine learning ha un certo bias se, quando viene addestrato su diversi dataset (tutti ugualmente buoni), l’output che restituisce è sistematicamente sbagliato. L’errore è “sistematico” nel senso che le sue caratteristiche non variano al variare dei dataset di training. Stiamo utilizzando un modello errato per descrivere il nostro fenomeno. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 60. DEFINIZIONE DI VARIANZA Un algoritmo di machine learning ha un’alta varianza se, quando viene addestrato su diversi dataset (tutti ugualmente buoni), l’errore che si commette è significativamente diverso per alcuni dei dataset utilizzati nell’addestramento. Di solito l’errore è molto basso per un dataset, e molto alto per alcuni o tutti i restanti. Questa situazione viene descritta anche con il termine “over-fitting”. LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 61. CURVA AD “U” DELL’ERRORE DEL MODELLO LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING
  • 62. RIEPILOGO 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI Panoramica e Scelta 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO - 2 MAGGIO 2018 @UNICT PANORAMICA SUL MACHINE LEARNING