Le tecnologie dei Big Data

Post on 05-Jul-2015

261 views 0 download

description

Presentazione introduttiva alle tecnologie dei Big Data fatta all'Ordine degli Ingegneri della provincia di Bergamo il 7 giugno 2014.

transcript

LE TECNOLOGIE DEI BIG DATA

Ordine degli Ingegneri della Provincia di Bergamo, 7 giugno 2014 !

Ing. Vincenzo Manzoni, PhDme@vincenzomanzoni.com

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, PhDme@vincenzomanzoni.com

Slide disponibili qui: http://www.vincenzomanzoni.com/corsi/