SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
COS’È IL MACHINE LEARNING?
PANORAMICA
Luca Naso
AlumniSSC
11 ottobre 2018 @ TIM WCAP Catania
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL 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 COS’È IL 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 facciamo in modo che il
computer impari qualcosa e che, in futuro, possa sfruttare quanto appreso
senza il nostro intervento.
LUCA NASO COS’È IL MACHINE LEARNING?
PAROLA CHIAVE 2
2 “senza che gli venga esplicitamente insegnato”
l’intervento umano non consiste nel dire esplicitamente al computer come
comportarsi (un intervento è comunque necessario affinchè il computer possa
apprendere).
Invece diamo al computer i dati e degli algoritmi (“chiave di lettura”) per fare in
modo che possa interpretare i dati stessi.
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 COS’È IL 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 (su eventi o proprietà).
Questi algoritmi consentono di andare aldilà della programmazione classica che ci
consente di insegnare al computer solo le cose che effettivamente sappiamo
risolvere anche noi, e consente invece di risolvere problemi per cui non
conosciamo la soluzione, ma abbiamo molti esempi (o dati).
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
Definizione
Casi d’uso
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL MACHINE LEARNING?
CASI D’USO
Il Machine Learning viene utilizzato in tantissimi settori, ...
Vediamo insieme solo tre esempi.
LUCA NASO COS’È IL MACHINE LEARNING?
CASI D’USO - ATTIVITÀ FRAUDOLENTE
Sistema di classificazione delle transazione online in due classi: legittime e
fraudolente.
Usiamo il Machine Learning perchè:
non sappiamo quali sono le caratteristiche di una transizione fraudolenta
(importo, orario, sito, computer, device, ...)
abbiamo degli esempi, cioé uno storico di transizioni legittime e fraudolente
possiamo dare questi in pasto al computer che usando un certo algoritmo
capirà da solo come distinguere le due.
LUCA NASO COS’È IL MACHINE LEARNING?
CASI D’USO - SISTEMI DI RACCOMANDAZIONE
Sistema di raccomandazione di quali sono i film che possono piacere a ciascun
utente.
Non abbiamo una legge che regola i gusti cinematografici
ma abbiamo tanti film, tanti utenti e tante recensioni
Grazie al Machine Learning possiamo chiedere al computer di “capire” i gusti degli
utenti.
Netflix prize: $1 milione nel 2006 - vinto nel 2009.
LUCA NASO COS’È IL MACHINE LEARNING?
CASI D’USO - ANALISI MEDICA
Sistema di analisi delle immagini per classificare i linfonodi nelle lastre in due
categorie: benigni e maligni.
Computer vision e machine learning consentono 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?
CASI D’USO - MOLTO ALTRO
Macchina a guida
autonoma,
Spam-detection,
Ottimizzazione dei
prezzi, Riconoscimento
Vocale, Difesa, GDO,
Marketing, ...
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL 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 COS’È IL MACHINE LEARNING?
APPRENDIMENTO SUPERVISIONATO - DEFINIZIONE
L’apprendimento supervisionato è quello in cui il computer apprende usando dati
“etichettati”.
Le etichette riportano il valore della grandezza da predire, spesso indicata
semplicemente come “output”.
Quindi, per ogni osservazione sono noti:
i valori di input (caratteristiche dell’osservazione)
ed un valore dell’output.
Il computer impara sulla base di questa associazione.
LUCA NASO COS’È IL MACHINE LEARNING?
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.
Come dataset utilizziamo un insieme d’immagini diverse di biciclette e di
automobili.
LUCA NASO COS’È IL MACHINE LEARNING?
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Mostriamo le immagini
delle biciclette e diciamo
che sono biciclette,
senza indicare le
caratteristiche delle
biciclette.
LUCA NASO COS’È IL MACHINE LEARNING?
APPRENDIMENTO SUPERVISIONATO - ESEMPIO
Facciamo poi lo stesso con le automobili.
LUCA NASO COS’È IL MACHINE LEARNING?
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?
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?
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?
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Quando mostriamo una nuova immagine al bambino come potrà rispondere?
LUCA NASO COS’È IL MACHINE LEARNING?
APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO
Di certo non potrà dire se si tratta di una bicicletta o di un’automobile, perchè
nessuno gli ha insegnato queste parole.
Invece, potrà classificarla secondo i gruppi che lui stesso ha creato durante la fase
di apprendimento.
LUCA NASO COS’È IL MACHINE LEARNING?
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)!
In genere il risultato ha una forte dipendenza dalle immagini presenti nel dataset.
LUCA NASO COS’È IL MACHINE LEARNING?
APPRENDIMENTO NON SUPERVISIONATO - NOTE
LUCA NASO COS’È IL MACHINE LEARNING?
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?
APPRENDIMENTO RINFORZATO
Infine, si parla tanto anche di una quarta categoria, quella dell’apprendimento
rinforzato.
L’apprendimento è guidato da una “funzione di guadagno” (o di costo) che viene
aumentata (o diminuita) ogni volta che la macchina raggiunge uno stato positivo
(negativo).
Questo sistema è stato utilizzato da DeepMind per costruire AlphaGo.
LUCA NASO COS’È IL MACHINE LEARNING?
RIEPILOGO
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?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
Tipo di apprendimento
Tipo di output
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL 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 COS’È IL 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 COS’È IL 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 COS’È IL 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 COS’È IL MACHINE LEARNING?
RIEPILOGO
Tipo di output
Quantitativo Qualitativo Gruppo
(continuo) (discreto) (relazioni)
Nome Regressione Classificazione Clustering
Esempio Peso Spam Comportamento
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
Panoramica e Scelta
4 ERRORI
LUCA NASO COS’È IL MACHINE LEARNING?
L’ALGORITMO MIGLIORE
Esistono migliaia di algoritmi di Machine Learning. E’ importante capire subito che
non esiste l’algoritmo perfetto, quello giusto per tutte le circostanze.
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 di che tipo è:
Supervisionato o non-supervisionato?
Classificazione, regressione o clustering?
LUCA NASO COS’È IL MACHINE LEARNING?
GRIGLIA SEMPLIFICATA
LUCA NASO COS’È IL MACHINE LEARNING?
SCELTA DELL’ALGORITMO
LUCA NASO COS’È IL MACHINE LEARNING?
COME FARE LA SCELTA FINALE?
L’errore non si riferisce solo all’algoritmo. Anche usando lo stesso algoritmo, ci
sono varie scelte che determinano l’errore complessivo (e.g. numero di predittori,
valore degli iper-parametri).
Quindi la misura dell’errore ci aiuta sia a confrontare modelli che usano algoritmi
diversi, sia modelli che usano lo stesso algoritmo ma con impostazioni diverse.
LUCA NASO COS’È IL MACHINE LEARNING?
ALCUNI IPER-PARAMETRI DI 3 ALGORITMI
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
Parametri
. . .
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO COS’È IL MACHINE LEARNING?
DEFINIZIONE DI ERRORE
Per semplifiare l’esposizione dei concetti, consideriamo il caso dell’apprendimento
supervisionato di regressione.
Supponiamo che abbiamo costruito un modello che stima l’altezza di una persona
in base a peso, genere ed età.
E’ intuitivo affermare che l’errore del nostro modello è la differenza tra l’altezza
stimata dal modello e l’altezza reale.
LUCA NASO COS’È IL MACHINE LEARNING?
NOTAZIONE - OSSERVAZIONI
Rappresentiamo i dati di input per ciascuna persona del nostro dataset con un
vettore:
xi ≡ (x1, x2, . . . , xn)i
Nel nostro caso n = 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 COS’È IL MACHINE LEARNING?
NOTAZIONE - DUE ESEMPI
Se la prima osservazione è un uomo di 80 kg, 40 anni ed alto 170 cm, allora
scriveremo:
x1 = (m, 80 kg, 40 yr) e y1 = 170 cm.
Se la seconda è invece una donna di 60 kg, 35 anni e 160 cm di altezza,
scriveremo:
x2 = (w, 60 kg, 35 yr) e y2 = 160 cm.
LUCA NASO COS’È IL MACHINE LEARNING?
NOTAZIONE - PREVISIONI
Costruire un modello di machine learning significa trovare quella funzione f per
cui:
yi = f(xi) (1)
Per le prime due osservazioni del dataset vorremmo che:
f(m, 80 kg, 40 yr) = 170 cm
f(w, 60 kg, 35 yr) = 160 cm
In questo caso il nostro errore sarebbe zero per entrambi.
LUCA NASO COS’È IL MACHINE LEARNING?
VARIABILITÀ INTRINSECA
In realtà 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 COS’È IL MACHINE LEARNING?
VARIABILITÀ INTRINSECA
La 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 COS’È IL 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)
Questo spiegherebbe le tre osservazioni precedenti:
f(m, 70 kg, 35 yr) = 175 ± 5 cm (3)
LUCA NASO COS’È IL 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) + (4)
Oppure, indicando con ˆyi l’altezza stimata dal modello:
f(xi) = ˆyi + (5)
LUCA NASO COS’È IL 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 (6)
Dove:
ˆyi è l’altezza stimata dal modello (previsione)
è l’errore del modello (può essere ridotto)
irr è la variabilità del fenomeno (non può essere ridotto)
LUCA NASO COS’È IL MACHINE LEARNING?
AGENDA
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
Errore irriducibile e del modello
Bias e Varianza
LUCA NASO COS’È IL 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:
= Bias2
+ Varianza (7)
Quindi, in condizioni ideali, uno vorrebbe rendere nulli sia il Bias che la Varianza.
LUCA NASO COS’È IL 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.
Quindi, se si rende minimo il bias la varianza sarà massima, e molto
probabilmente l’errore del modello sarà più alto di un altro modello che invece usa
un bias più grande, ma che ha una varianza molto più piccola.
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 COS’È IL MACHINE LEARNING?
DEFINIZIONE DI BIAS 1
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.
LUCA NASO COS’È IL MACHINE LEARNING?
DEFINIZIONE DI BIAS 2
Il bias è un errore dovuto al fatto che stiamo utilizzando un modello errato per
descrivere il nostro fenomeno. Di solito il bias è alto quando si descrive un
fenomeno reale con un modello troppo semplificato.
Ad esempio se usiamo un modello lineare per descrivere un fenomeno quadratico.
A volte si parla di under-fitting.
LUCA NASO COS’È IL MACHINE LEARNING?
DEFINIZIONE DI VARIANZA 1
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.
LUCA NASO COS’È IL MACHINE LEARNING?
DEFINIZIONE DI VARIANZA 2
La varianza è un errore dovuto al fatto che stiamo utilizzando un modello troppo
complesso (o flessibile) che tende ad assecondare troppo le variazioni presenti
nel dataset di training, anche quelle che hanno una natura puramente stocastica.
Ricordiamoci che ogni fenomeno ha una sua variabilità intrinseca, quindi
assecondare troppo le variazioni potrebbe essere controproducente. Questa
situazione viene descritta anche con il termine over-fitting.
LUCA NASO COS’È IL MACHINE LEARNING?
BIAS E VARIANZA
LUCA NASO COS’È IL MACHINE LEARNING?
CURVA AD “U” DELL’ERRORE DEL MODELLO
LUCA NASO COS’È IL MACHINE LEARNING?
RIEPILOGO
1 DEFINIZIONE E CASI D’USO REALI
2 TIPOLOGIE DI MACHINE LEARNING
3 ALGORITMI
4 ERRORI
LUCA NASO COS’È IL MACHINE LEARNING?

