1. LE TECNOLOGIE DEI
BIG DATA
Ordine degli Ingegneri della Provincia di Bergamo, 7 giugno 2014
!
Ing. Vincenzo Manzoni, PhD
me@vincenzomanzoni.com
2. WORKFLOW
Acquisizione Elaborazione Output
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
2
Dati grezzi
(raw)
Processing
Dataset
Modelli statistici
(Analisi)
Machine Learning
(Previsione)
Data driven
products
Report, visualizzazioni,
post su blog
3. WORKFLOW
Acquisizione Elaborazione Output
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
3
Dati grezzi
(raw)
Processing
Dataset
Modelli statistici
(Analisi)
Machine Learning
(Previsione)
Data driven
products
Report, visualizzazioni,
post su blog
4. MACHINE LEARNING
DEFINIZIONE
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
4
• In italiano, apprendimento automatico
• Area dell’Intelligenza Artificiale (AI, Artificial Intelligence) che studia gli
algoritmi che permettono alle macchine di apprendere.
• Gli algoritmi si basano su osservazioni - dati - per fare la sintesi della
conoscenza.
• Usi:
• Sistemi di raccomandazione
• Anomaly/fraud detection
• Customer churn
• Market segmentation
5. MACHINE LEARNING
PROCESSO DI ADDESTRAMENTO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
5
Creazione degli insieme di
addestramento e di test
Dataset
Insieme di
addestramento
Insieme di test
Creazione del modello
Validazione del modello
Modello validato
Modello
6. MACHINE LEARNING
PRINCIPALI TIPOLOGIE DI ALGORITMI
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
6
• Apprendimento supervisionato
• Apprendimento non supervisionato
7. MACHINE LEARNING
APPRENDIMENTO SUPERVISIONATO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
7
8. APPRENDIMENTO SUPERVISIONATO
CLASSE DISCRETA
A priori ho informazioni sulla classe (grigia o arancione) a cui appartengono le
osservazioni.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
8
x1
x2
?
A quale classe appartiene un
nuovo punto, mai osservato, di cui
non conosco a priori la classe?
Problema di classificazione
9. APPRENDIMENTO SUPERVISIONATO
CLASSE DISCRETA
Con un primo separatore, la nuova istanza viene attribuita alla classe arancione.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
9
x1
x2
10. APPRENDIMENTO SUPERVISIONATO
CLASSE DISCRETA
Con un secondo separatore, la nuova istanza viene attribuita alla classe grigia.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
10
x1
x2
Esiste un separatore ottimo?
11. APPRENDIMENTO SUPERVISIONATO
CLASSE DISCRETA
Gli algoritmi di apprendimento supervisionato permettono, dato un insieme di
addestramento (training) di determinare il separatore ottimo secondo una
certa funzione di costo.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
11
x1
x2
Separatore ottimo secondo
una certa funzione di costo
12. K-NEAREST NEIGHBORS
• Il riconoscimento avviene sulla base degli oggetti vicini a quello considerato.
• Il parametro k indica quanti vicini considerare.
• Può essere usato per stimare classi discrete
(classificazione) o variabili
continue (regressione)
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
12
x1
x2
k=1
k=5
k=2
13. ALBERI DI DECISIONE
• E’ un algoritmo di classificazione
trasparente. Una volta addestrato, è
rappresentabile con una serie di se,
allora, altrimenti.
• Una versione evoluta è il Random
Forest prevede l’utilizzo di più alberi.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
13
14. MACHINE LEARNING
APPRENDIMENTO NON SUPERVISIONATO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
14
15. APPRENDIMENTO NON SUPERVISIONATO
A priori, non ho informazioni sulla classe a cui appartengono le mie osservazioni.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
15
x1
x2
16. APPRENDIMENTO NON SUPERVISIONATO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
16
Anche in questo caso, si possono raggruppare i punti secondo criteri diversi.
x1
x2
x1
x2
Esiste un raggruppamento ottimo?
17. DEMO 1
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
17
Anche in questo caso, si possono raggruppare i punti secondo criteri diversi.
x1
x2
x1
x2
Esiste un raggruppamento ottimo?
18. DEMO 1
• Siete l’analista dati di un provider di telefonia. Il vostro obiettivo è di capire se nei
prossimi 6 mesi un cliente lascerà sulla base del suo profilo d’uso.
• Il profilo d’uso di un utente è descritto da 4 variabili:
1. Uso voce (minuti / mese)
2. Uso dati (MB / mese)
3. Chiamate al servizio clienti
4. Ritardo nei pagamenti (mesi)
Id Uso
voce Uso
da+ Chiamate
al
servizio
clien+
Ritardo
pagamen+ Lascia?
1 3.20 22.85 0 1 VERO
2 36.42 67.40 2 1 FALSO
3 5.44 148.13 1 0 FALSO
…
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
19. DEMO 1
Mesi di ritardo nei pagamenti
Ritardo (mesi) Non chiude Chiude
0 100 0
1 89 11
2 73 24
3 77 23
Considerando solo mesi di ritardo,
il nostro sistema correttamente
solo il 24% delle istanze.
Proviamo a aggiungere una
variabile…
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
20. DEMO 1
Chiamate al servizio clienti Mesi di ritardo nei pagamenti
Si può arrivare al 50% di
accuratezza, ma i clienti coinvolti
sono pochi.
Proviamo con un nuovo approccio!
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
21. DEMO 1
http://orange.biolab.si
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
22. HADOOP
• Framework che supporta applicazioni distribuite
con alto accesso ai dati.
• Sviluppato attivamente da Yahoo, è stato ispirato
dalla MapReduce di Google e dal Google File
System.
• È composto da:
• HDFS: un filesystem distribuito
• Hadoop Common: un insieme di librerie
per l’accesso a HDFS.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
23. LE TECNOLOGIE DEI BIG DATA
PROCESSO DI ADDESTRAMENTO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
23
24. HADOOP
ARCHITETTURA
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
25. HIVE
• Tecnologia per interrogare i Big Data come se
fossero tabelle SQL.
• HiveQL
• Produce in modo trasparente software Map
Reduce.
• Inizialmente sviluppato da Facebook.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
26. HIVEQL
• Linguaggio dichiarativo
• Si specifica cosa si vuole, non come ottenerle (come SQL).
• Simile, ma non del tutto identico a SQL.
• Esempi:
• SELECT
COUNT(*)
FROM
nyse_stocks
• SELECT
AVG(stock_price_close)
FROM
nyse_stocks
WHERE
stock_symbols=‘IBM’
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
27. PIG
• Piattaforma per creare programmi Map
Reduce.
• Astrae la scrittura di programmi Map
Reduce in un linguaggio di più alto livello (Pig
Latin).
• Inizialmente sviluppato da Yahoo.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
28. PIG
• Linguaggio procedurale.
• Si specificano i vari passi per ottenere un risultato (come C,
Python, R, Java, …)
• Esempio:
a
=
LOAD
'nyse_stocks'
using
org.apache.hcatalog.pig.HCatLoader();
b
=
filter
a
by
stock_symbol
==
'IBM';
c
=
group
b
all;
d
=
foreach
c
generate
AVG(b.stock_price_close);
dump
d;
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
29. Hive Pig
HIVE VS PIG
Linguaggio di interrogazione HiveQL Pig Latin
Introdotto da Facebook Yahoo
Tipologia di linguaggio Dichiarativo Procedurale
Simile a SQL C, Java, Python, R
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
30. DEMO 2
• Esempio d’uso di Hive da pannello di controllo web
• Confronto delle prestazioni con una interrogazione MySQL
• Esempio d’uso di Hive da console
• Esempio d’uso di Pig
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
31. DEMO 2
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
32. CONFRONTO PRESTAZIONI
HADOOP VS MYSQL
Prestazioni (minore è meglio)
40
30
20
10
0
MySQL Hadoop
Hadoop inizia ad essere conveniente
per dataset > di 100-150 GB.
0 50 100 150 200
Dimensione del dataset (GB)
33. IL CLOUD COMPUTING
• Insieme di tecnologie offerta da un provider che permettono di
memorizzare e elaborare dati grazie a risorse hardware e software
distribuite e virtualizzate.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
34. IL CLOUD COMPUTING
CONFRONTO TRA PROVIDERS
Provider Servizi offerti URL
Dropbox Storage dropbox.com
Amazon Web Services
(AWS)
Storage, calcolo, Hadoop…
e molto altro aws.amazon.com
Microsoft Azure Storage, calcolo, Hadoop azure.microsoft.com
Google Cloud Storage, calcolo, Hadoop,
Machine Learning cloud.google.com
BigML Machine Learning bigml.com
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
35. AMAZON WEB SERVICES
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
36. ML AS A SERVICE
• Servizio che rende trasparente all’utente il processo di scelta del miglior
algoritmo di apprendimento supervisionato
• L’utente carica nel servizio il proprio dataset di addestramento (spesso,
anche quello di test).
• Il sistema addestra un modello e notifica l’utente al termine
dell’operazione.
• A questo punto l’utente
può chiedere al modello
di classificare nuove
istanze.
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
37. LIBRI DI RIFERIMENTO
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
37
38. LE TECNOLOGIE DEI
BIG DATA
Ordine degli Ingegneri della Provincia di Bergamo, 7 giugno 2014
!
Ing. Vincenzo Manzoni, PhD
me@vincenzomanzoni.com
Slide disponibili qui: http://www.vincenzomanzoni.com/corsi/