Click here to load reader
Date post: | 05-Jul-2015 |
Category: |
Data & Analytics |
Upload: | vincenzo-manzoni |
View: | 261 times |
Download: | 0 times |
Click here to load reader
LE TECNOLOGIE DEI BIG DATA
Ordine degli Ingegneri della Provincia di Bergamo, 7 giugno 2014 !
Ing. Vincenzo Manzoni, [email protected]
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
WORKFLOW
2
Dati grezzi (raw)
Processing
Dataset
Modelli statistici (Analisi)
Machine Learning (Previsione)
Data driven products
Report, visualizzazioni, post su blog
Acquisizione Elaborazione Output
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
WORKFLOW
3
Dati grezzi (raw)
Processing
Dataset
Modelli statistici (Analisi)
Machine Learning (Previsione)
Data driven products
Report, visualizzazioni, post su blog
Acquisizione Elaborazione Output
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING DEFINIZIONE
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
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING PROCESSO DI ADDESTRAMENTO
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
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING PRINCIPALI TIPOLOGIE DI ALGORITMI
6
• Apprendimento supervisionato • Apprendimento non supervisionato
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING APPRENDIMENTO SUPERVISIONATO
7
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
8
x1
x2
?
A priori ho informazioni sulla classe (grigia o arancione) a cui appartengono le osservazioni.
A quale classe appartiene un nuovo punto, mai osservato, di cui non conosco a priori la classe? Problema di classificazione
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
9
x1
x2
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
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
10
x1
x2
Con un secondo separatore, la nuova istanza viene attribuita alla classe grigia.
Esiste un separatore ottimo?
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO SUPERVISIONATO CLASSE DISCRETA
11
x1
x2
Gli algoritmi di apprendimento supervisionato permettono, dato un insieme di addestramento (training) di determinare il separatore ottimo secondo una certa funzione di costo.
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
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)
12
x1
x2
k=1
k=5
k=2
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
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.
13
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
MACHINE LEARNING APPRENDIMENTO NON SUPERVISIONATO
14
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
APPRENDIMENTO NON SUPERVISIONATO
15
x1
x2
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
APPRENDIMENTO NON SUPERVISIONATO
16
Anche in questo caso, si possono raggruppare i punti secondo criteri diversi.
x1
x2
x1
x2
Esiste un raggruppamento ottimo?
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
DEMO 1
17
Anche in questo caso, si possono raggruppare i punti secondo criteri diversi.
x1
x2
x1
x2
Esiste un raggruppamento ottimo?
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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 VERO2 36.42 67.40 2 1 FALSO3 5.44 148.13 1 0 FALSO
…
DEMODEMO 1
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
DEMO 1
Ritardo (mesi) Non chiude Chiude0 100 01 89 112 73 243 77 23
Mesi di ritardo nei pagamenti
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
DEMODEMO 1Mesi di ritardo nei pagamentiChiamate al servizio clienti
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
DEMODEMO 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
• 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.
HADOOP
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
LE TECNOLOGIE DEI BIG DATA PROCESSO DI ADDESTRAMENTO
23
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
HADOOP ARCHITETTURA
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• Tecnologia per interrogare i Big Data come se fossero tabelle SQL.
• HiveQL • Produce in modo trasparente software Map
Reduce. • Inizialmente sviluppato da Facebook.
HIVE
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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’
HIVEQL
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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.
PIG
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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;
PIG
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
Hive PigLinguaggio di interrogazione HiveQL Pig Latin
Introdotto da Facebook YahooTipologia di linguaggio Dichiarativo Procedurale
Simile a SQL C, Java, Python, R
HIVE VS PIG
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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
DEMO 2
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
DEMO 2
Pres
tazio
ni (m
inore
è m
eglio
)
0
10
20
30
40
Dimensione del dataset (GB)
0 50 100 150 200
MySQL Hadoop
Hadoop inizia ad essere conveniente per dataset > di 100-150 GB.
CONFRONTO PRESTAZIONI HADOOP VS MYSQL
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• Insieme di tecnologie offerta da un provider che permettono di memorizzare e elaborare dati grazie a risorse hardware e software distribuite e virtualizzate.
IL CLOUD COMPUTING
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
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
AMAZON WEB SERVICES
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
• 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’utentepuò chiedere al modellodi classificare nuoveistanze.
ML AS A SERVICE
Introduzione ai Big Data e alla scienza dei dati, Ordine degli Ingegneri della Provincia di Bergamo, 2014. Copyright: Vincenzo Manzoni
LIBRI DI RIFERIMENTO
37
LE TECNOLOGIE DEI BIG DATA
Ordine degli Ingegneri della Provincia di Bergamo, 7 giugno 2014 !
Ing. Vincenzo Manzoni, [email protected]
Slide disponibili qui: http://www.vincenzomanzoni.com/corsi/