Más contenido relacionado

La actualidad más candente

Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...
Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...
Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...Edureka!
 
Machine learning and types
Machine learning and typesMachine learning and types
Machine learning and typesPadma Metta
 
Data Science - Part III - EDA & Model Selection
Data Science - Part III - EDA & Model SelectionData Science - Part III - EDA & Model Selection
Data Science - Part III - EDA & Model SelectionDerek Kane
 
Scalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSHScalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSHMaruf Aytekin
 
Machine learning with scikitlearn
Machine learning with scikitlearnMachine learning with scikitlearn
Machine learning with scikitlearnPratap Dangeti
 
Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramicaLuca Naso
 
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...Simplilearn
 
Deep learning: the future of recommendations
Deep learning: the future of recommendationsDeep learning: the future of recommendations
Deep learning: the future of recommendationsBalázs Hidasi
 
Introduction to machine learning
Introduction to machine learningIntroduction to machine learning
Introduction to machine learningRahul Sahai
 
Understanding ML Through Memes - Harsh - CCDays
Understanding ML Through Memes - Harsh - CCDaysUnderstanding ML Through Memes - Harsh - CCDays
Understanding ML Through Memes - Harsh - CCDaysCodeOps Technologies LLP
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers Arvind Devaraj
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkSpark Summit
 
