SlideShare une entreprise Scribd logo
1  sur  64
Télécharger pour lire hors ligne
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?

Contenu connexe

Tendances

Intro to modelling-supervised learning
Intro to modelling-supervised learningIntro to modelling-supervised learning
Intro to modelling-supervised learningJustin Sebok
 
An Introduction to XAI! Towards Trusting Your ML Models!
An Introduction to XAI! Towards Trusting Your ML Models!An Introduction to XAI! Towards Trusting Your ML Models!
An Introduction to XAI! Towards Trusting Your ML Models!Mansour Saffar
 
Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018HJ van Veen
 
Architecture Design for Deep Neural Networks I
Architecture Design for Deep Neural Networks IArchitecture Design for Deep Neural Networks I
Architecture Design for Deep Neural Networks IWanjin Yu
 
Supervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine LearningSupervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine LearningSpotle.ai
 
IBM Cloud Artificial Intelligence : A Comprehensive Overview
IBM Cloud Artificial Intelligence : A Comprehensive OverviewIBM Cloud Artificial Intelligence : A Comprehensive Overview
IBM Cloud Artificial Intelligence : A Comprehensive OverviewSatyajit Panda
 
Machine learning
Machine learningMachine learning
Machine learningeonx_32
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep LearningBelatrix Software
 
Unsupervised learning
Unsupervised learningUnsupervised learning
Unsupervised learningamalalhait
 
Ethical Issues in Machine Learning Algorithms. (Part 1)
Ethical Issues in Machine Learning Algorithms. (Part 1)Ethical Issues in Machine Learning Algorithms. (Part 1)
Ethical Issues in Machine Learning Algorithms. (Part 1)Vladimir Kanchev
 
Lecture 3: Basic Concepts of Machine Learning - Induction & Evaluation
Lecture 3: Basic Concepts of Machine Learning - Induction & EvaluationLecture 3: Basic Concepts of Machine Learning - Induction & Evaluation
Lecture 3: Basic Concepts of Machine Learning - Induction & EvaluationMarina Santini
 
Self supervised learning
Self supervised learningSelf supervised learning
Self supervised learning哲东 郑
 
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...Robert McDermott
 
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...Kishor Datta Gupta
 
Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics Prakash Pimpale
 
Introduction to Machine learning ppt
Introduction to Machine learning pptIntroduction to Machine learning ppt
Introduction to Machine learning pptshubhamshirke12
 
Natural lanaguage processing
Natural lanaguage processingNatural lanaguage processing
Natural lanaguage processinggulshan kumar
 

Tendances (20)

Intro to modelling-supervised learning
Intro to modelling-supervised learningIntro to modelling-supervised learning
Intro to modelling-supervised learning
 
fraud detection
fraud detectionfraud detection
fraud detection
 
An Introduction to XAI! Towards Trusting Your ML Models!
An Introduction to XAI! Towards Trusting Your ML Models!An Introduction to XAI! Towards Trusting Your ML Models!
An Introduction to XAI! Towards Trusting Your ML Models!
 
Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018Hacking Predictive Modeling - RoadSec 2018
Hacking Predictive Modeling - RoadSec 2018
 
Architecture Design for Deep Neural Networks I
Architecture Design for Deep Neural Networks IArchitecture Design for Deep Neural Networks I
Architecture Design for Deep Neural Networks I
 
Supervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine LearningSupervised and Unsupervised Machine Learning
Supervised and Unsupervised Machine Learning
 
IBM Cloud Artificial Intelligence : A Comprehensive Overview
IBM Cloud Artificial Intelligence : A Comprehensive OverviewIBM Cloud Artificial Intelligence : A Comprehensive Overview
IBM Cloud Artificial Intelligence : A Comprehensive Overview
 
Machine learning
Machine learningMachine learning
Machine learning
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep Learning
 
Unsupervised learning
Unsupervised learningUnsupervised learning
Unsupervised learning
 
Ethical Issues in Machine Learning Algorithms. (Part 1)
Ethical Issues in Machine Learning Algorithms. (Part 1)Ethical Issues in Machine Learning Algorithms. (Part 1)
Ethical Issues in Machine Learning Algorithms. (Part 1)
 
Lecture 3: Basic Concepts of Machine Learning - Induction & Evaluation
Lecture 3: Basic Concepts of Machine Learning - Induction & EvaluationLecture 3: Basic Concepts of Machine Learning - Induction & Evaluation
Lecture 3: Basic Concepts of Machine Learning - Induction & Evaluation
 
Self supervised learning
Self supervised learningSelf supervised learning
Self supervised learning
 
Quantum Cryptography/QKD
Quantum Cryptography/QKDQuantum Cryptography/QKD
Quantum Cryptography/QKD
 
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...
Basics of Generative AI: Models, Tokenization, Embeddings, Text Similarity, V...
 
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...
Robust Filtering Schemes for Machine Learning Systems to Defend Adversarial A...
 
Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics
 
Introduction to Machine learning ppt
Introduction to Machine learning pptIntroduction to Machine learning ppt
Introduction to Machine learning ppt
 
Natural lanaguage processing
Natural lanaguage processingNatural lanaguage processing
Natural lanaguage processing
 
Mycin presentation
Mycin presentationMycin presentation
Mycin presentation
 

Similaire à Cos'è il Machine Learning?

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieLuca 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
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise softwareAlberto Brandolini
 

Similaire à Cos'è il Machine Learning? (20)

Machine learning: Definizione e Tipologie
Machine learning: Definizione e TipologieMachine learning: Definizione e Tipologie
Machine learning: Definizione e Tipologie
 
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...
 
Reshaping enterrprise software
Reshaping enterrprise softwareReshaping enterrprise software
Reshaping enterrprise software
 

Plus 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
 

Plus 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
 

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?