Machine Learning Introduction
Machine Learning IntroductionMachine Learning Introduction
Machine Learning IntroductionYounesCharfaoui
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language ProcessingPranav Gupta
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초Hyungsoo Ryoo
 

La actualidad más candente (20)

Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...
Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...
Scikit Learn Tutorial | Machine Learning with Python | Python for Data Scienc...
 
Machine learning and types
Machine learning and typesMachine learning and types
Machine learning and types
 
Data Science - Part III - EDA & Model Selection
Data Science - Part III - EDA & Model SelectionData Science - Part III - EDA & Model Selection
Data Science - Part III - EDA & Model Selection
 
Scalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSHScalable Recommendation Algorithms with LSH
Scalable Recommendation Algorithms with LSH
 
Machine learning with scikitlearn
Machine learning with scikitlearnMachine learning with scikitlearn
Machine learning with scikitlearn
 
Big Data - Breve panoramica
Big Data - Breve panoramicaBig Data - Breve panoramica
Big Data - Breve panoramica
 
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...
Hierarchical Clustering | Hierarchical Clustering in R |Hierarchical Clusteri...
 
Deep learning: the future of recommendations
Deep learning: the future of recommendationsDeep learning: the future of recommendations
Deep learning: the future of recommendations
 
Introduction to machine learning
Introduction to machine learningIntroduction to machine learning
Introduction to machine learning
 
Understanding ML Through Memes - Harsh - CCDays
Understanding ML Through Memes - Harsh - CCDaysUnderstanding ML Through Memes - Harsh - CCDays
Understanding ML Through Memes - Harsh - CCDays
 
Restricted boltzmann machine
Restricted boltzmann machineRestricted boltzmann machine
Restricted boltzmann machine
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By Spark
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Machine Learning Introduction
Machine Learning IntroductionMachine Learning Introduction
Machine Learning Introduction
 
Transformers AI PPT.pptx
Transformers AI PPT.pptxTransformers AI PPT.pptx
Transformers AI PPT.pptx
 
Introduction to Natural Language Processing
Introduction to Natural Language ProcessingIntroduction to Natural Language Processing
Introduction to Natural Language Processing
 
Introduction to Transformer Model
Introduction to Transformer ModelIntroduction to Transformer Model
Introduction to Transformer Model
 
Time series deep learning
Time series   deep learningTime series   deep learning
Time series deep learning
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 

Similar a Cos'è il Machine Learning?

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieLuca Naso
 
Introduzione sul Machine Learning
Introduzione sul Machine LearningIntroduzione sul Machine Learning
Introduzione sul Machine LearningLuca Naso
 
10. Progettare per l’errore
10. Progettare per l’errore 10. Progettare per l’errore
10. Progettare per l’errore Roberto Polillo
 
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
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliValerio Capozio
 
Growth Marketing & Performance ROI - Webinar gratuito
Growth Marketing & Performance ROI - Webinar gratuitoGrowth Marketing & Performance ROI - Webinar gratuito
Growth Marketing & Performance ROI - Webinar gratuitoNinja Academy
 
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
 
Marketing Aumentato e Intelligenza Artificiale - Master MUMM
Marketing Aumentato e Intelligenza Artificiale - Master MUMMMarketing Aumentato e Intelligenza Artificiale - Master MUMM
Marketing Aumentato e Intelligenza Artificiale - Master MUMMMasterMarketing
 
BACK TO THE FUTURE THE AGILE HUMAN TRANSFORMATION
BACK TO THE FUTURE  THE AGILE HUMAN TRANSFORMATIONBACK TO THE FUTURE  THE AGILE HUMAN TRANSFORMATION
BACK TO THE FUTURE THE AGILE HUMAN TRANSFORMATIONMichele Budri
 
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmicoAlumni Mathematica
 
Matematica, un approccio algoritmico
Matematica, un approccio algoritmicoMatematica, un approccio algoritmico
Matematica, un approccio algoritmicoStefano Franco
 
Webinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learningWebinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learningRoberto Marmo
 
Digital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NETDigital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NETMarco Zamana
 
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'UtenteLean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'UtenteSteve Maraspin
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista IMarcello Missiroli
 
Ascari Project (discorso)
Ascari Project (discorso)Ascari Project (discorso)
Ascari Project (discorso)Gabriele Genta
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaAlessandro Greppi
 
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
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...MichaelFuser
 

Similar a Cos'è il Machine Learning? (20)

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e Tipologie
 
Introduzione sul Machine Learning
Introduzione sul Machine LearningIntroduzione sul Machine Learning
Introduzione sul Machine Learning
 
10. Progettare per l’errore
10. Progettare per l’errore 10. Progettare per l’errore
10. Progettare per l’errore
 
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
 
Corso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti NeuraliCorso Introduttivo alle Reti Neurali
Corso Introduttivo alle Reti Neurali
 
Growth Marketing & Performance ROI - Webinar gratuito
Growth Marketing & Performance ROI - Webinar gratuitoGrowth Marketing & Performance ROI - Webinar gratuito
Growth Marketing & Performance ROI - Webinar gratuito
 
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
 
Marketing Aumentato e Intelligenza Artificiale - Master MUMM
Marketing Aumentato e Intelligenza Artificiale - Master MUMMMarketing Aumentato e Intelligenza Artificiale - Master MUMM
Marketing Aumentato e Intelligenza Artificiale - Master MUMM
 
BACK TO THE FUTURE THE AGILE HUMAN TRANSFORMATION
BACK TO THE FUTURE  THE AGILE HUMAN TRANSFORMATIONBACK TO THE FUTURE  THE AGILE HUMAN TRANSFORMATION
BACK TO THE FUTURE THE AGILE HUMAN TRANSFORMATION
 
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico
"Come è piccolo il mondo" - Seminario: Matematica, un approccio algoritmico
 
Matematica, un approccio algoritmico
Matematica, un approccio algoritmicoMatematica, un approccio algoritmico
Matematica, un approccio algoritmico
 
Webinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learningWebinar IWA Marmo Guida acquisto machine learning
Webinar IWA Marmo Guida acquisto machine learning
 
Digital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NETDigital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NET
 
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'UtenteLean UX: Sviluppo Software Agile e Incentrato sull'Utente
Lean UX: Sviluppo Software Agile e Incentrato sull'Utente
 
Guida del perfetto Algoritmista I
Guida del perfetto Algoritmista IGuida del perfetto Algoritmista I
Guida del perfetto Algoritmista I
 
Ascari Project (discorso)
Ascari Project (discorso)Ascari Project (discorso)
Ascari Project (discorso)
 
Blockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanzaBlockchain e AI: verso una nuova finanza
Blockchain e AI: verso una nuova finanza
 
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...
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 

Cos'è il Machine Learning?

  • 1. COS’È IL MACHINE LEARNING? PANORAMICA Luca Naso AlumniSSC 11 ottobre 2018 @ TIM WCAP Catania LUCA NASO COS’È IL MACHINE LEARNING?
  • 2. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL MACHINE LEARNING?
  • 3. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL 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 COS’È IL 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 facciamo in modo che il computer impari qualcosa e che, in futuro, possa sfruttare quanto appreso senza il nostro intervento. LUCA NASO COS’È IL MACHINE LEARNING?
  • 6. PAROLA CHIAVE 2 2 “senza che gli venga esplicitamente insegnato” l’intervento umano non consiste nel dire esplicitamente al computer come comportarsi (un intervento è comunque necessario affinchè il computer possa apprendere). Invece diamo al computer i dati e degli algoritmi (“chiave di lettura”) per fare in modo che possa interpretare i dati stessi. 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 COS’È IL 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 (su eventi o proprietà). Questi algoritmi consentono di andare aldilà della programmazione classica che ci consente di insegnare al computer solo le cose che effettivamente sappiamo risolvere anche noi, e consente invece di risolvere problemi per cui non conosciamo la soluzione, ma abbiamo molti esempi (o dati). LUCA NASO COS’È IL MACHINE LEARNING?
  • 8. AGENDA 1 DEFINIZIONE E CASI D’USO REALI Definizione Casi d’uso 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL MACHINE LEARNING?
  • 9. CASI D’USO Il Machine Learning viene utilizzato in tantissimi settori, ... Vediamo insieme solo tre esempi. LUCA NASO COS’È IL MACHINE LEARNING?
  • 10.
  • 11. CASI D’USO - ATTIVITÀ FRAUDOLENTE Sistema di classificazione delle transazione online in due classi: legittime e fraudolente. Usiamo il Machine Learning perchè: non sappiamo quali sono le caratteristiche di una transizione fraudolenta (importo, orario, sito, computer, device, ...) abbiamo degli esempi, cioé uno storico di transizioni legittime e fraudolente possiamo dare questi in pasto al computer che usando un certo algoritmo capirà da solo come distinguere le due. LUCA NASO COS’È IL MACHINE LEARNING?
  • 12.
  • 13. CASI D’USO - SISTEMI DI RACCOMANDAZIONE Sistema di raccomandazione di quali sono i film che possono piacere a ciascun utente. Non abbiamo una legge che regola i gusti cinematografici ma abbiamo tanti film, tanti utenti e tante recensioni Grazie al Machine Learning possiamo chiedere al computer di “capire” i gusti degli utenti. Netflix prize: $1 milione nel 2006 - vinto nel 2009. LUCA NASO COS’È IL MACHINE LEARNING?
  • 14.
  • 15. CASI D’USO - ANALISI MEDICA Sistema di analisi delle immagini per classificare i linfonodi nelle lastre in due categorie: benigni e maligni. Computer vision e machine learning consentono 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?
  • 16. CASI D’USO - MOLTO ALTRO Macchina a guida autonoma, Spam-detection, Ottimizzazione dei prezzi, Riconoscimento Vocale, Difesa, GDO, Marketing, ... LUCA NASO COS’È IL MACHINE LEARNING?
  • 17. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL MACHINE LEARNING?
  • 18. 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?
  • 19. APPRENDIMENTO SUPERVISIONATO - DEFINIZIONE L’apprendimento supervisionato è quello in cui il computer apprende usando dati “etichettati”. Le etichette riportano il valore della grandezza da predire, spesso indicata semplicemente come “output”. Quindi, per ogni osservazione sono noti: i valori di input (caratteristiche dell’osservazione) ed un valore dell’output. Il computer impara sulla base di questa associazione. LUCA NASO COS’È IL MACHINE LEARNING?
  • 20. 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. Come dataset utilizziamo un insieme d’immagini diverse di biciclette e di automobili. LUCA NASO COS’È IL MACHINE LEARNING?
  • 21. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Mostriamo le immagini delle biciclette e diciamo che sono biciclette, senza indicare le caratteristiche delle biciclette. LUCA NASO COS’È IL MACHINE LEARNING?
  • 22. APPRENDIMENTO SUPERVISIONATO - ESEMPIO Facciamo poi lo stesso con le automobili. LUCA NASO COS’È IL MACHINE LEARNING?
  • 23. 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?
  • 24. 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?
  • 25. 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?
  • 26. APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO Quando mostriamo una nuova immagine al bambino come potrà rispondere? LUCA NASO COS’È IL MACHINE LEARNING?
  • 27. APPRENDIMENTO NON SUPERVISIONATO - ESEMPIO Di certo non potrà dire se si tratta di una bicicletta o di un’automobile, perchè nessuno gli ha insegnato queste parole. Invece, potrà classificarla secondo i gruppi che lui stesso ha creato durante la fase di apprendimento. LUCA NASO COS’È IL MACHINE LEARNING?
  • 28. 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)! In genere il risultato ha una forte dipendenza dalle immagini presenti nel dataset. LUCA NASO COS’È IL MACHINE LEARNING?
  • 29. APPRENDIMENTO NON SUPERVISIONATO - NOTE LUCA NASO COS’È IL MACHINE LEARNING?
  • 30. 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?
  • 31. APPRENDIMENTO RINFORZATO Infine, si parla tanto anche di una quarta categoria, quella dell’apprendimento rinforzato. L’apprendimento è guidato da una “funzione di guadagno” (o di costo) che viene aumentata (o diminuita) ogni volta che la macchina raggiunge uno stato positivo (negativo). Questo sistema è stato utilizzato da DeepMind per costruire AlphaGo. LUCA NASO COS’È IL MACHINE LEARNING?
  • 32. RIEPILOGO 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?
  • 33. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING Tipo di apprendimento Tipo di output 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL 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 COS’È IL 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 COS’È IL 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 COS’È IL 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 COS’È IL MACHINE LEARNING?
  • 38. RIEPILOGO Tipo di output Quantitativo Qualitativo Gruppo (continuo) (discreto) (relazioni) Nome Regressione Classificazione Clustering Esempio Peso Spam Comportamento LUCA NASO COS’È IL MACHINE LEARNING?
  • 39. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI Panoramica e Scelta 4 ERRORI LUCA NASO COS’È IL MACHINE LEARNING?
  • 40. L’ALGORITMO MIGLIORE Esistono migliaia di algoritmi di Machine Learning. E’ importante capire subito che non esiste l’algoritmo perfetto, quello giusto per tutte le circostanze. 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 di che tipo è: Supervisionato o non-supervisionato? Classificazione, regressione o clustering? LUCA NASO COS’È IL MACHINE LEARNING?
  • 41. GRIGLIA SEMPLIFICATA LUCA NASO COS’È IL MACHINE LEARNING?
  • 42. SCELTA DELL’ALGORITMO LUCA NASO COS’È IL MACHINE LEARNING?
  • 43. COME FARE LA SCELTA FINALE? L’errore non si riferisce solo all’algoritmo. Anche usando lo stesso algoritmo, ci sono varie scelte che determinano l’errore complessivo (e.g. numero di predittori, valore degli iper-parametri). Quindi la misura dell’errore ci aiuta sia a confrontare modelli che usano algoritmi diversi, sia modelli che usano lo stesso algoritmo ma con impostazioni diverse. LUCA NASO COS’È IL MACHINE LEARNING?
  • 44. ALCUNI IPER-PARAMETRI DI 3 ALGORITMI 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 Parametri . . . LUCA NASO COS’È IL MACHINE LEARNING?
  • 45. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO COS’È IL MACHINE LEARNING?
  • 46. DEFINIZIONE DI ERRORE Per semplifiare l’esposizione dei concetti, consideriamo il caso dell’apprendimento supervisionato di regressione. Supponiamo che abbiamo costruito un modello che stima l’altezza di una persona in base a peso, genere ed età. E’ intuitivo affermare che l’errore del nostro modello è la differenza tra l’altezza stimata dal modello e l’altezza reale. LUCA NASO COS’È IL MACHINE LEARNING?
  • 47. NOTAZIONE - OSSERVAZIONI Rappresentiamo i dati di input per ciascuna persona del nostro dataset con un vettore: xi ≡ (x1, x2, . . . , xn)i Nel nostro caso n = 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 COS’È IL MACHINE LEARNING?
  • 48. NOTAZIONE - DUE ESEMPI Se la prima osservazione è un uomo di 80 kg, 40 anni ed alto 170 cm, allora scriveremo: x1 = (m, 80 kg, 40 yr) e y1 = 170 cm. Se la seconda è invece una donna di 60 kg, 35 anni e 160 cm di altezza, scriveremo: x2 = (w, 60 kg, 35 yr) e y2 = 160 cm. LUCA NASO COS’È IL MACHINE LEARNING?
  • 49. NOTAZIONE - PREVISIONI Costruire un modello di machine learning significa trovare quella funzione f per cui: yi = f(xi) (1) Per le prime due osservazioni del dataset vorremmo che: f(m, 80 kg, 40 yr) = 170 cm f(w, 60 kg, 35 yr) = 160 cm In questo caso il nostro errore sarebbe zero per entrambi. LUCA NASO COS’È IL MACHINE LEARNING?
  • 50. VARIABILITÀ INTRINSECA In realtà 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 COS’È IL MACHINE LEARNING?
  • 51. VARIABILITÀ INTRINSECA La 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 COS’È IL MACHINE LEARNING?
  • 52. 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) Questo spiegherebbe le tre osservazioni precedenti: f(m, 70 kg, 35 yr) = 175 ± 5 cm (3) LUCA NASO COS’È IL MACHINE LEARNING?
  • 53. 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) + (4) Oppure, indicando con ˆyi l’altezza stimata dal modello: f(xi) = ˆyi + (5) LUCA NASO COS’È IL MACHINE LEARNING?
  • 54. ERRORE TOTALE A questo punto possiamo mettere insieme i due pezzi e scrivere l’altezza osservata di una persona come: yi = ˆyi + + irr (6) Dove: ˆyi è l’altezza stimata dal modello (previsione) è l’errore del modello (può essere ridotto) irr è la variabilità del fenomeno (non può essere ridotto) LUCA NASO COS’È IL MACHINE LEARNING?
  • 55. AGENDA 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI Errore irriducibile e del modello Bias e Varianza LUCA NASO COS’È IL MACHINE LEARNING?
  • 56. 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: = Bias2 + Varianza (7) Quindi, in condizioni ideali, uno vorrebbe rendere nulli sia il Bias che la Varianza. LUCA NASO COS’È IL MACHINE LEARNING?
  • 57. 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. Quindi, se si rende minimo il bias la varianza sarà massima, e molto probabilmente l’errore del modello sarà più alto di un altro modello che invece usa un bias più grande, ma che ha una varianza molto più piccola. 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 COS’È IL MACHINE LEARNING?
  • 58. DEFINIZIONE DI BIAS 1 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. LUCA NASO COS’È IL MACHINE LEARNING?
  • 59. DEFINIZIONE DI BIAS 2 Il bias è un errore dovuto al fatto che stiamo utilizzando un modello errato per descrivere il nostro fenomeno. Di solito il bias è alto quando si descrive un fenomeno reale con un modello troppo semplificato. Ad esempio se usiamo un modello lineare per descrivere un fenomeno quadratico. A volte si parla di under-fitting. LUCA NASO COS’È IL MACHINE LEARNING?
  • 60. DEFINIZIONE DI VARIANZA 1 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. LUCA NASO COS’È IL MACHINE LEARNING?
  • 61. DEFINIZIONE DI VARIANZA 2 La varianza è un errore dovuto al fatto che stiamo utilizzando un modello troppo complesso (o flessibile) che tende ad assecondare troppo le variazioni presenti nel dataset di training, anche quelle che hanno una natura puramente stocastica. Ricordiamoci che ogni fenomeno ha una sua variabilità intrinseca, quindi assecondare troppo le variazioni potrebbe essere controproducente. Questa situazione viene descritta anche con il termine over-fitting. LUCA NASO COS’È IL MACHINE LEARNING?
  • 62. BIAS E VARIANZA LUCA NASO COS’È IL MACHINE LEARNING?
  • 63. CURVA AD “U” DELL’ERRORE DEL MODELLO LUCA NASO COS’È IL MACHINE LEARNING?
  • 64. RIEPILOGO 1 DEFINIZIONE E CASI D’USO REALI 2 TIPOLOGIE DI MACHINE LEARNING 3 ALGORITMI 4 ERRORI LUCA NASO COS’È IL MACHINE LEARNING?