SlideShare a Scribd company logo
1 of 213
Data Mining
Tecniche analitiche altamente complesse per un mondo sempre piu’
iper-complesso
Winter Lab Santa Margherita Ligure 8/14 Marzo
Felice Russo
PCM and Data Mining snr manager
Agenda
• Chi sono
• Introduzione
• Complessita’ del Data mining
• Definizione data mining
• Gli steps del data mining
• Modelli supervisionati e non
• Le 4 tecniche principali del data mining
• Issues
• Dettagli sulle tecniche analitiche
 Statistiche descrittive
 Regressione lineare e Logistica
 Analisi della varianza (ANOVA)
 Analisi discriminante
 Alberi decisionali
 Clustering
 Reti neurali
 SOM
 PCA
 Regole associative
 Support vector machine (SVM)
 Reti di Bayes
 Pattern recognition
2
Chi sono
• Felice Russo e' laureato in fisica, indirizzo nucleare (Universita' Federico II di Napoli). La sua tesi ha avuto come
argomento le oscillazioni dei neutrini (Teoria di Pontecorvo) ed e' stata condotta presso il CERN di Ginevra.
Attualmente lavora presso LFoundry una compagnia di semiconduttori come Data Mining, Device physics,
electrical and reliability senior manager. Per alcuni anni e' stato professore a contratto di microelettronica presso
l'Universita' "La Sapienza" di Roma. Ha al suo attivo numerosi articoli nel campo dei semiconduttori, data mining
e matematica. Nel 2011 per la casa editrice Aracne ha pubblicato il libro "L'universo dei numeri i numeri
dell'universo". Autore e curatore del blog Quantidiscienza
• Alcuni miei contributi al Data mining
 Sviluppo di un sistema per il riconoscimento di defocus –Tesi di Alessandro Lombardi – Univ. La Sapienza Roma
 Riconoscimento di fallimenti elettrici su wafer di Si –Tesi di Maria LauraVospeli – Univ. RomaTre
 Sviluppo di una rete neurale per il riconoscimento del chuck di macchine di CVD – Stefano Russo e Felice Russo - Micron
 Felice Russo et al., Semiconductor Device Modeling using a Neural Network,TITechnical Journal, Jan-March 1999
 Felice Russo and Stefano Russo, A Pattern RecognitionTool for Automatic Etch Process QualityCheck, Advanced
Semiconductor ManufacturingConference , 2008 ASMC IEEE/SEMI
 Felice Russo et al., CAT a new tool to separate randomic and systematic yield components,Workshop Statistical
Methods applied in microelectronics June 2013 Catholic University Milan
 Social network analysis – Felice Russo e Paola Lops Master Univ. Studi Perugia
 Felice Russo e Don Kent – Semiconductor wafer spatial pattern classification withJSL - SASWorkshopUSA 2014
 Felice Russo,Using a neural network to forecast the speed of a DRAM device, Micron technical Journal 2004
 Felice Russo, G. Polsinelli, Data Mining for asymmetric data set under the curse of dimensionality Find in big and noisy
data set the most influential yield predictors in a Semiconductor Fab, Discovery summit Europe 2018
3
Introduzione
4
Primo esempio di Data mining.
A sinistra: mappa originale del numero di morti per colera a Londra nel 1854.
Addensamento intorno alla fontana di via Broad la causa dell’infezione
A destra: la heatmap costruita con un algoritmo KDE (Kernel Density Estimation)
Introduzione
• Viviamo in un mondo sempre piu’ interconnesso e digitalizzato. Siamo
sommersi dai dati.
• Ogni minuto il mondo genera dati per 1,7 milioni di miliardi di byte, pari a
360000 DVD: più di 6 megabyte di dati a testa ogni giorno.
• Le informazioni consistono in dati sul clima, immagini satellitari, fotografie
e video digitali, registrazioni di operazioni o segnali GPS, dati scientifici,
dati sociali e cosi via solo per citarne alcuni.
• I database diventano sempre piu’ grandi e contengono una varieta’ di dati
• Come analizzare questo enorme volume di dati ?
• Con strumenti analitici sempre piu’ complessi e potenti e con macchine
sempre piu’ veloci.
• Data mining: insieme di tecniche e algoritmi provenienti da diversi campi
di ricerca quali machine learning, intelligenza artificiale, pattern
recognition, matematica, statistica e scienza dell’informazione.
5
Intersezione di diversi campi di ricerca
6
Complessita’ del DM
• Il Data Mining cerca di estrarre la conoscenza dalle miniere di dati disponibili.
Solo grazie alla conoscenza I dati possono acquistare un “valore”.
• Oggi le aziende sono ricche di dati ma povere di informazioni/conoscenza. Solo
un processo di “scoperta della conoscenza” (KDD Knowledge discovery in
database) puo’ trasformare I dati in oro.
• La speranza di tutti e’ che un giorno queste tecniche possano essere
automatizzate escludendo completamente l’intervento umano.
• Sara’ possibile? No, in quanto il data mining essendo un sistema complesso non
potra’ essere completamente automatizzato (indecidibilita’ della complessita’ di
Kolmogorov di una qualsiasi stringa).
• Il data mining e’ e sara’ sempre un “arte” il cui scopo e’ quello di trovare i modelli
che meglio si adattano agli insiemi dei dati analizzati.
7
Complessita’ del DM
Ulteriori complicazioni:
• complessita’ dei dati da manipolare a causa della loro varieta’
(tipologia di dati) e multidimensionalita’ dei database
• complessita’ computazionale degli algoritmi (per esempio con n
righe ed m colonne ci sono O[m2m-1] possibili regole di
associazione….)
• complessita’ dei risultati (non tutti i pattern* che emergono sono
facilmente interpretabili)
8
* Un pattern indica una struttura, un modello, o, in generale una rappresentazione sintetica dei dati.
Complessita’ del DM
Da dove deriva tutta questa complessita’? La risposta nella legge di Ashby:
• << la complessita’ delle tecniche di analisi deve essere uguale o superiore
a quella dei dati da analizzare>>
• Piu’ il mondo evolvera’ verso l’interconnessione digitale di tutte le cose
(Internet delle cose - IoT) piu’ il data mining dovra’ trovare nuove
tecniche analitiche per far fronte a tanta ipercomplessita’.
9
Definizione Data mining
• Il Data Mining e’ l’analisi di grossi volumi di dati (grande numero di
records e/o grande numero di variabili) con lo scopo di trovare delle
relazioni inattese.
• Il Data Mining e’ l’insieme di tecniche che permettono di spiegare il
passato e prevedere il futuro per mezzo dell’analisi dei dati
• Il Data Mining e’ una famiglia di metodologie che servono ad identificare dei
“patterns nascosti” all’interno di grandi insiemi di dati con lo scopo di spiegare il
comportamento di una o piu’ variabile di risposta.
• Il Data Mining e’ l’insieme di modelli che trovano le risposte senza fare domande
• Il Data Mining e’ quel processo non banale di identificare dei “patterns” validi,
nuovi, utili e comprensibili nei dati.
• Il Data Mining e’ quel processo che permette di estrarre le pepite d’oro
(informazioni) nascoste sotto le montagne dei Big Data.
10
Esistono diverse definizioni.....vediamone qualcuna
Definizione Data mining
• Il Data mining e’ l’insieme di strumenti analitici che permettono di estrarre dai big
data le informazioni utili, riducendo la dimensione
del campione e aumentando il valore dei dati
• Il data mining e’ torturare i dati finche’ non confessano
• Il data mining differisce dagli altri
metodi di modellizzazione in quanto
non esiste nessun modello
preconcetto da testare.
• Al contrario il data mining cerca
di trovare un modello dai dati e
usare questo per poi spiegare il
comportamento delle variabili
di risposta.
11
Un paio di vignette....
12
DATA
MINERS
BIG
DATA
La ricerca delle pepite d’oro nelle miniere di
big data
Data mining?
Cercare l’ago in un pagliaio.
Tanta paglia e poco tempo ...
Data mining?
Motivazioni
• I dati contengono informazioni/conoscenze nascoste
• Gli analisti possono impiegare settimane per scoprire
queste informazioni
• La maggior parte dei dati finisce per non essere mai
analizzata 13
Il data mining e’ ovunque
14
Un po’ di classifiche
Top 10 algoritmi di machine learning
1. C4.5 (Decision tree)
2. k-means clustering
3. Support vector machines (SVM - classificazione)
4. the Apriori algorithm (Association rules)
5. the EM algorithm (Expectation maximization – clustering)
6. PageRank (graph analysis algo – google)
7. AdaBoost (ensemble learning – combinazione di piu’
algoritmi)
8. k-nearest neighbours class (clustering)
9. Naïve Bayes
10.CART (decision tree)
15
Top linguaggio per data mining
16
What programming/statistics languages you used for an analytics / data mining / data
science work in 2013? [713 votes total]
% users in 2013 % users in 2012
R (434 voters in 2013) 60.9%
52.5%
Python (277) 38.8%
36.1%
SQL (261) 36.6%
32.1%
SAS (148) 20.8%
19.7%
Java (118) 16.5%
21.2%
MATLAB (89) 12.5%
13.1%
High-level data mining suite (80) 11.2%
not asked in 2012
Unix shell/awk/sed (79) 11.1%
14.7%
C/C++ (66) 9.3%
14.3%
Pig Latin/Hive/other Hadoop-based
languages (57)
8.0%
6.7%
Other low-level language (42) 5.9%
11.4%
GNU Octave (40) 5.6%
5.9%
Perl (32) 4.5%
9.0%
Ruby (16) 2.2%
3.8%
Top software per data mining
17
What Analytics, Big Data, Data mining, Data Science software you used in the past 12
months for a real project? [3285 voters]
Legend: Red: Free/Open Source tools
Green: Commercial tools
% users in 2014
% users in 2013
RapidMiner (1453), 35.1% alone 44.2%
39.2%
R (1264), 2.1% alone 38.5%
37.4%
Excel (847), 0.1% alone 25.8%
28.0%
SQL (832), 0.1% alone 25.3%
na
Python (639), 0.9% alone 19.5%
13.3%
Weka (558), 0.4% alone 17.0%
14.3%
KNIME (492), 10.6% alone 15.0%
5.9%
Hadoop (416), 0% alone 12.7%
9.3%
SAS base (357), 0% alone 10.9%
10.7%
Microsoft SQL Server (344), 0% alone 10.5%
7.0%
Revolution Analytics R (300), 13.3% alone 9.1%
4.5%
Tableau (298), 1.3% alone 9.1%
6.3%
MATLAB (277), 0% alone 8.4%
9.9%
IBM SPSS Statistics (253), 0.4% alone 7.7%
8.7%
SAS Enterprise Miner (235), 1.3% alone 7.2%
5.9%
SAP (including BusinessObjects/Sybase/Hana) (225), 6.8%
1.4%
Unix shell/awk/gawk (190), 0% alone 5.8%
na
IBM SPSS Modeler (187), 3.2% alone 5.7%
6.1%
Other free analytics/data mining tools (168), 1.8% alone 5.1%
3.4%
Rattle (161), 0% alone 4.9%
4.5%
BayesiaLab (136), 23.5% alone 4.1%
1.0%
Other Hadoop/HDFS-based tools (129), 0% alone 3.9%
na
Gnu Octave (128), 0% alone 3.9%
2.9%
JMP (125), 3.2% alone 3.8%
4.1%
KXEN (now part of SAP) (125), 0% alone 3.8%
1.9%
Predixion Software (122), 47.5% alone 3.7%
2.7%
Salford SPM/CART/Random Forests/MARS/TreeNet
(118),
3.6%
2.2%
Pig (116), 0% alone 3.5%
na
Orange (112), 0% alone 3.4%
3.6%
Alteryx (103), 50.5% alone 3.1%
0.3%
Perl (100), 2.0% alone 3.0%
na
Data base vs Data mining
18
Database
• Trovare tutti i clienti che vivono a Napoli
• Trovare tutti i clienti che usano la carta Mastercard
• Trovare tutti i clienti che hanno mancato un pagamento
Data mining
• Trovare tutti i clienti che probabilmente mancheranno un pagamento
(Classification)
• Raggruppare tutti i clienti che hanno le stesse abitudini di acquisto (Clustering)
• Mostrare tutti gli articoli che vengono comprati insieme alle biciclette
(Association rules)
• Trovare qualsiasi cliente “anomalo” (Outlier detection, anomaly discovery)
Statistica verso Data mining
• Nell’approccio top-down (statistico) , l’analista utilizzando la teoria
statistica cerca durante l’esplorazione di trovare conferme a fatti che
ipotizza o che già conosce (ad esempio quali fattori hanno prodotto un
risultato conosciuto), o di ampliare la sua conoscenza su nuovi aspetti di
un fenomeno che già conosce in parte. A questo scopo si utilizzano le
tecniche statistiche di clustering, l’analisi fattoriale, i metodi
previsionali, per cui l’approccio risulta difficile da applicare se gli utenti
non hanno buone conoscenze statistiche.
• Nell’approccio bottom-up (machine learning), l’analista ricerca le
informazioni utili che ignora “scavando” fra i dati e i collegamenti tra
loro in modo non aprioristico, per costruire ipotesi, ad esempio quali
fattori sono le cause più probabili che producono un certo risultato. In
questo caso è lo strumento (con la tecnologia delle reti neurali, degli
alberi decisionali o altro) che deve essere in grado di guidare l’utente
nell’esplorazione dei dati alla ricerca di fatti utili (conoscenza).
19
Gli steps del data mining
20
Definizione del problema
Preparazione dei dati
Esplorazione dei dati
Modellizzazione
Valutazione
Distribuzione
I 3 pilastri del data mining
21
Esempi di tecniche di mining
22
Decision Tree Clustering
Time Series
https://www.gmdhshell.com/time-series-
analysis-software
Association rules
Neural Network
http://neuroph.sourceforge.net/i
ndex.html
Linear Regression
SOM PCASVM
Visual Data mining
http://www.vosviewer.com/Home
http://gephi.github.io/
Mobility data analysis
http://m-atlas.eu/
Web mining
http://deixto.com
http://www.clips.ua.ac.be/
http://scrapy.org/
Esempi di tecniche di mining
23
Social network
http://nodexl.codeplex.com/ Pattern recognition
Sentiment analysis
http://www.socialmention.com/
Crowdsourcing
http://innocentive.com/
http://www.rockethub.com/
http://www.mturk.com/mturk/welcome
Data fusion and integration
Genetic algorithms
Text mining
Spatial analysis
http://resources.arcgis.com/
Esempi di tecniche di mining
24
Market analysis
http://www.11antsanalytics.com
Sequential patterns
http://www2.gsu.edu/~psyrab/gseq/index.h
tml Deviation detection or
black swan mining
http://www2.gsu.edu/~psyrab/gseq/index.h
tml
Predictive analytics
http://blog.fractalanalytics.com/marketing-
analytics/future-proofing-with-
predictive-analytics/
Dati
• Il secondo pilastro su cui poggia il data mining è rappresentato dai
dati utilizzati nel processo: senza di essi, il data mining non sarebbe
possibile e potrebbe contare solamente su qualche intuizione.
I dati assumono le forme più disparate, sono di tipo diversi e si
trovano in molti sistemi; sono “quasi sempre” sporchi, incompleti e
talvolta indecifrabili.
25
Modelli
• I modelli in uso per il data mining possono essere di
due tipi:
• Supervised (diretta o predittiva)
• Unsupervised (indiretta o descrittiva)
26
Supervisionato
• Le tecniche supervisionate di data mining sono quelle utilizzate quando
abbiamo uno specifico obiettivo di cui vogliamo prevedere il valore
utilizzando i dati a dispozione. Il target puo’ essere discreto (2 o piu’
valori) o continuo.
• Per usare questi metodi bisogna avere un sottoinsieme di dati per cui i
valori del target sono noti (training data). Con le tecniche di data mining
costruiamo un modello che poi utilizziamo per prevedere i valori del
target per i dati che il modello non ha visto (test data).
• Esempio: Imparare come prevedere se un paziente si ammalera’ di cancro
in base ai suoi dati passati e alla conoscenza della classe: ammalato,
sano.
Le techiche supervisionate piu’ usate sono:
classificazione e regressione
27
Non supervisionato
• I modelli non supervisionati non fanno previsioni. Piuttosto servono
per trovare strutture nascoste e relazioni nei dati.
• Esempio:Quali fattori di un insieme di pazienti sono piu’ probabili
causare il cancro?Quali fattori tra quelli monitorati in diversi pazienti
hanno una certa probabilita’ di essere legati alla malattia del cancro?
In questo caso non abbiamo nessuna classe.
• Le techiche non-supervisionate piu’ usate sono:
Clustering e association
28
Un esempio di vita reale
29
Cerchiamo di imparare i concetti di supervisionato e non-
supervisionato con un esempio dalla vita di tutti i giorni
Supponiamo di avere un cesto di frutta. Il nostro obiettivo e’ quello di
creare dei gruppi
Un esempio di vita reale
• Nel cesto abbiamo i seguenti tipi di frutta
30
Mela Banana
UvaCiliegia
Un esempio di vita reale
• Apprendimento supervisionato
• Conoscendo il tipo di frutta (response variable) e’ facile raggrupparla
• Questo lavoro e’ conosciuto come fase di training
• Una volta preso un frutto dal cesto, guardando la dimensione, colore, e
forma sara’ possibile stabilire di che frutto si tratta
• La colonna Nome e’ la nostra variabile di risposta o classe o label
• Una volta imparato con i dati di training e’ possibile applicare questa
conoscenza ai dati di test (la frutta nuova)
31
Un esempio di vita reale
• Apprendimento non-supervisionato
• Supponiamo di avere il cesto di frutta e il nostro obiettivo e’ di arrangiare la
frutta in gruppi o classi
• Questa volta non sappiamo niente della frutta. Supponiamo che trattasi di
frutta che vediamo per la prima volta.
• Come costruiamo i gruppi?
• Si tratta di prendere un frutto alla volta e di considerare le sue caratteristiche
fisiche. Supponiamo di partire col colore.
• In base al colore avremo 2 gruppi. Rosso=mela e ciliegie,Verde=banana e uva
• Adesso consideriamo un’altra caratteristica fisica come per esempio la
dimensione. Adesso avremo 4 gruppi.
• Rosso e grande= mela, Rosso e piccolo=ciliegia, Verde grande=banana,Verde e
piccolo=uva
• Il gioco e’ fatto. In questo caso non abbiamo utilizzato nessun training
32
Misurazione dell’efficacia
• Matrice di confusione: matrice che permette di individuare quali
tra le previsioni fornite dal modello siano corrette e quali errate
• Curva Lift: grafico che raffigura la prestazione di un modello in
funzione della dimensione del campione
• Curva ROC: grafico che raffigura la prestazione di un modello in
base all’area sottesa alla curva
33
Supponiamo di avere due risposte una positive P e una negativa N
TP=true positive,TN=true negative, FP=false positive, FN=false negative
TPrate=TP/P , FPrate=FP/P,Yr=(TP+FP)/(P+N)
Accuracy=(TP+TN)/(P+N) , Precision=TP/(TP+FP)
ROC
Lift
Le tecniche piu’ importanti... del DM
34
o Regression
predire il valore di una variabile a partire dai dati passati
o Classification
assegnare i records a dei gruppi predefiniti
o Clustering
raggruppare i records simili in clusters (gruppi). Simile alla classification anche se
questa richiede la conoscenza a priori delle classi.
o Association learning
capire cosa implica cosa cioe’ determinare regole del tipo: se X alloraY
Le tecniche piu’ importanti... del DM
35
La Classificazione e’ una
tecnica del DM usata per
predire l’appartenenza ad un
gruppo delle diverse istanze in
un campione. Per esempio e’
possibile usare la
classificazione per predire
domani che tempo fara’.
SOM
Il Clustering e’ una
tecnica usata per porre
degli elementi da un
data base in un
particolare gruppo
senza conoscere a priori
la definizione del
gruppo.
La regressione e’ una tecnica
usata per fittare i dati di un
campione con una data
curva. La piu’ semplice forma
di regressione e’ quella
lineare.
L’Association rules sono
delle dichiarazione if/then
che aiutano a scoprire le
relazioni tra dati che a
priori sembrano non avere
nulla in comune.
Zoo Galaxy–Esempio di classificazione
36
893,212 oggetti
~150.000 volontari
~50M classificazioni
http://www.galaxyzoo.org/
Zoo Galaxy–Esempio di classificazione
37
Zoo Galaxy–Esempio di classificazione
• Possono le tecniche di machine lerning competere con la
accuratezza dell’occhio umano?
• Utilizzo di reti neurali per classificare le immagini di galassie dello
ZOO galaxy database (gia’ classificate dalle persone)
38
Confusion matrix
 Nonostante tutti gli sforzi fatti al momento
l’occhio rimane il migliore sensore per il
riconoscimento della morfologia delle Galassie.
Un altro esempio di classificazione
39
Altri esempi di classificazione
• Predire se una cellula tumorale e’ benigna o maligna in base alle sue
caratteristiche
• Classificare se una transizione con carta di credito sia o meno fraudolenta
• Classificare le strutture proteiche secondarie in alpha-helix, beta-sheet o
random
• Classificare le news in base all’argomento: finanza, meteo, sport,
intrattenimento, etc
• Classificare le qualita’ dei dispositvi a semiconduttore (dies) in base alle
prestazioni elettriche misurate
40
Tecniche classificazione
• Decision tree: E’ una delle tecniche di classificazione
maggiormente utilizzata che permette di rappresentare
con un albero un insieme di regole di classificazione.
Consiste in un insieme di nodi, correlati da archi (rami)
orientati ed etichettati.
• Ciascun percorso radice-foglia rappresenta una regola di
classificazione
41No tennis No tennisSi tennis
Si tennis
Si tennis
radice
foglie
pioggiasoleggiato nuvoloso
Tecniche classificazione
• Support vector machine: Si tratta di un algoritmo che esegue
classificazioni costruendo un iperpiano N-dimensionale che separa i dati
in due categorie. Questi modelli sono molto simili alle reti neurali. Infatti
un SVM usa una sigmoide come funzione di kernel ed e’ equivalente ad
un percettrone a due strati.
• La dimensione e’ data dal numero di variabili predittive. Per esempio
con 3 variabili predittive e una variabile target l’SVM cerca di individuare
il miglior piano a 2-dimensioni che divide in due classi la variabile target
42
Esempio clustering
43
Esempio di clustering
44
Quante classi ci sono?
Esempio di clustering
45
Due classi in base alla forma
Esempio di clustering
46
3 classi in base al colore
Esempio di clustering
47
2 classi: frutta e oggetti
Tecniche clustering
• Algoritmi di partizione: costruisce varie partizioni per poi valutarle in
base a certi criteri. Si tratta di una tecnica non gerarchica.Ogni oggetto e’
posto esattamente in uno di K gruppi conosciuti. Per l’es. riportato K=2
• Algoritmi gerarchici: creano una decomposizione gerarchica degli
oggetti usando dei criteri appropriati. Dendogramma.
48
Esempio associazione
49
Esempio associazione
50
Tecniche associazione
• Le regole associative sono algoritmi per trovare associazioni
e/o correlazioni tra records in grandi database. L’agoritmo piu’
conosciuto e APRIORI
• Queste regole mostrano quegli attributi che capitano piu’
frequentemente insieme.
• Le regole associative forniscono informazioni della forma “if-
then”. Queste regole vengono generate a partire dai dati e
diversamente dalle regole logiche, sono di natura
probabilistica
51
Esempio regressione
52
La regressione e una metodologia statistica che utilizza la relazione tra due o piu
variabili quantitative, in modo da prevedere una variabile risposta tramite i valori
delle altre.
La regressione piu’ semplice e’ quella lineare, dove la variabile risposta e continua.
Nella regressione logistica la risposta e invece dicotomica.
Tecniche regressione
• Il metodo piu’ utilizzato per la regressione lineare e’ quello dei minimi quadrati
dove si cerca di minimizzare la somma quadratica degli errori.
• Per le regressione logistica invece si usa la funzione sigmoide che dopo un inizio
di crescita quasi esponenziale rallenta diventando quasi lineare per raggiungere
poi un plateau
• Un’altra tecnica di regressione non lineare e’ quella delle reti neurali, algoritmi
che cercano di imitare il cervello umano. Esse possono essere utilizzate, tra le
altre cose, per l’analisi delle relazioni esistenti tra diverse variabili x di input ed un
insieme di t output continui (variabili target).
53
Altri esempi regressione
• L’ammontare delle vendite di un prodotto puo’ essere prevista
utilizzando la relazione esistente con gli investimenti in pubblicita’.
• La performance lavorativa di un impiegato puo essere prevista
utilizzando un insieme di test attitudinali.
• La dimensione del vocabolario di un bambino puo essere prevista
utilizzando l’eta del bimbo oppure il livello di istruzione dei genitori.
• Prevedere se una persona ha sviluppato una malattia coronarica (yes
vs No) a partire dai valori di eta’, sesso, fumatore/non fumatore,
livello di colesterolo e pressione sanguigna; in questo caso la
regressione e’ logistica.
54
Esempio sommarizzazione
55
Funghi velenosi
Pattern recognition
• Sistema per riconoscere automaticamente un oggetto
• Data la descrizione dell’oggetto che puo’ appartenere ad una
di N classi possibili, compito del sistema e’ ascrivere
l’oggetto ad una classe utilizzando una base di conoscenza
precedentemente costruita
56
Schema di classificazione
57
I classificatori possono essere uno dei modelli descritti precedentemente
come: SVM, SOM, Reti neurali etc etc. Vediamo come scegliere le features
Features
• Le tecniche di feature selection sono utilizzate per
selezionare, un insieme di feature significative ai fini della
clasificazione di uno specifico data set
• L’importanza della riduzione delle feature è legata al fatto
che un problema con un numero ridotto di feature è un
problema che può essere risolto con tempi di calcolo più
contenuti e, spesso, anche con risultati migliori
58
Features
• Esempio: un insieme di immagini contenenti le lettere “a” e “b” viene acquisito
tramite una telecamera, e memorizzato nel computer
• L’immagine viene rappresentata da un array di pixel, ogni pixel assume valore
compreso tra 0 (completamente bianco) e 1 (completamente nero)
• Non si possono utilizzare i dati cosí come sono (immagine 256x256 sono 65536
pixels)
• Le features vanno scelte opportunamente
59
Features
• Feature: caratteristiche misurabili del fenomeno in esame
(pattern = vettore di features):
• semplici da calcolare;
• invarianti a trasformazioni irrilevanti;
• affidabili;
• indipendenti;
• discriminanti;
• poche (problema della curse of dimensionality);
• In questa fase è molto utile l’utilizzo della conoscenza a
priori sul problema
60
Features
• ad esempio una feature potrebbe essere il numero totale di pixel neri:
• invariante alla rotazione e traslazione dell’oggetto
• poco discriminante: non tiene conto della forma
• uso di meta-conoscenza a priori: devo distinguere tra “a” e “b”, e so che la
lettera “b” è tipicamente piú alta e allungata della “a”.
• uso come feature il rapporto altezza/larghezza
• Il numero di feature deve essere piccolo per limitare il costo della misura e non
influire sull’accuratezza del classificatore
• Selezione di feature: migliore sottoinsieme tra tutte le feature estratte (PCA
analysis)  dimensionality reduction
61
Esempio dai semiconduttori
• Le connessioni tra le piste dei metalli e i transitors
sottostanti in un chip avvengono tramite l’apertura di
buchi (chiamati contatti) riempiti tipicamente con
tungsteno.
• Un possibile failure mechanism e’ quello di un buco non
completamente aperto chiamato contact underetch.
62
63
Good ct
Underetched ct
N+
ct
Esempio dai semiconduttori
Underetched ct
Good ct
64
Galleria di immagini
Esempi di contatti non aperti correttamente
65
Images histogram
180
Acquiring the image
Pre-treatment filtering: removing spikes and words
written over the SEM image
Adaptive threshold application in order to define a
binary image
Emboss filtering along 4 directions in order to
individuate the main images intensity gradients
Decision algorithm and 60 ue contacts
determination
Clusters identification Noise reduction
Flow chart
67
threshold mode median
0
20
40
60
80
100
DetectionRate
Ydetrate Ndetrate
Nlowdet Overall
threshold mode median
0
20
40
60
80
100
DetectionRate
Risultati
testati 3 diversi algoritmi (threshold, median
and mode). Quello indicato con “mode” e’
quello che performa meglio.
Da notare che la overall performance
dell’algoritmo e’ uguale/superiore al 90%
indipendentemente dal tipo di decisione.
Y=Image w/o CT underetch
N=Image with CT underetch
Un altro esempio
• Wafer Spatial Pattern Recognition
• E’ stato realizzato un tool per una visualizzazione adattativa delle fette di silicio combinando
tecniche di Machine Learning con quelle di high-dimensional-data analysis
• Questo ci permette l’AutomaticWafer Classification basata su un unica signature spaziale.
• Platform
• JMPV.11+ combinato con JSL algorithm’s e un’interfaccia interattiva
• Lo script e’ stato testato in tutti i Fab Micron e adesso in LF
• Oggi il software e’ utilizzato per prodotti NAND, DRAM, IMAGER e prodotti LF
68
Features
69
Per ogni chip viene calcolato il seguente rapporto:
.neighb
totadj
N
N
NN 
dove Ntotadj e’ il numero totale di chip primi vicini fallenti mentre Nneighb e’ il numero
totale di primi vicini considerato (8 per Moore neighbors). NN spazia da 0 a 1.
Una volta calcolato il rapporto NN per tutti i chips della stessa fetta di silicio si prendono le
primi 3 componenti principali (PCA) e con queste variabili viene eseguito un clustering
gerarchico.
NN values
PCA components
Wafer Spatial Pattern Recognition
70
• (Top) Wafers con bassa resa raggruppati per “spatial
pattern”
• (Right) Dettaglio delle fette del Grp14
• (Far Right) 3D-Arc-Ball Spatial Group
Wafer Spatial Pattern Recognition
71
• (Top) Wafer a bassa resa raggruppati
by “spatial pattern”
• (Right) Dettaglio del gruppo16
Maledizione della dimensionalita’
• Alcuni algoritmi hanno bisogno di grandi quantita’ di dati.....
• La maledizione della dimensionalita’ e’ un espressione coniata da R.
Bellman e indica il problema derivante dal rapido incremento dello spazio
matematico associato all’aggiunta di dimensioni
• La maledizione della dimensionalita’ rappresenta un ostacolo significativo
nei problemi che coinvolgono pochi dati (records) ma numerose
dimensioni (cioe’ poche righe e tante colonne in uno sheet)
• Esempio: 100 osservazioni possono coprire piuttosto bene l’intervallo
unidimensionale [0,1]. Si potrebbe quindi tracciare un istogramma dei
risultati e fare dell’inferenza su tali dati. Se si considera invece un ipercubo
di 10 dimensioni le 100 osservazioni saranno ora dei punti isolati in uno
spazio vasto e per lo piu’ vuoto. Per ottenere una copertura simile a quella
osservata sullo spazio unidimensionale sarebbero necessarie 1020
osservazioni: una quantita’ difficilmente ottenibile.
72
Riduzione della dimensionalita’
• Evita la maledizione della dimensionalita’
• Migliora le performance degli algoritmi
• Permette una migliore visualizzazione
• Puo’ eliminare attributi irrilevanti e ridurre il rumore
• Tecniche
• Principal component analysis (PCA)
• Feature selection 73
Issues - Underfitting
• L’utilizzo di un algoritmo che non riesce a catturare la
compessita’ dei dati
74
Issues - Overfitting
• Facendo un fine tuning eccessivo dell’algoritmo si rischia
che esso inizi a modellare anche il rumore presente nei
dati di training.
75
Issues - Overfitting
• Un metodo per superare l’overfitting per i decision tree e’
quello di Breiman e Stone (1978)
• Pruning: si genera una sequenza ottimale (nidificata) di sotto-
alberi potati tra i quali si seleziona l’albero in grado di tener
conto sia del costo legato alla potatura sia del beneficio
ottenuto nell’interpretazione di un albero di piccole
dimensioni.
76
Issues – Missing data
• In genere i data base contengono diversi dati mancanti
- cioe’, alcuni records hanno valori nulli o mancanti
• Questo causa problemi a molti degli algoritmi di
machine learning
• Necessita’ di risolverli in qualche modo
- rimuovere tutti i records con valori nulli
- usare un valore di default
- stimare (media, mediana..) un valore di rimpiazzo
- .......
77
Issues – Outliers
• Outlier: un oggetto/dato che non e’ conforme alle
caratteristiche generali degli altri dati
• Possono essere considerati come rumore o eccezioni, ma
possono essere utili per individuare frodi, analisi di eventi
rari, ecc.
• Esistono algoritmi di clustering che come effetto
collaterale riescono ad individuare gli outliers
78
Issues - Dati rumorosi
• Errori casuali o varianza significativa di una misura
• Malfunzionamento di strumenti/trasmissione in rete
• Limitazioni tecnologiche
• Problemi di data entry
• Indicano il rilevamento di valori diversi da quelli originali
• Distorsione della voce di una persona quando registrata attraverso
un microfono di scarsa qualita’
• Registrazione approssimata di valori degli attributi
• Registrazione errata di valori degli attributi
79
Issues - Dati duplicati
• Il data set potrebbe includere oggetti duplicati
• Possibile quando il data set e’ il risultato della fusione di
piu’ sorgenti dati
• Esempi: stessa persona con piu’ indirizzi e-mail; stesso
cliente registrato due volte
• Puo’ essere necessario introdurre una fase di data
cleaning al fine di individuare ed eliminare la ridondanza
80
Issues – Classi sbilanciate
• Un dataset che presenta una distribuzione non equa tra le classi di risposta
puo’ essere definito sbilanciato (imbalanced)
• Il problema dello sbilanciamento e’ presente in molti campi applicativi
come nella diagnosi di malattie rare, frodi bancarie, gestione del rischio,
intrusione in rete informatiche, severita’ degli incidenti stradali etc.
• In ciascuno di questi esempi una classe ha una frequenza estremamente
elevata rispetto a un’altra con rapporti dell’ordine del tipo 100:1, 1000:1 e
10000:1
81
Issues – Classi sbilanciate
• In presenza di una distribuzione della variabile di risposta
estremamente sbilanciata il processo di apprendimento puo’ portare a
risultati distorti
• Quando i dati sono sbilanciati il modello tende a concentrarsi sulla
classe prevalente e ignorare gli eventi rari. Di conseguenza le
osservazioni che appartengono alla classe minoritaria sono classificate
erroneamente con maggiore frequenza di quelle appartenenti alla
classe maggioritaria
• Sia i metodi parametrici (quelli che alla base assumono una
distribuzione normale) che quelli non parametrici (decision tree,
associative rules) sono sensibili allo sbilanciamento delle classi
• E’ importanete osservare che la classe minoritaria di solito rappresenta
il concetto di interesse (ad esempio la diagnosi medica di pazienti con
malattie rare, frodi bancarie etc)
82
Issues – Classi sbilanciate
• Quale e’ la sensibilita’ dei classificatori allo squilibrio dei dati?
• Decision tree
e’ il piu’ sensibile alla class imbalance. Questo perche’ lavora a livello
globale non facendo molta attenzione ai dati puntuali specifici
• Multi layer perceptron
l’MLP e’ meno prono alla class imbalance rispetto al decision tree.
Questo perche’ l’output viene aggiustato da ogni data point in modo
bottom-up e dall’intero dataset in modo top-bottom
• Support vector machine
L’SVM e’ ancora meno prono alla class imbalance del MLP. Questo
grazie al fatto che l’algoritmo tiene conto solo di alcuni vettori di
supporto cioe’ i data point vicini ai confini tra le classi
83
Issues – Classi sbilanciate
• Esistono diverse soluzioni per superare il problema dei dati
squilibrati.
• Tecniche di cost sensitive learning
Lavorano a livello di algoritmo e si basano sull’assegnazione di un
costo elevato per errata classificazione della classe di minoranza
cercando di minimizzare il costo complessivo
• Tecniche di campionamento
Si tratta di un lavoro di pre-processing sui dati in modo da fornire
una distribuzione bilanciata tra le classi. Nel caso si aggiungono
records alla classe minore si parla di oversampling mentre se si
eliminano dei records dalla classe maggiore si parla di
undersampling
84
Issues – Classi sbilanciate
• Uno dei metodi di cost sensitive piu’ usato consiste nel
creare una nuova colonna (una nuova variabile predittiva)
chiamata peso (weight) che associa ad ognuno dei record
del gruppo di minoranza un valore 1 e a quelli del gruppo
di maggioranza un peso pari a:
(#elementi gruppo minoranza)/(#elementi gruppo di maggioranza)
• Questi pesi poi vanno opportunamente inseriti nel
classificatore come per es. un decision tree. In questo
caso si parla diWeighted decision tree (WDT)
85
Issues – Classi sbilanciate
• Uno dei metodi di oversampling piu’ popolare e’ il Synthetic minority
over-sampling technique (SMOTE).
• Questo algoritmo genera osservazioni “sintetiche” a partire dalla classe
di minoranza e li aggiunge al set di dati esistenti
• I records artificiali vengono generati basandosi sulla similarita’ nello
spezio dei predittori
• Per ciascun record della classe di minoranza si prendono per es. le 5
osservazioni piu’ vicine nello spazio dei predittori
• Tra queste 5 distanze ne viene scelta una a caso e si prende un punto
sempre a caso lungo di essa.
• Questo processo continua fino a che la
la classe di minoranza e’ pari ad una
determinata percentuale della classe di
maggioranza
86
Primi vicini
END
• Grazie per l’attenzione
DOMANDE? 87
Approfondimenti..
88
Dettagli -Tecniche analitiche
• Statistiche descrittive
• Regressione lineare e Logistica
• Analisi della varianza (ANOVA)
• Analisi discriminante
• Alberi decisionali
• Ensemble learning
• Clustering
• Reti neurali
• SOM
• PCA
• Regole associative
• Support vector machine (SVM)
• Reti di Bayes
89
Statistiche descrittive
• Solitamente la quantita’ di dati presente in un database e’
tale da dover richiedere degli indici rassuntivi.
• Per descrivere la distribuzione dei dati si possono
utilizzare 2 statistiche
• Misura della tendenza centrale (media, mediana, moda)
• Misura di dispersione ( deviazione standard, varianza)
• Molto importante anche la visualizzaizone grafica
90
Regressione lineare e logistica
• La regressione e’ una metodologia statistica che utilizza la
relazione tra due o piu’ variabili quantitative in modo da
prevedere una variabile risposta tramite i valori delle altre.
• Nella regressione lineare la risposta e’ continua mentre in
quella logistica e’ invece dicotomica.
• La forma piu’ semplice di regressione lineare contiene un
predittore X ed una rispostaY: y=b+ax
• I termini “coefficiente angolare a” ed “intercetta b” vengono
determinati minimizzando la somma delle deviazioni
quadratiche della retta (metodo minimi quadrati)
91
Regressione lineare e logistica
• La regressione Logistica e’ usata per quei dati dove la risposta
e’ categorica. Come per il caso della regressione lineare si
tratta di stimare una relazione tra la variabile risposta e le
variabili predittrici in modo da avere un certo valore di
probabilita’ per la risposta piu’ che un valore numerico.
• La distrib. logistica e’ una distribuzione S-shaped con valori
tra 0 e 1.
P(x)=1/(1+e(-a-bx))
92
Per stimare i coefficienti a e b si applica il
metodo di massima verosimiglianza
se -a-bx=0 allora P =.50
se -a-bx diventa grande, P tende ad 1
se -a-bx diventa piccolo, P tende a 0.
Esempio di regressione logistica
93
Class
0.00
0.15
0.30
0.45
0.60
0.75
0.90
0 1 2 3 4 5 6 7
ESDA-Lot-binV U27YDFTX4-TFPW-GLIX
High
Low
Medium
Diff erence
Full
Reduced
Model
56.94336
590.17595
647.11931
-LogLikelihood
2
DF
113.8867
ChiSquare
<.0001
Prob>ChiSq
RSquare (U)
Observations (or Sum Wgts)
0.0880
700
Converged by Gradient
Whole Model Test
Logistic Fit of Class By ESDA-Lot-binV U27YDFTX4-TFPW-GLIX
Dal mondo dei semiconduttori
Correlazione tra la classe “yield low,
medium high” verso una categoria di
fallimento chiamata glix.
Con un glix a 5 c’e’ una probabilita’ del
20% che la resa sia bassa, ~65% che
sia media e ~15% che sia alta.
Al contrario con un glix intorno ad 1
c’e’ una probabilita’ di ~80% che la resa
appartenga al gruppo high.
Analisi della varianza
• L’analisi della varianza (ANOVA) si usa per verificare le
differenze tra le media di piu’ gruppi
• Le variabili esplicative in un ANOVA sono generalmente di tipo
qualitativo (sesso, regione di residenza, resa, cliente....)
• Alcuni esempi
• Un esperimento per studiare gli effetti di 5 marche differenti di benzina
sulla efficienza operativa dell’automobile (Km/l)
• Valutazione di una nuova macchina introdotta in una linea di produzione
per verificare che abbia le stesse prestazioni di quelle gia’ rilasciate
94
Analisi della varianza
95
GA=grand mean
GrA=Group mean
Y=single response
SS total=Sum of squared
deviation total
SS between-groups=Sum of
squared deviations between
the groups
SS within-groups=Sum of
squared deviations within
each group
Analisi della varianza
• Calcoliamo la Mean Square “between’ e “within”
96
within
within
within
between
between
between
df
SS
MS
df
SS
MS


con df i gradi di liberta’ dell’esperimento
• df total=N-1 dove N e’ il numero di records
• df betrween=k-1 dove k e’ il numero di gruppi
• df whithin=N-k
Nel nostro esempio N=47 e k=2 per cui:
MS between=60.58 e MS within=191.52
Analisi della varianza
• Per fare il test di significativita’ u1=u2 usiamo la statistica F
97
within
between
kNk
MS
MS
F  ),1(
FINALFUNCTPROD-LotMEAN-*
150
160
170
180
190
200
210
1C 2E
Group
1C 2E
Group
Error
C. Total
Source
1
45
46
DF
60.5780
8618.4553
8679.0333
Sum of Squares
60.578
191.521
Mean Square
0.3163
F Ratio
0.5766
Prob > F
Analysis of Variance
Oneway Anova
Oneway Analysis of FINAL FUNCT PROD-Lot MEAN-* By Group
Il p-val di un F-test e’ uguale all’area sotto la
curva a destra del valore F ottenuto (nel nostro
esempio F=0.316 da cui p=0.576). Nel caso in cui
il valore p-val e’ <0.05 allora possiamo rigettare
l’ipotesi nulla e concludere che c’e’ una
differenza statisticamente significativa tra le
due medie u1 e u2.
Analisi discriminante
• L’analisi delle funzioni discriminanti si utilizza per determinare
quali variabili discriminano tra due o più gruppi distinguibili.
• Per esempio, un educatore potrebbe voler stabilire quali variabili
discriminano meglio tra studenti diplomati che decidono di
1. andare all’università,
2. iscriversi ad una scuola professionale,
3. non proseguire con gli studi.
• L’educatore potrebbe quindi raccogliere i dati relativi a diverse
variabili, prima che gli studenti ottengano il diploma. Dopo il suo
conseguimento, la maggioranza degli studenti cadrà
naturalmente in una delle tre categorie. L’Analisi Discriminante
potrebbe quindi venire utilizzata per determinare quali variabili
siano i migliori predittori della scelta successiva al diploma.
98
Analisi discriminante
• Un ricercatore medico potrebbe registrare diverse
variabili riguardanti i propri pazienti, in modo da stabilire
quali prevedono meglio se una persona sarà:
1. ricoverata stabilmente (gruppo 1),
2. ricoverata temporaneamente (gruppo 2),
3. non ricoverata (gruppo 3).
99
Analisi discriminante
• La variabile risposta permette di individuare dei gruppi che si cerca
di riprodurre nel miglior modo possibile tramite combinazioni lineari
delle variabili esplicative. In questo modo è possibile individuare
l'importanza relativa di ciascuna variabile esplicativa sulla
suddivisione in gruppi operata dalla variabile risposta
• L’assegnazione di una nuova osservazione ad uno dei p gruppi
individuati dalla variabile risposta viene effettuata tramite una
combinazione lineare delle k variabili antecedenti tale da rendere
massima la separazione tra i p gruppi
• Il criterio per individuare i vettori ai consiste nel richiedere che sia
massima la differenza tra le medie dei valori w all’interno dei p
gruppi.
100
L'assegnazione di una nuova osservazione ad uno
dei p gruppi individuati dalla variabile risposta
viene effettuata tramite una combinazione lineare
delle k variabili antecedenti tale da rendere
massima la separazione tra i p gruppi
kk xaxaxaw +++ L2211
Analisi discriminante
• Quale e’ la variabile che meglio discrimina le due specie (gruppi)
versicolor e setosa del genere Iris?
• L’analisi discriminante indica la lunghezza/larghezza del petalo.
101Iris versicolorIris setosa
Albero decisionale
• E’ una delle tecniche di classificazione maggiromente utilizzate che permette di
rappresentare con un albero un insieme di regole di classificazione
• Struttura gerarchica che consiste in un insieme di nodi, correlati da archi (rami)
orientati ed etichettati
• Ciascun percorso radice-foglia rappresenta una regola di classificazione
• La variabile risposta puo’ essere sia continua (regression tree) che categorica
(classification tree)
102
Applicazioni decision tree
• Classificazione tendenze di mercato
• Identificazione automatica di immagini
• Identificazione del rischio in mutui/assicurazioni
• Efficacia di trattamenti medici
103
Albero decisionale
104
Risposta
soleggiato
nuvoloso
pioggia
vento
Supponiamo di voler sapere in anticipo che tempo’ fara’ in modo
da poter giocare a tennis (risposta : P=play and N=no) . In questo
casi abbiamo 4 attributi o predittori (outlook, temperature, humidity,
windy).
Albero decisionale
105
No tennis No tennisSi tennis
Si tennis
Si tennis
radice
foglie
Steps nella costruzione di un tree
106
Tecnica Romana: Conquista e dividi
Information Gain
• In base a quale parametro decidiamo il migliore split di una variabile?
• Esistono diverse possibilita’.Tra queste abbiamo l’information gain
• Ritorniamo all’esempio del tennis considerando l’attributo windy. Esso puo’
assumere 2 valori: false e true.
• La risposta puo’ avere 2 diversi valori: N e P
107
Windy
2N, 6P 3N, 3P
68
false true
Information Gain
108
In accordo con la teoria dell’informazione possiamo calcolare
l’entropia associata alla variabile windy:
 
i
ipipE )(log)( 2
94.0
14
5
log
14
5
14
9
log
14
9
)( 22 wE
in quanto ci sono 9 P e 5N in totale
81.0
8
6
log
8
6
8
2
log
8
2
)( 22 falseE
1
6
3
log
6
3
6
3
log
6
3
)( 22 trueE
Information Gain
109
Adesso passiamo a calcolare il guadagno di informazione:
048.0)1
14
6
81.0
14
8
(94.0 +G




+ )(
#
)(
#
)()( trueE
total
true
falseE
total
false
wEwG
Lo stesso calcolo viene fatto per tutti gli altri attributi e quello con il
valore piu’ alto di gain viene scelto come radice. La stessa procedura
e’ applicata ad ogni ramo fino a quando non si raggiunge lo stesso
valore.
In parole semplici l’algoritmo tende a massimizzare la differenza tra le
medie dei gruppi e a minimizzare la deviazione standard all’interno dei
gruppi.
Test set
• Una volta costruito l’albero cioe’ il modello, esso va applicato al
test set cioe’ all’insieme di dati mai visti dall’algoritmo (esso ha
visto solo il training set per imparare - induzione) per
determinare la sue capacita’ predittive (deduzione).
110
Tree map
• Un diverso albero e’ il cosiddetto tree map
111
•Tree maps sono utili per osservare dei patterns tra gruppi con molti livelli.
• Un tree map puo’ indicare l’intenista’ di una misura con la dimensione o il colore di un’area
rettangolare
• Usare i tree maps quando i dati contengono molte categorie da visualizzare .
Ensemble learning
• Tra gli svantaggi del decision tree vi e’ l’instabilita’ dei risultati
(ripetibilita’).
• Per superare questa limitazione sono state proposte delle
tecniche chiamate Ensemble Learning che cercano di fornire
una soluzione.
• L’idea di base e’ di perturbare ripetutamente il dataset di
partenza in modo da crescere un numero elevato di alberi (n
classificatori), combinando infine i risultati ottenuti
• E’ stato dimostrato che le previsioni ottenute sono piu’
accurate e stabili di quelle ottenute crescendo un solo albero
• Le tecniche di Ensemble Learning maggiormente conosciute
sono:
• Bagging (Breiman 1996)
• Boosting (Freund and Schapire 1996)
• Random forest (Breiman 2001)
112
Ensemble learning
• Con l’introduzione degli Ensemble Learning sono state sviluppate le
cosiddette misure di importanza (Variable Importance Measure)
• Tramite queste misure si ottiene un ranking delle variabili, dalla piu’
importante a quella meno importante (scoring)
• In presenza di un dataset con un numero elevato di variabili e’
interessante utilizzare tale tecniche per circoscrivere il sottoinsieme
di variabili maggiormente esplicative del fenomeno esaminato
(variables reduction).
113
Ensemble learning
• Come combinare i risultati dei diversi classificatori?
• Normalmente mediante una media pesata
• Questo comporta una migliore accuratezza e una maggiore
resistenza al rumore
• A costo pero’ di un tempo di elaborazione piu’ lungo e maggiore
sensibilita’ all’overfitting
114
Ensemble Learning
115
Ensemble learning
• Esempio Bagging
• Dato un insieme di addestramento D, generiamo n insiemi di
addestramento Di (|Di|  |D|)
• Ciascun insieme di addestramento Di viene generato campionando
esempi da D in modo uniforme (estratti con rimpiazzo)
• Tecnica di Bootstrapping
• Addestriamo n classificatori sugli n insiemi di addestramento ottenuti
• Si mediano i risultati sui vari classificatori (se l’output è reale) oppure si applica
una tecnica di voting (se l’output è basato su classi)
116
Ensemble learning
• Esempio Boosting
• Può un insieme di classificatori “deboli” formare un
classificatore “forte”?
• Il Boosting fornisce una risposta
• I classificatori vengono prodotti in sequenza
• Ciascun classificatore dipende dal precedente e tenta di
migliorarne gli errori
• Gli esempi classificati in modo erroneo dai classificatori
precedenti sono scelti più spesso o pesati maggiormente
117Back
Clustering
• La cluster/segmentation/sorting analysis e’ un insieme di tecniche
per raggruppare oggetti in classi tra loro omogenee, ossia con
caratteristiche simili: alta similarita’ intra-classe e bassa similarita’
inter-classe
• Le possibili applicazioni sono:
• Ricerche di mercato
• Segmentazione della clientela
• Analisi dei social media
• Identificazione degli outliers
• Esempio: in un database di correntisti di una banca ci chiediamo quali
attributi simili conesntono di raggruppare i clienti, quali differenze
tra i valori degli attributi (tipo conto, sesso, eta’ ecc..) segmentano il
database
118
Applicazioni clustering
• Identificazione di popolazioni omogene di clienti in database di marketing
• Valutazione dei risultati di esperimenti clinici
• Identificazione delle societa’ con comportamento simile di crescita (similarity
search)
• Identificazione di azioni con andamento simile (similarity search)
• Identificazione di porzioni di onde sismiche non simili per determinare
irregolarita’ geologiche
• Identificazione di persone con voci simili (similarity search)
119
Esempio similarity search
120
Che cosa e’ la somiglianza?
121
Quale e’ il naturale raggrupamento di questi oggetti?
Famiglia Simpson Impiegati della scuola Donne Uomini
Il clustering e’ soggettivo
Che cosa e’ la somiglianza?
122
L’essere somigliante, simile, sia nell’aspetto esteriore, sia per aspetti, qualità,
caratteri intrinseci (Treccani)
La somiglianza e’
difficile da definire ma
noi sappiamo
riconoscerla ...
Il significato reale
della somiglianza e’
una questione
filosofica. Ma noi
dobbiamo considerare
un approccio piu’
pragmatico.
Definizioni di distanza
123
Distanza tra due elementi in uno spazio euclideo 2D
d(x, y)= (x1 - y1)2
+(x2 - y2 )2
Distanza tra due elementi in uno spazio euclideo ND
d(x, y) =
i=1
n
å (xi - yi )2
Centroide di un gruppo (2D):
c(a1,a2, … aM)
M oggetti di coordinate (x,y)
c
ai,x
i=1
M
å
M
,
ai,y
i=1
M
å
M
æ
è
ç
ç
ç
ç
ö
ø
÷
÷
÷
÷
2 tipi di clustering
• Algoritmi di partizione: costruisce varie partizioni per poi
valutarle in base a certi criteri
• Algoritmi gerarchici: creano una decomposizione
gerarchica degli oggetti usando dei criteri appropriati
124
Gerarchico Partizionale o K-means
in questo caso richiedo a priori di avere 2 gruppi
dendogramma
Gerarchico – Es. di dendogramma
125(Bovine:0.69395, (Spider Monkey 0.390, (Gibbon:0.36079,(Orang:0.33636,(Gorilla:0.17147,(Chimp:0.19268,
Human:0.11927):0.08386):0.06124):0.15057):0.54939);
Patterns spuri....
• A volte il clustering gerarchico puo’ mostrare dei pattern
insignificanti o spuri. In questo esempio il raggruppamento di
Australia, Anguilla, St. Helena ecc... e’ significativo in quanto
tutti questi paesi presendentementi erano delle colonie inglesi.
• Il raggruppamento di Niger e India e’ completamente spurio
(insignificante) in quanto non c’e’ alcuna connessione tra di
loro. C’e’ solo una somiglianza di colori.
126
ANGUILLAAUSTRALIA
St. Helena &
Dependencies
South Georgia &
South Sandwich
Islands
U.K.
Serbia &
Montenegro
(Yugoslavia) FRANCE NIGER INDIA IRELAND BRAZIL
Numero di clusters
• Guardando al dendogramma e’ possibile determinare il
corretto numero di clusters. In questo esempio i due sotto-
alberi sono ben separati suggerendo che il numero di
gruppi sia 2 (ma le cose non sono sempre cosi facili)
127
Outliers
• Un altro potenziale uso dei dendogrammi e’ quello di identificare gli outliers
128
Outlier
Un ramo singolo isolato suggerisce che si
tratti di un outlier cioe’ di un punto
completamente diverso da tutto il resto.
L’algoritmo gerarchico
129
Non e’ possibile testare tutti gli alberi. Ci deve
essere un algoritmo per effettuare una ricerca
euristica di tutti i possibili alberi. Due modi:
Bottom-Up (agglomerativo): Parte con ogni
oggetto considerato come un cluster e poi tende
a formare dei gruppi sempre piu’ grandi.
Top-Down (divisivo): Parte con tutti i dati in un
singolo cluster e poi cerca di formare dei sotto
clusters piu’ piccoli.
Il numero di dendogrammi con n foglie =
(2n -3)!/[(2(n -2)) (n -2)!]
N. foglie N. possibili dendogr.
2 1
3 3
4 15
5 105
... …
10 34,459,425
L’algoritmo gerarchico
• Sappiamo come calcolare la distanza tra due oggetti. Ma
come facciamo se abbiamo dei clusters o un oggetto e un
cluster? Abbiamo 4 possibilita’:
130
Single linkage (nearest neighbor): con questo metodo la distanza tra 2
clusters e’ determinata dalla minima distanza tra gli oggetti dei due diversi clusters.
Complete linkage (furthest neighbor): con questo metodo le distanze tra
clusters vengono calcolate considerando la piu’ grande distanza tra qualsiasi 2
oggetti di clusters diversi.
Group average linkage: con questo metodo la distanza tra due clusters e’
calcolata coem la distanza media tra tutte le coppie di oggetti nei 2 differenti
clusters.
Wards Linkage: con questo metodo si cerca di minimizzare la varianza dei
clusters che vengono uniti insieme.
L’algoritmo gerarchico
131
29 2 6 11 9 17 10 13 24 25 26 20 22 30 27 1 3 8 4 12 5 14 23 15 16 18 19 21 28 7
1
2
3
4
5
6
7
Average linkage
5 14 23 7 4 12 19 21 24 15 16 18 1 3 8 9 29 2 10 11 20 28 17 26 27 25 6 13 22 30
0
5
10
15
20
25
Wards linkage
Single linkage
Clustering partizionale
• Si tratta di una tecnica non gerarchica. Ogni oggetto e’
posto esattamente in uno di K conosciuti gruppi.
• Il numero di gruppi K deve essere inserito dall’analista.
• L’algoritmo piu’ usato e’ quello K-means
132
Scegliendo K=2, cioe’ volendo due clusters, questo e’ il risultato:
Algoritmo K-means
1. Si decide il valore di K (numero di gruppi)
2. Si parte con K centri (eventualmente randomici)
3. Si decide l’appartenenza degli N oggetti ad una delle K classi
in base alla distanza tra l’oggetto e i centri dei clusters
4. Si ricalcolano i centri dei clusters con i nuovi oggetti inseriti
5. Se nessuno degli N oggetti ha cambiato la sua appartenenza
ai gruppi nell’ultima iterazione allora l’algo si ferma altrimenti
ritorna al punto 3.
133
134
Un esempio dai semiconduttori
0
1
2
3
4
5
0 1 2 3 4 5
K-means Clustering: Step 1
k1
k2
k3
0
1
2
3
4
5
0 1 2 3 4 5
K-means Clustering: Step 2
k1
k2
k3
0
1
2
3
4
5
0 1 2 3 4 5
K-means Clustering: Step 3
k1
k2
k3
0
1
2
3
4
5
0 1 2 3 4 5
K-means Clustering: Step 4
k1
k2
k3
0
1
2
3
4
5
0 1 2 3 4 5
K-means Clustering: Step 5
k1
k2
k3
Numero di clusters
• Come e’ possibile stabilire a priori correttamente il
numero K?
• Problema ancora aperto. Comunque esistono dei metodi
approssimati. Qui di seguito uno di questi.
140
Errore quadratico
10
1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
7
8
9
Funzione oggettiva
1 2 3 4 5 6 7 8 9 10
Quando k = 1, la funzione obiettivo e’ is 873.0
Errore quadratico
1 2 3 4 5 6 7 8 9 10
Quando k = 2, la funzione obiettivo e’ 173.1
Errore quadratico
1 2 3 4 5 6 7 8 9 10
Quando k = 3, la funzione obiettivo e’ 133.6
Errore quadratico
0.00E+00
1.00E+02
2.00E+02
3.00E+02
4.00E+02
5.00E+02
6.00E+02
7.00E+02
8.00E+02
9.00E+02
1.00E+03
1 2 3 4 5 6
E’ possibile riportare il grafico della funzione obiettivo verso K ( da 1 a 6 per questo
caso)
Il cambio repentino a K=2 suggerisce che il numero corretti di gruppi sia 2.
Questa tecnica e’ conosciuta come “knee finding”
k
ObjectiveFunction
Errore quadratico
146
Reti neurali
 Una rete neurale artificiale definisce un modello matematico per la simulazione
di una rete di neuroni biologici
 Simula diversi aspetti legati al comportamento e alle capacita’ del cervello
umano:
1. Elaborazione intelligente delle informazioni
2. Elaborazione distribuita
3. Elevato livello di parallelismo
4. Facolta’ di apprendimento di generalizzazione e di adattamento
5. Alta tolleranza ad informazioni poco precise (o sbagliate)
147
Applicazioni
 Sistemi di filtraggio del segnale (es. eliminare il rumore da
un segnale)
 Sistemi di classificazione
 Previsione di serie temporali
 Riconoscimento (es. riconoscimento volto o espressioni
facciali)
 Sistemi di allarme e prevenzione (es. sistema per il
monitoraggio del manto autostradale per allertare con
sufficiente anticipo i mezzi di spargimento delle misture saline
in caso di pericolo)
 Diagnosi di guasto
Rete neurale biologica
• E’ costituita da un insieme di cellule nervose (i neuroni) collegati
tramite fibre nervose.
• Neurone: trasmissione dei segnali tra neuroni mediante impulsi
elettrici
• Soma: nucleo della cellula
• Dendriti: ricevono le informazioni dagli altri neuroni e le trasferiscono al
nucleo della cellula di input
• Assone: riceve le informazioni dal nucleo cellulare e le trasferisce verso gli
altri neuroni (output)
• Sinapsi: punto di contatto tra l’assone di un neurone (neurone pre-sinaptico)
e il ramo dendritico di un altro neurone (neurone post-sinaptico)
148
Neurone post-sinaptico
• Il comportamento di un neurone post-sinaptico puo’ essere
riassunto come:
• Comportamento passivo
Segnali ricevuti di piccola intensita’ (variazione di potenziale di pochi
mV)  impulso non generato
• Comportamento attivo
Segnali ricevuti di elevata intensita’ (variazioni di potenziale>soglia)

generazione di un impulso elettrico (spike)
149
Rete biologica vs artificiale
150
Neurone artificiale
151
• X1 X2 … Xp inputs da altri neuroni o dall’ambiente
• Gli inputs vengono pesati (wi..)
• I Total Input: somma pesata di tutti gli inputs
• f Funzione di trasferimento (funzione di attivazione): converte l’input
in output
• L’output viene inviato in cascata ad altri neuroni o ambiente
f
X1
X2
Xp
V = f(I)
w1
w2
...
wp
Dendriti Corpo Assone
Direzione del flusso di informazione
 
i
ii XwI
f(i) e’ la funzione di trasferimento
Funzioni di trasferimento
152
Ci sono diverse funzioni di Trasferimento/Attivazione
Tanh
f(x) =(ex – e-x) / (ex + e-x)
-1
1
0
1
0.5
0
1
Logistic
f(x) = ex / (1 + ex)
Threshold
0 if x< 0
f(x) =
1 if x >= 1
Funzionamento di una rete
153
Il percettrone
• Il percettrone e’ la rete neurale piu’ semplcie introdotta
agli inizi degli anni 50
• Classificatore binario
• Funzione di attivazione = funzione segno
154
Esempio
155
Apprendimento
• Aggiustare i pesi delle sinapsi al fine di ridurre l’errore fra il valore di
output generato dalla rete neurale e l’output corretto (training set)
• E’ un processo iterativo: analogamente all’apprendimento per
esperienza
• Proprieta’ di una rete addestrata:
• E’ in grado di memorizzare informazioni imprecise o che contengono
rumore, senza che venga alterata la qualita’ della risposta della rete
• E’ in grado di generalizzare da concetti appresi a concetti sconosciuti
156
Tipologie di apprendimento
157
Paradigma di apprendimento
158
E =  (Yi – Oi) 2
Oi
Yi
Aggiustamento dei pesi
minimizzando l’errore
E=desiderato-attuale
Diversi algoritmi di apprendimento
• Backpropagation
• Kohonen
• Recurrent back propagation
• Radial basis function
• Adaptive resonance
• Probabilistic
159
Un esempio dai semiconduttori
160
P(Class=High)
1
0
0.171331
P(Class=Low)
1
0
0.036038
P(Class=Medium)
1
0
0.79263
BIN8
19.667
118.333
37.2496
BIN9
0.56
38.5
2.30424
BINA
0
25.5
0.65726
BINI
11.48
131.833
19.4964
BINF
0
26.8
5.38787
BINV
38.24
137.292
60.194
BINH
2
14.4
3.02978
Prediction Profiler
Diminuendo il BIN8 (una categoria di falimento), aumenta la probabilita’ di avere fette di silicio
nella classe HighYield mentre la probabilita’ di appartenenza alla classe MediumYield tende a zero.
Notare che il BIN8,9,A e BINF non hanno alcun impatto sulla classe LowYield. Solo il BINV e il BINI
influenzano la probabilita’ della classe LowYield.
Aggiornamento dei pesi
• Metodo di discesa del gradiente
• Determinare il vettore dei pesi W che minimizza la somma degli errori quadratici E
• Lambda e’ detto learning rate (compreso tra 0 ed 1)
• L’insieme corrente di pesi individua un punto sulla superficie di errore
• In quel punto si calcola la pendenza della superficie lungo gli assi dei pesi
• Si modificano i pesi di una quantita’ proporzionale alla pendenza in ciascuna delle direzioni
• La rete si sposta nella direzione della discesa piu’ ripida
lungo la superficie di errore (direzione negativa del
gradiente)
• L’algoritmo termina quando l’errore e’ minore di una certa
soglia fissata
161
Epoche di apprendimento
• La rete neurale viene addestrata usando un training set
• Ogni esempio viene passato attraverso la rete calcolando l’errore che varra’ usato
per modificare i pesi
• Il training set viene passato piu’ volte (epoca di apprendimento)
• L’errore tende a diminuire durante la
fase di apprendimento, all’aumentare
del numero di nodi nascosti e del
numero di epoche di apprendimento
(cicli di training)
162
Reti neurali complesse
163
i nodi di un livello sonocollegati
solamente ai nodi del livello successivo
possono esistere connessioni fra
nodi dello stesso livello e i nodi di
livelli precedenti
Percettrone multilivello
• La rete e’ caratterizzata da uno o piu’ livelli intermedi
(nascosti) fra il livello di input e quello di output
• Gli output dei nodi di un livello diventano gli input per i nodi del
livello successivo
• Ogni nodo nascosto si comporta come un singolo percettrone
164
Problemi complessi
• Aumentando il numero di livelli e dei nodi nascosti e a seconda delle funzioni di attivazione
scelte, e’ possibile risolvere problemi di classificazione sempre piu’ complessi.
• Gli esempi fanno riferimento ad una funzione a gradino simile a quella del segno
165
Strati nascosti
• Effetti degli strati nascosti sulle performance della rete neurale
• Livelli nascosti
• 1 livello: universal approximator (vedi teorema Cybenko)
Puo’ approssimare in modo arbitrariamente preciso ogni funzione continua
(avendo un numero sufficiente di neuroni)
• 2 livelli: possono essere necessari per approssimare funzioni con discontinuita’
• Nodi nascosti
• Non esiste un numero preciso, e’ necessario eseguire diverse prove
166
167
Diversi tipi di reti neurali
SOM
• Le reti Self-organizing-map sono basate su di un algorimto di
training non supervisionato di tipo competitivo (il training e’
completamente guidato dai dati e i neuroni competono tra
loro)
• La SOM e’ costituita da un insieme di neuroni disposti
regolarmente su una griglia 1 o 2 dimensionale
• Ogni neurone e’ rappresentato da un vettore n-dimensionale
• Ciascun neurone e’ connesso con quelli adiacenti mediante una
funzione di vicinanza che determina la topologia della mappa
• Molto utili come modelli di clustering unsupervised
168
SOM
• Nel caso 2D i neuroni della mappa possono essere disposti su
di un reticolo rettangolare o esagonale
• Training basato su apprendimento di tipo competitivo
• Ad ogni passo del training, viene scelto un vettore X
dall’insieme dei dati di input e viene calcolata una misura di
similarita’ tra esso e tutti i vettori peso della mappa.
• La Best Matching Unit (BMU) e’ il neurone il cui vettore peso ha
il piu’ alto grado di similitudine con il vettore di input X
169
Esempio dai semiconduttori
170
Self organizing neural net map.
Useful to identify correlations among subgroups of multiple variables.
0
5
10
15
20
25
30
__AA
10 20 30 40 50 60 70 80 90 100110 130
__VV
Linear Fit
__AA = 2.9364003 + 0.0464602 __VV
RSquare
RSquare Adj
Root Mean Square Error
Mean of Response
Observ ations (or Sum Wgts)
0.108582
0.104233
2.721511
4.593585
207
Summary of Fit
Model
Error
Source
1
205
DF
184.9476
1518.3578
Sum of Squares
184.948
7.407
Mean Square
24.9706
F Ratio
Prob > F
Analysis of Variance
Linear Fit
Bivariate Fit of __AA By __VV
0
5
10
15
20
25
30
__AA
0 25 50 75 100 125 150
__VV
Linear Fit
__AA = -2.048697 + 0.2191804 __VV
RSquare
RSquare Adj
Root Mean Square Error
Mean of Response
Observations (or Sum Wgts)
0.916909
0.913941
1.204329
8.640167
30
Summary of Fit
Linear Fit
Bivariate Fit of __AA By __VV
__AA
1 2 4 5 7 8 9 11
__VV
18 25 33 40 47 55 62 69
__BB
4 8 12 15 19 23 27 30
Esempio Near infrared database
171
Spettri di sostanze ternarie e loro temperatura di test
PCA
• Principal component analsyis
• Tecnica per prendere una conbinazione lineare delle variabili
originali in modo che la primaria componente principale abbia la sua
massima variazione, la seconda componente principale abbia la
seconda massima variazione e sia ortogonale alla prima etc.
172
Se prendiamo la prima componente solo possiamo
spiegare ~80% dell’originale variabilita’ .
prendendo anche la seconda componente possiamo
spiegare circa 80+16=96% della variabilita’ del campione
originario .
Variabili
Riduzione campione
• Se consideriamo solo la prima componente possiamo
ridurre il campione da 6 variabikli a 1 variabile riuscendo
comunque a spiegare ~80% della variabilita’.
• La nuova variabile e’:
prn1=0.34887*Zeth+0.37314*Zoct+0.43187*Zccl4+0.44552*Zc6c6+0.42231*Zhex+0.41919*Zchcl3
• Dove Z indica la variable standard. Per es. Zeth=(eth-
avg(eth))/std(eth)
• Ma come funziona?
173
PCA
174
Supponiamo di avere due variabili A e B con 8 records e di essere
interessati a determinare 2 componenti principali.
    
  






i j
j
i
BiAi
AB
BA
AB
N
x
and
N
yx
with
r
1
2






Correlation coefficient
covariance
PCA
175
La media e std della variabile A sono 0.875 e 0.112 rispettivamente. Per la
variabile B abbiamo 7.75 e 1.199. La covarianza di AB e’ 0.0885. Quindi la
matrice di correlazione e’ data da:
La traccia e il determinante di questa matrice e’ data da:
567.0658.01)det(2)( 2
  BAABBBAA
i
ii RandRTr 
Calcoliamo adesso gli autovalori lambda di R. Per fare questo dobbiamo calcolare
la seguente equazione:
  0det  IR 
dove I e’ la matrice unitaria













1658.0
658.01
BBBA
ABAA
R


PCA
176
Poiche’ la matrice R e’ una matrice 2X2 la precedente equazione puo’
essere scritta come:
342.0658.1
0)det()(
21
2

+


and
RRTr
Una volta calcolati gli autovalori e’ possibile ottenere la variabilita’ spiegata da ogni
componente:
%1.17
2
342.0
%9.82
2
658.1
2
1


m
m


dove m e’ la dimensione della matrice R (2X2)
La maggior parte della variabilita’ puo’ essere spiegata dalla prima compnente.
PCA
177
A questo punto si calcolano gli autovettori associati ai due autovalori
calcolati. Si tratta di risolvere l seguente equazione:
URU
URU
2
1




dove U e’ un vettore di dimensione m (nel nostro caso 2) con norma
uguale a 1 (cioe’ u1^2+u2^2=1). Per es. per la prima equazione di
sopra:
221
121
658.1658.0
658.1658.0
uuu
uuu
+
+
707.0
2
1
2121  uuuu
essendo la norma di U=1. Questo significa che la prima componente e’
data da:
dove ZA e ZB sono le variabili standard associate ad A e B
BA ZuZuprn + 211
Regole associative
• Le regole associative sono algoritmi per trovare associazioni e/o
correlazioni tra records in grandi database.
• Queste regole mostrano quegli attributi che capitano piu’
frequentemente insieme.
• Per esempio quanto spesso un cliente al supermercato compra il
sapone insieme al dentrificio.
• Le regole associative forniscono informazioni della forma “if-then”.
Queste regole vengono generate a partire dai dati e diversamente
dalle regole logiche, sono di natura probabilistica
• Sono semplici ed intuitive e trovano frequente applicazione nelle
analisi di transazioni commerciali (market basket analysis).
178
Struttura e valutazione
• Date due proposizioni Y e Z, una regola è una implicazione del tipo
Y ⇒ Z.
• Y ⇒ Z, significa che seY è vera, allora anche Z è vera.
• Una regola si dice probabilistica se la validità di Z è associata ad
una probabilità p: seY è vera, allora anche Z è vera, con probabilità
p.
179
Matrice degli items
180
Regole associative
• La frequenza empirica f(L) di un insieme L di oggetti è il
numero di transazioni che contengono L
• La confidenza di una regola è:
L viene detto corpo della regola, H viene detto testa.
• Il supporto di una regola è
181
Esempio
182
Generazione itemset piu’ frequenti
• Il supporto di una regola dipende solo dall’insieme L ∪ H
(itemset) e non dall’effettiva distribuzione degli oggetti tra corpo
e testa.
• Ad esempio, le sei regole che si possono generare per gli
oggetti
{a, b, c} hanno tutte supporto s = 2/10 = 0.2:
• Se il valore di soglia per il supporto è smin=0.25, le sei regole
vanno eliminate, sulla base dell’analisi dell’insieme unione. 183
Generazione delle regole
• Dopo aver generato tutti gli itemset frequenti, vanno identificate le
regole forti, vale a dire quelle regole che superano una soglia di
confidenza fissata.
• Gli oggetti in ciascun itemset vanno separati secondo tutte le
combinazioni di corpo e testa per verificare se la confidenza della
regola supera una soglia pmin.
• Se l’itemset è frequente, si possono quindi ricavare le regole, ma solo
alcune saranno forti.
184
Significativita’ di una regola
• Per valutare la significatività di una regola si usa l’indice di lift:
• Valori di l > 1 indicano che la regola è più efficace nel predire la
probabilità che la testa sia contenuta in una generica
transazione, di quanto lo sia la sua frequenza.
• Valori di l < 1 indicano che la regola che nega la testa, è più
efficace della regola iniziale. 185
Algoritmo Apriori
• Questo algoritmo e’ quello piu’ importante per le regole
associative.
• Esempio
186
Solo 235 perche’ 134, 25X e
35X non sono presenti
support
(frequenza)
Esempio
187
Esempio dai semiconduttori
• Supponiamo di avere diverse macchine di produzione (lettere) a 4
diversi steps di processo. Supponiamo di avere 10 lotti processati su
diverse combinazioni di macchine e che 4 di questi siano a bassa resa.
Quale e’ il path responsabile di questi lotti “bad”?
• Trattandosi di un semplice esempio e’ facile verificare che la
combinazioneACE e’ responsabile della bassa resa.
188
Esempio dai semiconduttori
189
L’algoritmoApriori evidenzia correttamente la cobinazione A, C ed E come responsabile della bassa resa con una
confidenza del 100%.
WEKA software
Esempio con Decision tree
190
80% di probabilita’ che
allo step3 la macchina
E produca lowYield
100% di probabilita’ che
allo step 1 la macchina A
faccia bassa resa una
volta che allo step3 sia
stata utilizzata la
macchina E. La combinazione ACE non
viene individuata
Esempio con Reti neurali
191
Per lo step1 la macchina A produce bassa
resa con P=100%. Stessa cosa per lo step3
dove la macchina E produce bassa resa con
P=100%. Ma allo step2 la macchina C non
viene distinta dalla macchina D.
Anche la rete non riesce ad indivuare
la sequenza ACE.
Back
Support vector machines
• Si tratta di un algoritmo che esegue classificazioni
costruendo un iperpiano N-dimensionale che separa i dati in
due categorie. Questi modelli sono molto simili alle reti
neurali. Infatti un SVM usa una sigmoide come funzione di
kernel ed e’ equivalente ad un percettrone a due strati.
• La dimensione e’ data dal numero di variabili predittive. Per
esempio con 3 variabili predittive e una variabile target
l’SVM cerca di individuare il miglior piano a 2-dimensioni
che divide in due classi la variabile target
192
Un esempio in 2D
• Supponiamo di voler fare una classificazione e di avere una variabile target nominale
binaria. Assumiamo che ci siano due variabili predittive a valori continui. Se
grafichiamo i punti usando come valore della X un predittore e comeY l’altro
otteniamo un immagine come quella mostrata sotto. Una categoria della variabile
target e’ rappresentata con i rettangoli mentre l’altra con degli ovali.
• L’SVM tenta di trovare un iperpiano a 1-dimensione (cioe’ una linea) che separa la
variabile target. Ci sono infinite rette che possono fare questo; sopra vengono
mostrate due linee candidate. La questione e’: quale linea e’ la migliore e come
facciamo a definire la linea ottimale?
193
Un esempio in 2D
• Le linee tratteggiate parallele alla linea separatrice individuano la distanza tra la linea centrale e
i punti della variabile target. La distanza tra le 2 linee tratteggiata e’ chiamata margine. I punti
che limitano l’ampiezza del margine sono chiamati vettori di supporto (support vectors).
• L’algoritmo SVM trova la linea ottimale (o, in generale, l’iper-piano) in modo da massimizzare il
margine. Nella figura qui sopra la situazione di destra e’ superiore a quella di sinistra.
194
Quando le linee vanno storte
• Il modo piu’ semplice per dividere 2 gruppi e’ con una linea retta, un piano o un
iperpiano N-dimensionale. Ma cosa fare se i punti sono separati da una regione non-
lineare come quella mostrata qui sotto?
• In questo caso c’e’ bisogno di una curva separatrice non lineare
195
Quando le linee vanno storte
• Piuttosto che utilizzare delle curve non lineari, l’SVM usa una funzione kernel per
mappare i dati in uno spazio diverso dove un iperpiano va bene per separare le 2
categorie.
• La funzione kernel puo’ trasformare i dati in uno spazio a maggiore dimensioni per
rendere possibile la separazione.
196
Quando le linee vanno storte
• Le due classi rappresentate dai cerchi e dai quadrati nello
spazio di input non sono linearmente separabili, ma
attraverso la funzione  kernel i punti vengono mappati
in uno spazio in cui divengono linearmente separabili
197
Quando le linee vanno storte
• Il concetto della funzione kernel e’ molto potente. Essa permette ai modelli SVM
di eseguire delle separazioni anche con contorni molto complessi come quelli
mostrati qui sotto.
• Esistono diverse funzioni kernel. Quella piu’ usata e’ la Radial Basis Function
(RBF).
198
Applicazioni SVM
• Preparazione di farmaci (discriminazione tra leganti e non
leganti, inibitori e non inibitori, etc)
• Sensori
• Ingegneria chimica
• Riconoscimento volti in una foto o in un filmato
• Individuazione di persone ricercate in aeroporto
199
Reti Bayes
• Le reti Bayesiane sono dei modelli grafici della conoscenza in
un dominio incerto. Basandosi sulla regola di Bayes, esprimono
relazioni di dipendenza condizionale (archi) tra le variabili in
gioco (nodi).
• Il vantaggio principale del ragionamento probabilistico rispetto
a quello logico sta nella possibilità di giungere a descrizioni
razionali anche quando non vi è abbastanza informazione di
tipo deterministico sul funzionamento del sistema.
• Le reti bayesiane possono essere utilizzate in ogni settore in
cui sia necessario modellare la realtà in situazioni di incertezza,
cioè in cui siano coinvolte delle probabilità.
200
Topologia rete bayesiana
• Una rete Bayesiana è un grafo in cui valgono le seguenti proprietà:
1) Un insieme di variabili casuali costituiscono i nodi della rete
2) Un insieme di archi con verso connette le coppie di nodi (Il
significato intuitivo di una freccia dal nodo X al nodoY è che X ha
un’influenza diretta suY)
3) Ogni nodo ha associato una tabella di probabilità condizionate
che quantifica gli effetti che i “genitori” hanno sul nodo, dove per
“genitori” si intendono tutti quei nodi che hanno frecce che puntano
al nodo
4) Il grafo non ha cicli diretti
201
Osservazioni ed inferenza
202
Data un osservazione E possiamo non essere certi dell’esatta causa C che l’ha
provocata. Questo tipo di problema e’ classificato come “probabilita’ delle cause” e il
processo che porta alla sua risoluzione e’ detto inferenza.
Teorema di Bayes
203
A
C
Probabilita’ condizionata
)(
)(
AP
CAP
ACP

)(
)(
CP
CAP
CAP

Teorema di Bayes
)(
)(
AP
CPCAP
ACP


Assunzione Naïve
ADPACPABPABCDP 
Esempio dai semiconduttori
• Supponiamo di avere 4 steps di processo e delle
macchine rilasciate ad ogni spes indicate con le lettere.
• La classe e’ la resa dei lotti a fine linea (low e high)
• Vogliamo sapere quale e’ la probabilita’ che il materiale
processato sulle macchine A C E H appartenga alla classe
Low yield
• Si tratta di calcolare P(Low|A,C,E,H)
204
Esempio dai semiconduttori
P(Low|A,C,E,H)=P(A,C,E,H|Low)*P(Low)/P(A,C,E,H)
Ma P(A,C,E,H|Low)=P(A|Low)*P(C|Low)*P(E|Low)*P(H|Low)
per l’assunzione di indipendenza (Naive) e quindi
P(A|Low)=4/4=1, P(C|Low)=4/4=1, P(E|Low)=4/4=1, P(H|Low)=2/4=0.5
P(Low)=4/10=0.4
P(A,C,E,H)=2/10=0.2
Quindi P(Low|A,C,E,H)=(1*1*1*0.5*0.4)/0.2=1
205
Rete di Bayes (continuo)
• Se un attributo e’ continuo invece che categorico la probabilita’ di
avere A una volta che si sia verificato C e’ dato da
• dove mu e sigma sono la media e la standard deviation della
distribuzione gaussiana diA rispettivamente. C rimane categorica.
206
2
2
2
)(
2
2
1
)|( 






A
eCAP
Esempio dai semiconduttori
• Supponiamo adesso di voler predire la resa del materiale processato
sulla combinazione di macchine B,C,G,L del tutto assente dal set di
training
• Si tratta di valuare le 2 probabilita’ P(B,C,G,L|Low) e P(B,C,G,L|High)
207
P(Low|B)=0 P(Low|C)=3/4 P(Low|G=0 P(Low|L)=1/4
P(Low)=4/10
P(High|B)=3/6 P(High|C)=2/6 P(High|G)=2/6 P(High|L)=2/6
P(High)=6/10
P(B,C,G,L|Low)=P(Low|B,C,G,L)*P(B,C,G,L)/P(Low)=0
P(B,C,G,L|High)= P(High|B,C,G,L)*P(B,C,G,L)/P(High)= 0.030
Poiche’ P(B,C,G,L|High)>P(B,C,G,L|Low)  Yield=High
La rete ASIA
• La rete Asia mostra in maniera efficace quali sono le
potenzialita’ di una rete di Bayes.
• Si tratta di una rete per la diagnosi di malattie ai polmoni.
• Ad ogni nodo della rete corrisponde un comportamento
del paziente o il risultato di un esame medico.
208
La rete ASIA
• Nel momento in cui si inseriscono nella rete le informazioni di un
paziente in esame (sintomi e comportamento) queste si
propagano nella rete aggiornando in maniera quantitativa le
probabilita’ associate ai nodi non noti della rete (malattie).
209
Rete Asia prima di inserire le infos sul singolo paziente. Le
probabilita’ di ciascun nodo sono calcolate dal software
bayesiano a partire dalle probabilita’ a priori e condizionate
inserite in fase di costruzione della rete
Rete Asia dopo aver inserito le nfos sul paziente in esame. La
diagnosi piu’ probabile e’ quella di tubercolosi con una
probabilita’ del 62%. Le probabilita’ associate alla presenza di un
tumore o bronchite sono del 12.6% e 45.9% rispettivamente.
Un altro esempio
• I nodi padre di Heart Disease indicano i fattori di rischio della malattia
 Il tipo di dieta alimentare incide sulla probabilità di avere problemi di cuore
• I nodi figli corrispondono ai sintomi
 Avere problemi di cuore fa aumentare la probabilità di avere la pressione alta
• Per i nodi che non hanno archi entranti sono definite solo probabilità a priori
 Il verificarsi dell’evento non dipende da altri fattori
• Per i nodi che hanno archi entranti sono definite solo probabilità condizionali
 Il verificarsi dell’evento dipende da altri fattori
210
Bruciore di
stomaco
Dieta salutare
Esercizio fisico
Malattia cardiaca
Dolore al pettoPressione
Un altro esempio
• Supponiamo che un paziente presenti le seguenti caratteristiche e
che si voglia stimare la probabilità che soffra di problemi di cuore:
Exercise=Yes
Diet=Healthy
HeartBurn=No
BloodPressure=High
ChestPain=No
211
P
P
Applicazioni
• Campo medico
• Risk management (per. Rischio missioni spaziali, eventi
catastrofici...)
• Intelligenza artificiale e robotica
• Controllo produzione
• Analisi di lancio di nuovi prodotti
• Analisi di customer satisfaction
• Analisi fattori di rischio per la sicurezza autostradale
• Controllo del crimine
• In campo economico (teoria dei giochi)
212
Back
213
Arrivederci

More Related Content

Similar to Data mining Winter Lab conference

Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...
Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...
Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...Stefano Saladino
 
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò
 
Big data e pubblica amministrazione
Big data e pubblica amministrazioneBig data e pubblica amministrazione
Big data e pubblica amministrazioneGianfranco Andriola
 
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
Micro Focus Data Express 4.0 - Conformità,  produttività  e  protezione datiMicro Focus Data Express 4.0 - Conformità,  produttività  e  protezione dati
Micro Focus Data Express 4.0 - Conformità, produttività e protezione datiMicrofocusitalia
 
Big: alla scoperta dei Big Data
Big: alla scoperta dei Big DataBig: alla scoperta dei Big Data
Big: alla scoperta dei Big DataAlumni Mathematica
 
AIMOOC 7.1 - AI e pregiudizi - Teresa Numerico
AIMOOC 7.1 - AI e pregiudizi - Teresa NumericoAIMOOC 7.1 - AI e pregiudizi - Teresa Numerico
AIMOOC 7.1 - AI e pregiudizi - Teresa NumericoAlessandro Bogliolo
 
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...Edoardo E. Artese
 
I principi base dell’intelligenza artificiale spiegata ai non tecnici
I principi base dell’intelligenza artificiale spiegata ai non tecnici I principi base dell’intelligenza artificiale spiegata ai non tecnici
I principi base dell’intelligenza artificiale spiegata ai non tecnici KEA s.r.l.
 
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...libriedocumenti
 
Big Data Analysis: dalla teoria alla pratica
Big Data Analysis: dalla teoria alla praticaBig Data Analysis: dalla teoria alla pratica
Big Data Analysis: dalla teoria alla praticaGiulio Lazzaro
 
Big Data Conference Ottobre 2013
Big Data Conference Ottobre 2013Big Data Conference Ottobre 2013
Big Data Conference Ottobre 2013Carlo Vaccari
 
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
 
Its allaboudatadiversity2019rev1.2
Its allaboudatadiversity2019rev1.2Its allaboudatadiversity2019rev1.2
Its allaboudatadiversity2019rev1.2Stefano Gatti
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...ICTeam S.p.A.
 
INTELLIGENZA ARTIFICIALE e «GDPR»
INTELLIGENZA ARTIFICIALE e «GDPR»INTELLIGENZA ARTIFICIALE e «GDPR»
INTELLIGENZA ARTIFICIALE e «GDPR»Edoardo E. Artese
 
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
 

Similar to Data mining Winter Lab conference (20)

Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...
Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...
Carlo Bono - Introduzione alla Data Analysis e al Machine Learning - Rinascit...
 
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network ForensicsVincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
Vincenzo Calabrò - Tracciabilita' delle Operazioni in Rete e Network Forensics
 
Big data e pubblica amministrazione
Big data e pubblica amministrazioneBig data e pubblica amministrazione
Big data e pubblica amministrazione
 
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
Micro Focus Data Express 4.0 - Conformità,  produttività  e  protezione datiMicro Focus Data Express 4.0 - Conformità,  produttività  e  protezione dati
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
 
Presentazione bd2
Presentazione bd2Presentazione bd2
Presentazione bd2
 
Big: alla scoperta dei Big Data
Big: alla scoperta dei Big DataBig: alla scoperta dei Big Data
Big: alla scoperta dei Big Data
 
AIMOOC 7.1 - AI e pregiudizi - Teresa Numerico
AIMOOC 7.1 - AI e pregiudizi - Teresa NumericoAIMOOC 7.1 - AI e pregiudizi - Teresa Numerico
AIMOOC 7.1 - AI e pregiudizi - Teresa Numerico
 
Cloud e big data
Cloud e big dataCloud e big data
Cloud e big data
 
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...
Intelligenza Artificiale e Robotica - Applicazioni industriali e responsabili...
 
I principi base dell’intelligenza artificiale spiegata ai non tecnici
I principi base dell’intelligenza artificiale spiegata ai non tecnici I principi base dell’intelligenza artificiale spiegata ai non tecnici
I principi base dell’intelligenza artificiale spiegata ai non tecnici
 
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...
La gestione dei dati della ricerca e il ruolo delle biblioteche: quali sfide ...
 
Big Data Analysis: dalla teoria alla pratica
Big Data Analysis: dalla teoria alla praticaBig Data Analysis: dalla teoria alla pratica
Big Data Analysis: dalla teoria alla pratica
 
Big Data Conference Ottobre 2013
Big Data Conference Ottobre 2013Big Data Conference Ottobre 2013
Big Data Conference Ottobre 2013
 
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
 
Its allaboudatadiversity2019rev1.2
Its allaboudatadiversity2019rev1.2Its allaboudatadiversity2019rev1.2
Its allaboudatadiversity2019rev1.2
 
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
AWR analysis (o di come utilizzare l’AWR per condurre un’analisi di un databa...
 
FANTIN BIG DATA (1)
FANTIN BIG DATA (1)FANTIN BIG DATA (1)
FANTIN BIG DATA (1)
 
INTELLIGENZA ARTIFICIALE e «GDPR»
INTELLIGENZA ARTIFICIALE e «GDPR»INTELLIGENZA ARTIFICIALE e «GDPR»
INTELLIGENZA ARTIFICIALE e «GDPR»
 
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
 
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
Big data e Business Intelligence | presentazione open day @Fondazione Kennedy...
 

Data mining Winter Lab conference

  • 1. Data Mining Tecniche analitiche altamente complesse per un mondo sempre piu’ iper-complesso Winter Lab Santa Margherita Ligure 8/14 Marzo Felice Russo PCM and Data Mining snr manager
  • 2. Agenda • Chi sono • Introduzione • Complessita’ del Data mining • Definizione data mining • Gli steps del data mining • Modelli supervisionati e non • Le 4 tecniche principali del data mining • Issues • Dettagli sulle tecniche analitiche  Statistiche descrittive  Regressione lineare e Logistica  Analisi della varianza (ANOVA)  Analisi discriminante  Alberi decisionali  Clustering  Reti neurali  SOM  PCA  Regole associative  Support vector machine (SVM)  Reti di Bayes  Pattern recognition 2
  • 3. Chi sono • Felice Russo e' laureato in fisica, indirizzo nucleare (Universita' Federico II di Napoli). La sua tesi ha avuto come argomento le oscillazioni dei neutrini (Teoria di Pontecorvo) ed e' stata condotta presso il CERN di Ginevra. Attualmente lavora presso LFoundry una compagnia di semiconduttori come Data Mining, Device physics, electrical and reliability senior manager. Per alcuni anni e' stato professore a contratto di microelettronica presso l'Universita' "La Sapienza" di Roma. Ha al suo attivo numerosi articoli nel campo dei semiconduttori, data mining e matematica. Nel 2011 per la casa editrice Aracne ha pubblicato il libro "L'universo dei numeri i numeri dell'universo". Autore e curatore del blog Quantidiscienza • Alcuni miei contributi al Data mining  Sviluppo di un sistema per il riconoscimento di defocus –Tesi di Alessandro Lombardi – Univ. La Sapienza Roma  Riconoscimento di fallimenti elettrici su wafer di Si –Tesi di Maria LauraVospeli – Univ. RomaTre  Sviluppo di una rete neurale per il riconoscimento del chuck di macchine di CVD – Stefano Russo e Felice Russo - Micron  Felice Russo et al., Semiconductor Device Modeling using a Neural Network,TITechnical Journal, Jan-March 1999  Felice Russo and Stefano Russo, A Pattern RecognitionTool for Automatic Etch Process QualityCheck, Advanced Semiconductor ManufacturingConference , 2008 ASMC IEEE/SEMI  Felice Russo et al., CAT a new tool to separate randomic and systematic yield components,Workshop Statistical Methods applied in microelectronics June 2013 Catholic University Milan  Social network analysis – Felice Russo e Paola Lops Master Univ. Studi Perugia  Felice Russo e Don Kent – Semiconductor wafer spatial pattern classification withJSL - SASWorkshopUSA 2014  Felice Russo,Using a neural network to forecast the speed of a DRAM device, Micron technical Journal 2004  Felice Russo, G. Polsinelli, Data Mining for asymmetric data set under the curse of dimensionality Find in big and noisy data set the most influential yield predictors in a Semiconductor Fab, Discovery summit Europe 2018 3
  • 4. Introduzione 4 Primo esempio di Data mining. A sinistra: mappa originale del numero di morti per colera a Londra nel 1854. Addensamento intorno alla fontana di via Broad la causa dell’infezione A destra: la heatmap costruita con un algoritmo KDE (Kernel Density Estimation)
  • 5. Introduzione • Viviamo in un mondo sempre piu’ interconnesso e digitalizzato. Siamo sommersi dai dati. • Ogni minuto il mondo genera dati per 1,7 milioni di miliardi di byte, pari a 360000 DVD: più di 6 megabyte di dati a testa ogni giorno. • Le informazioni consistono in dati sul clima, immagini satellitari, fotografie e video digitali, registrazioni di operazioni o segnali GPS, dati scientifici, dati sociali e cosi via solo per citarne alcuni. • I database diventano sempre piu’ grandi e contengono una varieta’ di dati • Come analizzare questo enorme volume di dati ? • Con strumenti analitici sempre piu’ complessi e potenti e con macchine sempre piu’ veloci. • Data mining: insieme di tecniche e algoritmi provenienti da diversi campi di ricerca quali machine learning, intelligenza artificiale, pattern recognition, matematica, statistica e scienza dell’informazione. 5
  • 6. Intersezione di diversi campi di ricerca 6
  • 7. Complessita’ del DM • Il Data Mining cerca di estrarre la conoscenza dalle miniere di dati disponibili. Solo grazie alla conoscenza I dati possono acquistare un “valore”. • Oggi le aziende sono ricche di dati ma povere di informazioni/conoscenza. Solo un processo di “scoperta della conoscenza” (KDD Knowledge discovery in database) puo’ trasformare I dati in oro. • La speranza di tutti e’ che un giorno queste tecniche possano essere automatizzate escludendo completamente l’intervento umano. • Sara’ possibile? No, in quanto il data mining essendo un sistema complesso non potra’ essere completamente automatizzato (indecidibilita’ della complessita’ di Kolmogorov di una qualsiasi stringa). • Il data mining e’ e sara’ sempre un “arte” il cui scopo e’ quello di trovare i modelli che meglio si adattano agli insiemi dei dati analizzati. 7
  • 8. Complessita’ del DM Ulteriori complicazioni: • complessita’ dei dati da manipolare a causa della loro varieta’ (tipologia di dati) e multidimensionalita’ dei database • complessita’ computazionale degli algoritmi (per esempio con n righe ed m colonne ci sono O[m2m-1] possibili regole di associazione….) • complessita’ dei risultati (non tutti i pattern* che emergono sono facilmente interpretabili) 8 * Un pattern indica una struttura, un modello, o, in generale una rappresentazione sintetica dei dati.
  • 9. Complessita’ del DM Da dove deriva tutta questa complessita’? La risposta nella legge di Ashby: • << la complessita’ delle tecniche di analisi deve essere uguale o superiore a quella dei dati da analizzare>> • Piu’ il mondo evolvera’ verso l’interconnessione digitale di tutte le cose (Internet delle cose - IoT) piu’ il data mining dovra’ trovare nuove tecniche analitiche per far fronte a tanta ipercomplessita’. 9
  • 10. Definizione Data mining • Il Data Mining e’ l’analisi di grossi volumi di dati (grande numero di records e/o grande numero di variabili) con lo scopo di trovare delle relazioni inattese. • Il Data Mining e’ l’insieme di tecniche che permettono di spiegare il passato e prevedere il futuro per mezzo dell’analisi dei dati • Il Data Mining e’ una famiglia di metodologie che servono ad identificare dei “patterns nascosti” all’interno di grandi insiemi di dati con lo scopo di spiegare il comportamento di una o piu’ variabile di risposta. • Il Data Mining e’ l’insieme di modelli che trovano le risposte senza fare domande • Il Data Mining e’ quel processo non banale di identificare dei “patterns” validi, nuovi, utili e comprensibili nei dati. • Il Data Mining e’ quel processo che permette di estrarre le pepite d’oro (informazioni) nascoste sotto le montagne dei Big Data. 10 Esistono diverse definizioni.....vediamone qualcuna
  • 11. Definizione Data mining • Il Data mining e’ l’insieme di strumenti analitici che permettono di estrarre dai big data le informazioni utili, riducendo la dimensione del campione e aumentando il valore dei dati • Il data mining e’ torturare i dati finche’ non confessano • Il data mining differisce dagli altri metodi di modellizzazione in quanto non esiste nessun modello preconcetto da testare. • Al contrario il data mining cerca di trovare un modello dai dati e usare questo per poi spiegare il comportamento delle variabili di risposta. 11
  • 12. Un paio di vignette.... 12 DATA MINERS BIG DATA La ricerca delle pepite d’oro nelle miniere di big data Data mining? Cercare l’ago in un pagliaio. Tanta paglia e poco tempo ... Data mining?
  • 13. Motivazioni • I dati contengono informazioni/conoscenze nascoste • Gli analisti possono impiegare settimane per scoprire queste informazioni • La maggior parte dei dati finisce per non essere mai analizzata 13
  • 14. Il data mining e’ ovunque 14 Un po’ di classifiche
  • 15. Top 10 algoritmi di machine learning 1. C4.5 (Decision tree) 2. k-means clustering 3. Support vector machines (SVM - classificazione) 4. the Apriori algorithm (Association rules) 5. the EM algorithm (Expectation maximization – clustering) 6. PageRank (graph analysis algo – google) 7. AdaBoost (ensemble learning – combinazione di piu’ algoritmi) 8. k-nearest neighbours class (clustering) 9. Naïve Bayes 10.CART (decision tree) 15
  • 16. Top linguaggio per data mining 16 What programming/statistics languages you used for an analytics / data mining / data science work in 2013? [713 votes total] % users in 2013 % users in 2012 R (434 voters in 2013) 60.9% 52.5% Python (277) 38.8% 36.1% SQL (261) 36.6% 32.1% SAS (148) 20.8% 19.7% Java (118) 16.5% 21.2% MATLAB (89) 12.5% 13.1% High-level data mining suite (80) 11.2% not asked in 2012 Unix shell/awk/sed (79) 11.1% 14.7% C/C++ (66) 9.3% 14.3% Pig Latin/Hive/other Hadoop-based languages (57) 8.0% 6.7% Other low-level language (42) 5.9% 11.4% GNU Octave (40) 5.6% 5.9% Perl (32) 4.5% 9.0% Ruby (16) 2.2% 3.8%
  • 17. Top software per data mining 17 What Analytics, Big Data, Data mining, Data Science software you used in the past 12 months for a real project? [3285 voters] Legend: Red: Free/Open Source tools Green: Commercial tools % users in 2014 % users in 2013 RapidMiner (1453), 35.1% alone 44.2% 39.2% R (1264), 2.1% alone 38.5% 37.4% Excel (847), 0.1% alone 25.8% 28.0% SQL (832), 0.1% alone 25.3% na Python (639), 0.9% alone 19.5% 13.3% Weka (558), 0.4% alone 17.0% 14.3% KNIME (492), 10.6% alone 15.0% 5.9% Hadoop (416), 0% alone 12.7% 9.3% SAS base (357), 0% alone 10.9% 10.7% Microsoft SQL Server (344), 0% alone 10.5% 7.0% Revolution Analytics R (300), 13.3% alone 9.1% 4.5% Tableau (298), 1.3% alone 9.1% 6.3% MATLAB (277), 0% alone 8.4% 9.9% IBM SPSS Statistics (253), 0.4% alone 7.7% 8.7% SAS Enterprise Miner (235), 1.3% alone 7.2% 5.9% SAP (including BusinessObjects/Sybase/Hana) (225), 6.8% 1.4% Unix shell/awk/gawk (190), 0% alone 5.8% na IBM SPSS Modeler (187), 3.2% alone 5.7% 6.1% Other free analytics/data mining tools (168), 1.8% alone 5.1% 3.4% Rattle (161), 0% alone 4.9% 4.5% BayesiaLab (136), 23.5% alone 4.1% 1.0% Other Hadoop/HDFS-based tools (129), 0% alone 3.9% na Gnu Octave (128), 0% alone 3.9% 2.9% JMP (125), 3.2% alone 3.8% 4.1% KXEN (now part of SAP) (125), 0% alone 3.8% 1.9% Predixion Software (122), 47.5% alone 3.7% 2.7% Salford SPM/CART/Random Forests/MARS/TreeNet (118), 3.6% 2.2% Pig (116), 0% alone 3.5% na Orange (112), 0% alone 3.4% 3.6% Alteryx (103), 50.5% alone 3.1% 0.3% Perl (100), 2.0% alone 3.0% na
  • 18. Data base vs Data mining 18 Database • Trovare tutti i clienti che vivono a Napoli • Trovare tutti i clienti che usano la carta Mastercard • Trovare tutti i clienti che hanno mancato un pagamento Data mining • Trovare tutti i clienti che probabilmente mancheranno un pagamento (Classification) • Raggruppare tutti i clienti che hanno le stesse abitudini di acquisto (Clustering) • Mostrare tutti gli articoli che vengono comprati insieme alle biciclette (Association rules) • Trovare qualsiasi cliente “anomalo” (Outlier detection, anomaly discovery)
  • 19. Statistica verso Data mining • Nell’approccio top-down (statistico) , l’analista utilizzando la teoria statistica cerca durante l’esplorazione di trovare conferme a fatti che ipotizza o che già conosce (ad esempio quali fattori hanno prodotto un risultato conosciuto), o di ampliare la sua conoscenza su nuovi aspetti di un fenomeno che già conosce in parte. A questo scopo si utilizzano le tecniche statistiche di clustering, l’analisi fattoriale, i metodi previsionali, per cui l’approccio risulta difficile da applicare se gli utenti non hanno buone conoscenze statistiche. • Nell’approccio bottom-up (machine learning), l’analista ricerca le informazioni utili che ignora “scavando” fra i dati e i collegamenti tra loro in modo non aprioristico, per costruire ipotesi, ad esempio quali fattori sono le cause più probabili che producono un certo risultato. In questo caso è lo strumento (con la tecnologia delle reti neurali, degli alberi decisionali o altro) che deve essere in grado di guidare l’utente nell’esplorazione dei dati alla ricerca di fatti utili (conoscenza). 19
  • 20. Gli steps del data mining 20 Definizione del problema Preparazione dei dati Esplorazione dei dati Modellizzazione Valutazione Distribuzione
  • 21. I 3 pilastri del data mining 21
  • 22. Esempi di tecniche di mining 22 Decision Tree Clustering Time Series https://www.gmdhshell.com/time-series- analysis-software Association rules Neural Network http://neuroph.sourceforge.net/i ndex.html Linear Regression SOM PCASVM Visual Data mining http://www.vosviewer.com/Home http://gephi.github.io/ Mobility data analysis http://m-atlas.eu/ Web mining http://deixto.com http://www.clips.ua.ac.be/ http://scrapy.org/
  • 23. Esempi di tecniche di mining 23 Social network http://nodexl.codeplex.com/ Pattern recognition Sentiment analysis http://www.socialmention.com/ Crowdsourcing http://innocentive.com/ http://www.rockethub.com/ http://www.mturk.com/mturk/welcome Data fusion and integration Genetic algorithms Text mining Spatial analysis http://resources.arcgis.com/
  • 24. Esempi di tecniche di mining 24 Market analysis http://www.11antsanalytics.com Sequential patterns http://www2.gsu.edu/~psyrab/gseq/index.h tml Deviation detection or black swan mining http://www2.gsu.edu/~psyrab/gseq/index.h tml Predictive analytics http://blog.fractalanalytics.com/marketing- analytics/future-proofing-with- predictive-analytics/
  • 25. Dati • Il secondo pilastro su cui poggia il data mining è rappresentato dai dati utilizzati nel processo: senza di essi, il data mining non sarebbe possibile e potrebbe contare solamente su qualche intuizione. I dati assumono le forme più disparate, sono di tipo diversi e si trovano in molti sistemi; sono “quasi sempre” sporchi, incompleti e talvolta indecifrabili. 25
  • 26. Modelli • I modelli in uso per il data mining possono essere di due tipi: • Supervised (diretta o predittiva) • Unsupervised (indiretta o descrittiva) 26
  • 27. Supervisionato • Le tecniche supervisionate di data mining sono quelle utilizzate quando abbiamo uno specifico obiettivo di cui vogliamo prevedere il valore utilizzando i dati a dispozione. Il target puo’ essere discreto (2 o piu’ valori) o continuo. • Per usare questi metodi bisogna avere un sottoinsieme di dati per cui i valori del target sono noti (training data). Con le tecniche di data mining costruiamo un modello che poi utilizziamo per prevedere i valori del target per i dati che il modello non ha visto (test data). • Esempio: Imparare come prevedere se un paziente si ammalera’ di cancro in base ai suoi dati passati e alla conoscenza della classe: ammalato, sano. Le techiche supervisionate piu’ usate sono: classificazione e regressione 27
  • 28. Non supervisionato • I modelli non supervisionati non fanno previsioni. Piuttosto servono per trovare strutture nascoste e relazioni nei dati. • Esempio:Quali fattori di un insieme di pazienti sono piu’ probabili causare il cancro?Quali fattori tra quelli monitorati in diversi pazienti hanno una certa probabilita’ di essere legati alla malattia del cancro? In questo caso non abbiamo nessuna classe. • Le techiche non-supervisionate piu’ usate sono: Clustering e association 28
  • 29. Un esempio di vita reale 29 Cerchiamo di imparare i concetti di supervisionato e non- supervisionato con un esempio dalla vita di tutti i giorni Supponiamo di avere un cesto di frutta. Il nostro obiettivo e’ quello di creare dei gruppi
  • 30. Un esempio di vita reale • Nel cesto abbiamo i seguenti tipi di frutta 30 Mela Banana UvaCiliegia
  • 31. Un esempio di vita reale • Apprendimento supervisionato • Conoscendo il tipo di frutta (response variable) e’ facile raggrupparla • Questo lavoro e’ conosciuto come fase di training • Una volta preso un frutto dal cesto, guardando la dimensione, colore, e forma sara’ possibile stabilire di che frutto si tratta • La colonna Nome e’ la nostra variabile di risposta o classe o label • Una volta imparato con i dati di training e’ possibile applicare questa conoscenza ai dati di test (la frutta nuova) 31
  • 32. Un esempio di vita reale • Apprendimento non-supervisionato • Supponiamo di avere il cesto di frutta e il nostro obiettivo e’ di arrangiare la frutta in gruppi o classi • Questa volta non sappiamo niente della frutta. Supponiamo che trattasi di frutta che vediamo per la prima volta. • Come costruiamo i gruppi? • Si tratta di prendere un frutto alla volta e di considerare le sue caratteristiche fisiche. Supponiamo di partire col colore. • In base al colore avremo 2 gruppi. Rosso=mela e ciliegie,Verde=banana e uva • Adesso consideriamo un’altra caratteristica fisica come per esempio la dimensione. Adesso avremo 4 gruppi. • Rosso e grande= mela, Rosso e piccolo=ciliegia, Verde grande=banana,Verde e piccolo=uva • Il gioco e’ fatto. In questo caso non abbiamo utilizzato nessun training 32
  • 33. Misurazione dell’efficacia • Matrice di confusione: matrice che permette di individuare quali tra le previsioni fornite dal modello siano corrette e quali errate • Curva Lift: grafico che raffigura la prestazione di un modello in funzione della dimensione del campione • Curva ROC: grafico che raffigura la prestazione di un modello in base all’area sottesa alla curva 33 Supponiamo di avere due risposte una positive P e una negativa N TP=true positive,TN=true negative, FP=false positive, FN=false negative TPrate=TP/P , FPrate=FP/P,Yr=(TP+FP)/(P+N) Accuracy=(TP+TN)/(P+N) , Precision=TP/(TP+FP) ROC Lift
  • 34. Le tecniche piu’ importanti... del DM 34 o Regression predire il valore di una variabile a partire dai dati passati o Classification assegnare i records a dei gruppi predefiniti o Clustering raggruppare i records simili in clusters (gruppi). Simile alla classification anche se questa richiede la conoscenza a priori delle classi. o Association learning capire cosa implica cosa cioe’ determinare regole del tipo: se X alloraY
  • 35. Le tecniche piu’ importanti... del DM 35 La Classificazione e’ una tecnica del DM usata per predire l’appartenenza ad un gruppo delle diverse istanze in un campione. Per esempio e’ possibile usare la classificazione per predire domani che tempo fara’. SOM Il Clustering e’ una tecnica usata per porre degli elementi da un data base in un particolare gruppo senza conoscere a priori la definizione del gruppo. La regressione e’ una tecnica usata per fittare i dati di un campione con una data curva. La piu’ semplice forma di regressione e’ quella lineare. L’Association rules sono delle dichiarazione if/then che aiutano a scoprire le relazioni tra dati che a priori sembrano non avere nulla in comune.
  • 36. Zoo Galaxy–Esempio di classificazione 36 893,212 oggetti ~150.000 volontari ~50M classificazioni http://www.galaxyzoo.org/
  • 37. Zoo Galaxy–Esempio di classificazione 37
  • 38. Zoo Galaxy–Esempio di classificazione • Possono le tecniche di machine lerning competere con la accuratezza dell’occhio umano? • Utilizzo di reti neurali per classificare le immagini di galassie dello ZOO galaxy database (gia’ classificate dalle persone) 38 Confusion matrix  Nonostante tutti gli sforzi fatti al momento l’occhio rimane il migliore sensore per il riconoscimento della morfologia delle Galassie.
  • 39. Un altro esempio di classificazione 39
  • 40. Altri esempi di classificazione • Predire se una cellula tumorale e’ benigna o maligna in base alle sue caratteristiche • Classificare se una transizione con carta di credito sia o meno fraudolenta • Classificare le strutture proteiche secondarie in alpha-helix, beta-sheet o random • Classificare le news in base all’argomento: finanza, meteo, sport, intrattenimento, etc • Classificare le qualita’ dei dispositvi a semiconduttore (dies) in base alle prestazioni elettriche misurate 40
  • 41. Tecniche classificazione • Decision tree: E’ una delle tecniche di classificazione maggiormente utilizzata che permette di rappresentare con un albero un insieme di regole di classificazione. Consiste in un insieme di nodi, correlati da archi (rami) orientati ed etichettati. • Ciascun percorso radice-foglia rappresenta una regola di classificazione 41No tennis No tennisSi tennis Si tennis Si tennis radice foglie pioggiasoleggiato nuvoloso
  • 42. Tecniche classificazione • Support vector machine: Si tratta di un algoritmo che esegue classificazioni costruendo un iperpiano N-dimensionale che separa i dati in due categorie. Questi modelli sono molto simili alle reti neurali. Infatti un SVM usa una sigmoide come funzione di kernel ed e’ equivalente ad un percettrone a due strati. • La dimensione e’ data dal numero di variabili predittive. Per esempio con 3 variabili predittive e una variabile target l’SVM cerca di individuare il miglior piano a 2-dimensioni che divide in due classi la variabile target 42
  • 45. Esempio di clustering 45 Due classi in base alla forma
  • 46. Esempio di clustering 46 3 classi in base al colore
  • 47. Esempio di clustering 47 2 classi: frutta e oggetti
  • 48. Tecniche clustering • Algoritmi di partizione: costruisce varie partizioni per poi valutarle in base a certi criteri. Si tratta di una tecnica non gerarchica.Ogni oggetto e’ posto esattamente in uno di K gruppi conosciuti. Per l’es. riportato K=2 • Algoritmi gerarchici: creano una decomposizione gerarchica degli oggetti usando dei criteri appropriati. Dendogramma. 48
  • 51. Tecniche associazione • Le regole associative sono algoritmi per trovare associazioni e/o correlazioni tra records in grandi database. L’agoritmo piu’ conosciuto e APRIORI • Queste regole mostrano quegli attributi che capitano piu’ frequentemente insieme. • Le regole associative forniscono informazioni della forma “if- then”. Queste regole vengono generate a partire dai dati e diversamente dalle regole logiche, sono di natura probabilistica 51
  • 52. Esempio regressione 52 La regressione e una metodologia statistica che utilizza la relazione tra due o piu variabili quantitative, in modo da prevedere una variabile risposta tramite i valori delle altre. La regressione piu’ semplice e’ quella lineare, dove la variabile risposta e continua. Nella regressione logistica la risposta e invece dicotomica.
  • 53. Tecniche regressione • Il metodo piu’ utilizzato per la regressione lineare e’ quello dei minimi quadrati dove si cerca di minimizzare la somma quadratica degli errori. • Per le regressione logistica invece si usa la funzione sigmoide che dopo un inizio di crescita quasi esponenziale rallenta diventando quasi lineare per raggiungere poi un plateau • Un’altra tecnica di regressione non lineare e’ quella delle reti neurali, algoritmi che cercano di imitare il cervello umano. Esse possono essere utilizzate, tra le altre cose, per l’analisi delle relazioni esistenti tra diverse variabili x di input ed un insieme di t output continui (variabili target). 53
  • 54. Altri esempi regressione • L’ammontare delle vendite di un prodotto puo’ essere prevista utilizzando la relazione esistente con gli investimenti in pubblicita’. • La performance lavorativa di un impiegato puo essere prevista utilizzando un insieme di test attitudinali. • La dimensione del vocabolario di un bambino puo essere prevista utilizzando l’eta del bimbo oppure il livello di istruzione dei genitori. • Prevedere se una persona ha sviluppato una malattia coronarica (yes vs No) a partire dai valori di eta’, sesso, fumatore/non fumatore, livello di colesterolo e pressione sanguigna; in questo caso la regressione e’ logistica. 54
  • 56. Pattern recognition • Sistema per riconoscere automaticamente un oggetto • Data la descrizione dell’oggetto che puo’ appartenere ad una di N classi possibili, compito del sistema e’ ascrivere l’oggetto ad una classe utilizzando una base di conoscenza precedentemente costruita 56
  • 57. Schema di classificazione 57 I classificatori possono essere uno dei modelli descritti precedentemente come: SVM, SOM, Reti neurali etc etc. Vediamo come scegliere le features
  • 58. Features • Le tecniche di feature selection sono utilizzate per selezionare, un insieme di feature significative ai fini della clasificazione di uno specifico data set • L’importanza della riduzione delle feature è legata al fatto che un problema con un numero ridotto di feature è un problema che può essere risolto con tempi di calcolo più contenuti e, spesso, anche con risultati migliori 58
  • 59. Features • Esempio: un insieme di immagini contenenti le lettere “a” e “b” viene acquisito tramite una telecamera, e memorizzato nel computer • L’immagine viene rappresentata da un array di pixel, ogni pixel assume valore compreso tra 0 (completamente bianco) e 1 (completamente nero) • Non si possono utilizzare i dati cosí come sono (immagine 256x256 sono 65536 pixels) • Le features vanno scelte opportunamente 59
  • 60. Features • Feature: caratteristiche misurabili del fenomeno in esame (pattern = vettore di features): • semplici da calcolare; • invarianti a trasformazioni irrilevanti; • affidabili; • indipendenti; • discriminanti; • poche (problema della curse of dimensionality); • In questa fase è molto utile l’utilizzo della conoscenza a priori sul problema 60
  • 61. Features • ad esempio una feature potrebbe essere il numero totale di pixel neri: • invariante alla rotazione e traslazione dell’oggetto • poco discriminante: non tiene conto della forma • uso di meta-conoscenza a priori: devo distinguere tra “a” e “b”, e so che la lettera “b” è tipicamente piú alta e allungata della “a”. • uso come feature il rapporto altezza/larghezza • Il numero di feature deve essere piccolo per limitare il costo della misura e non influire sull’accuratezza del classificatore • Selezione di feature: migliore sottoinsieme tra tutte le feature estratte (PCA analysis)  dimensionality reduction 61
  • 62. Esempio dai semiconduttori • Le connessioni tra le piste dei metalli e i transitors sottostanti in un chip avvengono tramite l’apertura di buchi (chiamati contatti) riempiti tipicamente con tungsteno. • Un possibile failure mechanism e’ quello di un buco non completamente aperto chiamato contact underetch. 62
  • 63. 63 Good ct Underetched ct N+ ct Esempio dai semiconduttori Underetched ct Good ct
  • 64. 64 Galleria di immagini Esempi di contatti non aperti correttamente
  • 66. 180 Acquiring the image Pre-treatment filtering: removing spikes and words written over the SEM image Adaptive threshold application in order to define a binary image Emboss filtering along 4 directions in order to individuate the main images intensity gradients Decision algorithm and 60 ue contacts determination Clusters identification Noise reduction Flow chart
  • 67. 67 threshold mode median 0 20 40 60 80 100 DetectionRate Ydetrate Ndetrate Nlowdet Overall threshold mode median 0 20 40 60 80 100 DetectionRate Risultati testati 3 diversi algoritmi (threshold, median and mode). Quello indicato con “mode” e’ quello che performa meglio. Da notare che la overall performance dell’algoritmo e’ uguale/superiore al 90% indipendentemente dal tipo di decisione. Y=Image w/o CT underetch N=Image with CT underetch
  • 68. Un altro esempio • Wafer Spatial Pattern Recognition • E’ stato realizzato un tool per una visualizzazione adattativa delle fette di silicio combinando tecniche di Machine Learning con quelle di high-dimensional-data analysis • Questo ci permette l’AutomaticWafer Classification basata su un unica signature spaziale. • Platform • JMPV.11+ combinato con JSL algorithm’s e un’interfaccia interattiva • Lo script e’ stato testato in tutti i Fab Micron e adesso in LF • Oggi il software e’ utilizzato per prodotti NAND, DRAM, IMAGER e prodotti LF 68
  • 69. Features 69 Per ogni chip viene calcolato il seguente rapporto: .neighb totadj N N NN  dove Ntotadj e’ il numero totale di chip primi vicini fallenti mentre Nneighb e’ il numero totale di primi vicini considerato (8 per Moore neighbors). NN spazia da 0 a 1. Una volta calcolato il rapporto NN per tutti i chips della stessa fetta di silicio si prendono le primi 3 componenti principali (PCA) e con queste variabili viene eseguito un clustering gerarchico. NN values PCA components
  • 70. Wafer Spatial Pattern Recognition 70 • (Top) Wafers con bassa resa raggruppati per “spatial pattern” • (Right) Dettaglio delle fette del Grp14 • (Far Right) 3D-Arc-Ball Spatial Group
  • 71. Wafer Spatial Pattern Recognition 71 • (Top) Wafer a bassa resa raggruppati by “spatial pattern” • (Right) Dettaglio del gruppo16
  • 72. Maledizione della dimensionalita’ • Alcuni algoritmi hanno bisogno di grandi quantita’ di dati..... • La maledizione della dimensionalita’ e’ un espressione coniata da R. Bellman e indica il problema derivante dal rapido incremento dello spazio matematico associato all’aggiunta di dimensioni • La maledizione della dimensionalita’ rappresenta un ostacolo significativo nei problemi che coinvolgono pochi dati (records) ma numerose dimensioni (cioe’ poche righe e tante colonne in uno sheet) • Esempio: 100 osservazioni possono coprire piuttosto bene l’intervallo unidimensionale [0,1]. Si potrebbe quindi tracciare un istogramma dei risultati e fare dell’inferenza su tali dati. Se si considera invece un ipercubo di 10 dimensioni le 100 osservazioni saranno ora dei punti isolati in uno spazio vasto e per lo piu’ vuoto. Per ottenere una copertura simile a quella osservata sullo spazio unidimensionale sarebbero necessarie 1020 osservazioni: una quantita’ difficilmente ottenibile. 72
  • 73. Riduzione della dimensionalita’ • Evita la maledizione della dimensionalita’ • Migliora le performance degli algoritmi • Permette una migliore visualizzazione • Puo’ eliminare attributi irrilevanti e ridurre il rumore • Tecniche • Principal component analysis (PCA) • Feature selection 73
  • 74. Issues - Underfitting • L’utilizzo di un algoritmo che non riesce a catturare la compessita’ dei dati 74
  • 75. Issues - Overfitting • Facendo un fine tuning eccessivo dell’algoritmo si rischia che esso inizi a modellare anche il rumore presente nei dati di training. 75
  • 76. Issues - Overfitting • Un metodo per superare l’overfitting per i decision tree e’ quello di Breiman e Stone (1978) • Pruning: si genera una sequenza ottimale (nidificata) di sotto- alberi potati tra i quali si seleziona l’albero in grado di tener conto sia del costo legato alla potatura sia del beneficio ottenuto nell’interpretazione di un albero di piccole dimensioni. 76
  • 77. Issues – Missing data • In genere i data base contengono diversi dati mancanti - cioe’, alcuni records hanno valori nulli o mancanti • Questo causa problemi a molti degli algoritmi di machine learning • Necessita’ di risolverli in qualche modo - rimuovere tutti i records con valori nulli - usare un valore di default - stimare (media, mediana..) un valore di rimpiazzo - ....... 77
  • 78. Issues – Outliers • Outlier: un oggetto/dato che non e’ conforme alle caratteristiche generali degli altri dati • Possono essere considerati come rumore o eccezioni, ma possono essere utili per individuare frodi, analisi di eventi rari, ecc. • Esistono algoritmi di clustering che come effetto collaterale riescono ad individuare gli outliers 78
  • 79. Issues - Dati rumorosi • Errori casuali o varianza significativa di una misura • Malfunzionamento di strumenti/trasmissione in rete • Limitazioni tecnologiche • Problemi di data entry • Indicano il rilevamento di valori diversi da quelli originali • Distorsione della voce di una persona quando registrata attraverso un microfono di scarsa qualita’ • Registrazione approssimata di valori degli attributi • Registrazione errata di valori degli attributi 79
  • 80. Issues - Dati duplicati • Il data set potrebbe includere oggetti duplicati • Possibile quando il data set e’ il risultato della fusione di piu’ sorgenti dati • Esempi: stessa persona con piu’ indirizzi e-mail; stesso cliente registrato due volte • Puo’ essere necessario introdurre una fase di data cleaning al fine di individuare ed eliminare la ridondanza 80
  • 81. Issues – Classi sbilanciate • Un dataset che presenta una distribuzione non equa tra le classi di risposta puo’ essere definito sbilanciato (imbalanced) • Il problema dello sbilanciamento e’ presente in molti campi applicativi come nella diagnosi di malattie rare, frodi bancarie, gestione del rischio, intrusione in rete informatiche, severita’ degli incidenti stradali etc. • In ciascuno di questi esempi una classe ha una frequenza estremamente elevata rispetto a un’altra con rapporti dell’ordine del tipo 100:1, 1000:1 e 10000:1 81
  • 82. Issues – Classi sbilanciate • In presenza di una distribuzione della variabile di risposta estremamente sbilanciata il processo di apprendimento puo’ portare a risultati distorti • Quando i dati sono sbilanciati il modello tende a concentrarsi sulla classe prevalente e ignorare gli eventi rari. Di conseguenza le osservazioni che appartengono alla classe minoritaria sono classificate erroneamente con maggiore frequenza di quelle appartenenti alla classe maggioritaria • Sia i metodi parametrici (quelli che alla base assumono una distribuzione normale) che quelli non parametrici (decision tree, associative rules) sono sensibili allo sbilanciamento delle classi • E’ importanete osservare che la classe minoritaria di solito rappresenta il concetto di interesse (ad esempio la diagnosi medica di pazienti con malattie rare, frodi bancarie etc) 82
  • 83. Issues – Classi sbilanciate • Quale e’ la sensibilita’ dei classificatori allo squilibrio dei dati? • Decision tree e’ il piu’ sensibile alla class imbalance. Questo perche’ lavora a livello globale non facendo molta attenzione ai dati puntuali specifici • Multi layer perceptron l’MLP e’ meno prono alla class imbalance rispetto al decision tree. Questo perche’ l’output viene aggiustato da ogni data point in modo bottom-up e dall’intero dataset in modo top-bottom • Support vector machine L’SVM e’ ancora meno prono alla class imbalance del MLP. Questo grazie al fatto che l’algoritmo tiene conto solo di alcuni vettori di supporto cioe’ i data point vicini ai confini tra le classi 83
  • 84. Issues – Classi sbilanciate • Esistono diverse soluzioni per superare il problema dei dati squilibrati. • Tecniche di cost sensitive learning Lavorano a livello di algoritmo e si basano sull’assegnazione di un costo elevato per errata classificazione della classe di minoranza cercando di minimizzare il costo complessivo • Tecniche di campionamento Si tratta di un lavoro di pre-processing sui dati in modo da fornire una distribuzione bilanciata tra le classi. Nel caso si aggiungono records alla classe minore si parla di oversampling mentre se si eliminano dei records dalla classe maggiore si parla di undersampling 84
  • 85. Issues – Classi sbilanciate • Uno dei metodi di cost sensitive piu’ usato consiste nel creare una nuova colonna (una nuova variabile predittiva) chiamata peso (weight) che associa ad ognuno dei record del gruppo di minoranza un valore 1 e a quelli del gruppo di maggioranza un peso pari a: (#elementi gruppo minoranza)/(#elementi gruppo di maggioranza) • Questi pesi poi vanno opportunamente inseriti nel classificatore come per es. un decision tree. In questo caso si parla diWeighted decision tree (WDT) 85
  • 86. Issues – Classi sbilanciate • Uno dei metodi di oversampling piu’ popolare e’ il Synthetic minority over-sampling technique (SMOTE). • Questo algoritmo genera osservazioni “sintetiche” a partire dalla classe di minoranza e li aggiunge al set di dati esistenti • I records artificiali vengono generati basandosi sulla similarita’ nello spezio dei predittori • Per ciascun record della classe di minoranza si prendono per es. le 5 osservazioni piu’ vicine nello spazio dei predittori • Tra queste 5 distanze ne viene scelta una a caso e si prende un punto sempre a caso lungo di essa. • Questo processo continua fino a che la la classe di minoranza e’ pari ad una determinata percentuale della classe di maggioranza 86 Primi vicini
  • 87. END • Grazie per l’attenzione DOMANDE? 87
  • 89. Dettagli -Tecniche analitiche • Statistiche descrittive • Regressione lineare e Logistica • Analisi della varianza (ANOVA) • Analisi discriminante • Alberi decisionali • Ensemble learning • Clustering • Reti neurali • SOM • PCA • Regole associative • Support vector machine (SVM) • Reti di Bayes 89
  • 90. Statistiche descrittive • Solitamente la quantita’ di dati presente in un database e’ tale da dover richiedere degli indici rassuntivi. • Per descrivere la distribuzione dei dati si possono utilizzare 2 statistiche • Misura della tendenza centrale (media, mediana, moda) • Misura di dispersione ( deviazione standard, varianza) • Molto importante anche la visualizzaizone grafica 90
  • 91. Regressione lineare e logistica • La regressione e’ una metodologia statistica che utilizza la relazione tra due o piu’ variabili quantitative in modo da prevedere una variabile risposta tramite i valori delle altre. • Nella regressione lineare la risposta e’ continua mentre in quella logistica e’ invece dicotomica. • La forma piu’ semplice di regressione lineare contiene un predittore X ed una rispostaY: y=b+ax • I termini “coefficiente angolare a” ed “intercetta b” vengono determinati minimizzando la somma delle deviazioni quadratiche della retta (metodo minimi quadrati) 91
  • 92. Regressione lineare e logistica • La regressione Logistica e’ usata per quei dati dove la risposta e’ categorica. Come per il caso della regressione lineare si tratta di stimare una relazione tra la variabile risposta e le variabili predittrici in modo da avere un certo valore di probabilita’ per la risposta piu’ che un valore numerico. • La distrib. logistica e’ una distribuzione S-shaped con valori tra 0 e 1. P(x)=1/(1+e(-a-bx)) 92 Per stimare i coefficienti a e b si applica il metodo di massima verosimiglianza se -a-bx=0 allora P =.50 se -a-bx diventa grande, P tende ad 1 se -a-bx diventa piccolo, P tende a 0.
  • 93. Esempio di regressione logistica 93 Class 0.00 0.15 0.30 0.45 0.60 0.75 0.90 0 1 2 3 4 5 6 7 ESDA-Lot-binV U27YDFTX4-TFPW-GLIX High Low Medium Diff erence Full Reduced Model 56.94336 590.17595 647.11931 -LogLikelihood 2 DF 113.8867 ChiSquare <.0001 Prob>ChiSq RSquare (U) Observations (or Sum Wgts) 0.0880 700 Converged by Gradient Whole Model Test Logistic Fit of Class By ESDA-Lot-binV U27YDFTX4-TFPW-GLIX Dal mondo dei semiconduttori Correlazione tra la classe “yield low, medium high” verso una categoria di fallimento chiamata glix. Con un glix a 5 c’e’ una probabilita’ del 20% che la resa sia bassa, ~65% che sia media e ~15% che sia alta. Al contrario con un glix intorno ad 1 c’e’ una probabilita’ di ~80% che la resa appartenga al gruppo high.
  • 94. Analisi della varianza • L’analisi della varianza (ANOVA) si usa per verificare le differenze tra le media di piu’ gruppi • Le variabili esplicative in un ANOVA sono generalmente di tipo qualitativo (sesso, regione di residenza, resa, cliente....) • Alcuni esempi • Un esperimento per studiare gli effetti di 5 marche differenti di benzina sulla efficienza operativa dell’automobile (Km/l) • Valutazione di una nuova macchina introdotta in una linea di produzione per verificare che abbia le stesse prestazioni di quelle gia’ rilasciate 94
  • 95. Analisi della varianza 95 GA=grand mean GrA=Group mean Y=single response SS total=Sum of squared deviation total SS between-groups=Sum of squared deviations between the groups SS within-groups=Sum of squared deviations within each group
  • 96. Analisi della varianza • Calcoliamo la Mean Square “between’ e “within” 96 within within within between between between df SS MS df SS MS   con df i gradi di liberta’ dell’esperimento • df total=N-1 dove N e’ il numero di records • df betrween=k-1 dove k e’ il numero di gruppi • df whithin=N-k Nel nostro esempio N=47 e k=2 per cui: MS between=60.58 e MS within=191.52
  • 97. Analisi della varianza • Per fare il test di significativita’ u1=u2 usiamo la statistica F 97 within between kNk MS MS F  ),1( FINALFUNCTPROD-LotMEAN-* 150 160 170 180 190 200 210 1C 2E Group 1C 2E Group Error C. Total Source 1 45 46 DF 60.5780 8618.4553 8679.0333 Sum of Squares 60.578 191.521 Mean Square 0.3163 F Ratio 0.5766 Prob > F Analysis of Variance Oneway Anova Oneway Analysis of FINAL FUNCT PROD-Lot MEAN-* By Group Il p-val di un F-test e’ uguale all’area sotto la curva a destra del valore F ottenuto (nel nostro esempio F=0.316 da cui p=0.576). Nel caso in cui il valore p-val e’ <0.05 allora possiamo rigettare l’ipotesi nulla e concludere che c’e’ una differenza statisticamente significativa tra le due medie u1 e u2.
  • 98. Analisi discriminante • L’analisi delle funzioni discriminanti si utilizza per determinare quali variabili discriminano tra due o più gruppi distinguibili. • Per esempio, un educatore potrebbe voler stabilire quali variabili discriminano meglio tra studenti diplomati che decidono di 1. andare all’università, 2. iscriversi ad una scuola professionale, 3. non proseguire con gli studi. • L’educatore potrebbe quindi raccogliere i dati relativi a diverse variabili, prima che gli studenti ottengano il diploma. Dopo il suo conseguimento, la maggioranza degli studenti cadrà naturalmente in una delle tre categorie. L’Analisi Discriminante potrebbe quindi venire utilizzata per determinare quali variabili siano i migliori predittori della scelta successiva al diploma. 98
  • 99. Analisi discriminante • Un ricercatore medico potrebbe registrare diverse variabili riguardanti i propri pazienti, in modo da stabilire quali prevedono meglio se una persona sarà: 1. ricoverata stabilmente (gruppo 1), 2. ricoverata temporaneamente (gruppo 2), 3. non ricoverata (gruppo 3). 99
  • 100. Analisi discriminante • La variabile risposta permette di individuare dei gruppi che si cerca di riprodurre nel miglior modo possibile tramite combinazioni lineari delle variabili esplicative. In questo modo è possibile individuare l'importanza relativa di ciascuna variabile esplicativa sulla suddivisione in gruppi operata dalla variabile risposta • L’assegnazione di una nuova osservazione ad uno dei p gruppi individuati dalla variabile risposta viene effettuata tramite una combinazione lineare delle k variabili antecedenti tale da rendere massima la separazione tra i p gruppi • Il criterio per individuare i vettori ai consiste nel richiedere che sia massima la differenza tra le medie dei valori w all’interno dei p gruppi. 100 L'assegnazione di una nuova osservazione ad uno dei p gruppi individuati dalla variabile risposta viene effettuata tramite una combinazione lineare delle k variabili antecedenti tale da rendere massima la separazione tra i p gruppi kk xaxaxaw +++ L2211
  • 101. Analisi discriminante • Quale e’ la variabile che meglio discrimina le due specie (gruppi) versicolor e setosa del genere Iris? • L’analisi discriminante indica la lunghezza/larghezza del petalo. 101Iris versicolorIris setosa
  • 102. Albero decisionale • E’ una delle tecniche di classificazione maggiromente utilizzate che permette di rappresentare con un albero un insieme di regole di classificazione • Struttura gerarchica che consiste in un insieme di nodi, correlati da archi (rami) orientati ed etichettati • Ciascun percorso radice-foglia rappresenta una regola di classificazione • La variabile risposta puo’ essere sia continua (regression tree) che categorica (classification tree) 102
  • 103. Applicazioni decision tree • Classificazione tendenze di mercato • Identificazione automatica di immagini • Identificazione del rischio in mutui/assicurazioni • Efficacia di trattamenti medici 103
  • 104. Albero decisionale 104 Risposta soleggiato nuvoloso pioggia vento Supponiamo di voler sapere in anticipo che tempo’ fara’ in modo da poter giocare a tennis (risposta : P=play and N=no) . In questo casi abbiamo 4 attributi o predittori (outlook, temperature, humidity, windy).
  • 105. Albero decisionale 105 No tennis No tennisSi tennis Si tennis Si tennis radice foglie
  • 106. Steps nella costruzione di un tree 106 Tecnica Romana: Conquista e dividi
  • 107. Information Gain • In base a quale parametro decidiamo il migliore split di una variabile? • Esistono diverse possibilita’.Tra queste abbiamo l’information gain • Ritorniamo all’esempio del tennis considerando l’attributo windy. Esso puo’ assumere 2 valori: false e true. • La risposta puo’ avere 2 diversi valori: N e P 107 Windy 2N, 6P 3N, 3P 68 false true
  • 108. Information Gain 108 In accordo con la teoria dell’informazione possiamo calcolare l’entropia associata alla variabile windy:   i ipipE )(log)( 2 94.0 14 5 log 14 5 14 9 log 14 9 )( 22 wE in quanto ci sono 9 P e 5N in totale 81.0 8 6 log 8 6 8 2 log 8 2 )( 22 falseE 1 6 3 log 6 3 6 3 log 6 3 )( 22 trueE
  • 109. Information Gain 109 Adesso passiamo a calcolare il guadagno di informazione: 048.0)1 14 6 81.0 14 8 (94.0 +G     + )( # )( # )()( trueE total true falseE total false wEwG Lo stesso calcolo viene fatto per tutti gli altri attributi e quello con il valore piu’ alto di gain viene scelto come radice. La stessa procedura e’ applicata ad ogni ramo fino a quando non si raggiunge lo stesso valore. In parole semplici l’algoritmo tende a massimizzare la differenza tra le medie dei gruppi e a minimizzare la deviazione standard all’interno dei gruppi.
  • 110. Test set • Una volta costruito l’albero cioe’ il modello, esso va applicato al test set cioe’ all’insieme di dati mai visti dall’algoritmo (esso ha visto solo il training set per imparare - induzione) per determinare la sue capacita’ predittive (deduzione). 110
  • 111. Tree map • Un diverso albero e’ il cosiddetto tree map 111 •Tree maps sono utili per osservare dei patterns tra gruppi con molti livelli. • Un tree map puo’ indicare l’intenista’ di una misura con la dimensione o il colore di un’area rettangolare • Usare i tree maps quando i dati contengono molte categorie da visualizzare .
  • 112. Ensemble learning • Tra gli svantaggi del decision tree vi e’ l’instabilita’ dei risultati (ripetibilita’). • Per superare questa limitazione sono state proposte delle tecniche chiamate Ensemble Learning che cercano di fornire una soluzione. • L’idea di base e’ di perturbare ripetutamente il dataset di partenza in modo da crescere un numero elevato di alberi (n classificatori), combinando infine i risultati ottenuti • E’ stato dimostrato che le previsioni ottenute sono piu’ accurate e stabili di quelle ottenute crescendo un solo albero • Le tecniche di Ensemble Learning maggiormente conosciute sono: • Bagging (Breiman 1996) • Boosting (Freund and Schapire 1996) • Random forest (Breiman 2001) 112
  • 113. Ensemble learning • Con l’introduzione degli Ensemble Learning sono state sviluppate le cosiddette misure di importanza (Variable Importance Measure) • Tramite queste misure si ottiene un ranking delle variabili, dalla piu’ importante a quella meno importante (scoring) • In presenza di un dataset con un numero elevato di variabili e’ interessante utilizzare tale tecniche per circoscrivere il sottoinsieme di variabili maggiormente esplicative del fenomeno esaminato (variables reduction). 113
  • 114. Ensemble learning • Come combinare i risultati dei diversi classificatori? • Normalmente mediante una media pesata • Questo comporta una migliore accuratezza e una maggiore resistenza al rumore • A costo pero’ di un tempo di elaborazione piu’ lungo e maggiore sensibilita’ all’overfitting 114
  • 116. Ensemble learning • Esempio Bagging • Dato un insieme di addestramento D, generiamo n insiemi di addestramento Di (|Di|  |D|) • Ciascun insieme di addestramento Di viene generato campionando esempi da D in modo uniforme (estratti con rimpiazzo) • Tecnica di Bootstrapping • Addestriamo n classificatori sugli n insiemi di addestramento ottenuti • Si mediano i risultati sui vari classificatori (se l’output è reale) oppure si applica una tecnica di voting (se l’output è basato su classi) 116
  • 117. Ensemble learning • Esempio Boosting • Può un insieme di classificatori “deboli” formare un classificatore “forte”? • Il Boosting fornisce una risposta • I classificatori vengono prodotti in sequenza • Ciascun classificatore dipende dal precedente e tenta di migliorarne gli errori • Gli esempi classificati in modo erroneo dai classificatori precedenti sono scelti più spesso o pesati maggiormente 117Back
  • 118. Clustering • La cluster/segmentation/sorting analysis e’ un insieme di tecniche per raggruppare oggetti in classi tra loro omogenee, ossia con caratteristiche simili: alta similarita’ intra-classe e bassa similarita’ inter-classe • Le possibili applicazioni sono: • Ricerche di mercato • Segmentazione della clientela • Analisi dei social media • Identificazione degli outliers • Esempio: in un database di correntisti di una banca ci chiediamo quali attributi simili conesntono di raggruppare i clienti, quali differenze tra i valori degli attributi (tipo conto, sesso, eta’ ecc..) segmentano il database 118
  • 119. Applicazioni clustering • Identificazione di popolazioni omogene di clienti in database di marketing • Valutazione dei risultati di esperimenti clinici • Identificazione delle societa’ con comportamento simile di crescita (similarity search) • Identificazione di azioni con andamento simile (similarity search) • Identificazione di porzioni di onde sismiche non simili per determinare irregolarita’ geologiche • Identificazione di persone con voci simili (similarity search) 119
  • 121. Che cosa e’ la somiglianza? 121 Quale e’ il naturale raggrupamento di questi oggetti? Famiglia Simpson Impiegati della scuola Donne Uomini Il clustering e’ soggettivo
  • 122. Che cosa e’ la somiglianza? 122 L’essere somigliante, simile, sia nell’aspetto esteriore, sia per aspetti, qualità, caratteri intrinseci (Treccani) La somiglianza e’ difficile da definire ma noi sappiamo riconoscerla ... Il significato reale della somiglianza e’ una questione filosofica. Ma noi dobbiamo considerare un approccio piu’ pragmatico.
  • 123. Definizioni di distanza 123 Distanza tra due elementi in uno spazio euclideo 2D d(x, y)= (x1 - y1)2 +(x2 - y2 )2 Distanza tra due elementi in uno spazio euclideo ND d(x, y) = i=1 n å (xi - yi )2 Centroide di un gruppo (2D): c(a1,a2, … aM) M oggetti di coordinate (x,y) c ai,x i=1 M å M , ai,y i=1 M å M æ è ç ç ç ç ö ø ÷ ÷ ÷ ÷
  • 124. 2 tipi di clustering • Algoritmi di partizione: costruisce varie partizioni per poi valutarle in base a certi criteri • Algoritmi gerarchici: creano una decomposizione gerarchica degli oggetti usando dei criteri appropriati 124 Gerarchico Partizionale o K-means in questo caso richiedo a priori di avere 2 gruppi dendogramma
  • 125. Gerarchico – Es. di dendogramma 125(Bovine:0.69395, (Spider Monkey 0.390, (Gibbon:0.36079,(Orang:0.33636,(Gorilla:0.17147,(Chimp:0.19268, Human:0.11927):0.08386):0.06124):0.15057):0.54939);
  • 126. Patterns spuri.... • A volte il clustering gerarchico puo’ mostrare dei pattern insignificanti o spuri. In questo esempio il raggruppamento di Australia, Anguilla, St. Helena ecc... e’ significativo in quanto tutti questi paesi presendentementi erano delle colonie inglesi. • Il raggruppamento di Niger e India e’ completamente spurio (insignificante) in quanto non c’e’ alcuna connessione tra di loro. C’e’ solo una somiglianza di colori. 126 ANGUILLAAUSTRALIA St. Helena & Dependencies South Georgia & South Sandwich Islands U.K. Serbia & Montenegro (Yugoslavia) FRANCE NIGER INDIA IRELAND BRAZIL
  • 127. Numero di clusters • Guardando al dendogramma e’ possibile determinare il corretto numero di clusters. In questo esempio i due sotto- alberi sono ben separati suggerendo che il numero di gruppi sia 2 (ma le cose non sono sempre cosi facili) 127
  • 128. Outliers • Un altro potenziale uso dei dendogrammi e’ quello di identificare gli outliers 128 Outlier Un ramo singolo isolato suggerisce che si tratti di un outlier cioe’ di un punto completamente diverso da tutto il resto.
  • 129. L’algoritmo gerarchico 129 Non e’ possibile testare tutti gli alberi. Ci deve essere un algoritmo per effettuare una ricerca euristica di tutti i possibili alberi. Due modi: Bottom-Up (agglomerativo): Parte con ogni oggetto considerato come un cluster e poi tende a formare dei gruppi sempre piu’ grandi. Top-Down (divisivo): Parte con tutti i dati in un singolo cluster e poi cerca di formare dei sotto clusters piu’ piccoli. Il numero di dendogrammi con n foglie = (2n -3)!/[(2(n -2)) (n -2)!] N. foglie N. possibili dendogr. 2 1 3 3 4 15 5 105 ... … 10 34,459,425
  • 130. L’algoritmo gerarchico • Sappiamo come calcolare la distanza tra due oggetti. Ma come facciamo se abbiamo dei clusters o un oggetto e un cluster? Abbiamo 4 possibilita’: 130 Single linkage (nearest neighbor): con questo metodo la distanza tra 2 clusters e’ determinata dalla minima distanza tra gli oggetti dei due diversi clusters. Complete linkage (furthest neighbor): con questo metodo le distanze tra clusters vengono calcolate considerando la piu’ grande distanza tra qualsiasi 2 oggetti di clusters diversi. Group average linkage: con questo metodo la distanza tra due clusters e’ calcolata coem la distanza media tra tutte le coppie di oggetti nei 2 differenti clusters. Wards Linkage: con questo metodo si cerca di minimizzare la varianza dei clusters che vengono uniti insieme.
  • 131. L’algoritmo gerarchico 131 29 2 6 11 9 17 10 13 24 25 26 20 22 30 27 1 3 8 4 12 5 14 23 15 16 18 19 21 28 7 1 2 3 4 5 6 7 Average linkage 5 14 23 7 4 12 19 21 24 15 16 18 1 3 8 9 29 2 10 11 20 28 17 26 27 25 6 13 22 30 0 5 10 15 20 25 Wards linkage Single linkage
  • 132. Clustering partizionale • Si tratta di una tecnica non gerarchica. Ogni oggetto e’ posto esattamente in uno di K conosciuti gruppi. • Il numero di gruppi K deve essere inserito dall’analista. • L’algoritmo piu’ usato e’ quello K-means 132 Scegliendo K=2, cioe’ volendo due clusters, questo e’ il risultato:
  • 133. Algoritmo K-means 1. Si decide il valore di K (numero di gruppi) 2. Si parte con K centri (eventualmente randomici) 3. Si decide l’appartenenza degli N oggetti ad una delle K classi in base alla distanza tra l’oggetto e i centri dei clusters 4. Si ricalcolano i centri dei clusters con i nuovi oggetti inseriti 5. Se nessuno degli N oggetti ha cambiato la sua appartenenza ai gruppi nell’ultima iterazione allora l’algo si ferma altrimenti ritorna al punto 3. 133
  • 134. 134 Un esempio dai semiconduttori
  • 135. 0 1 2 3 4 5 0 1 2 3 4 5 K-means Clustering: Step 1 k1 k2 k3
  • 136. 0 1 2 3 4 5 0 1 2 3 4 5 K-means Clustering: Step 2 k1 k2 k3
  • 137. 0 1 2 3 4 5 0 1 2 3 4 5 K-means Clustering: Step 3 k1 k2 k3
  • 138. 0 1 2 3 4 5 0 1 2 3 4 5 K-means Clustering: Step 4 k1 k2 k3
  • 139. 0 1 2 3 4 5 0 1 2 3 4 5 K-means Clustering: Step 5 k1 k2 k3
  • 140. Numero di clusters • Come e’ possibile stabilire a priori correttamente il numero K? • Problema ancora aperto. Comunque esistono dei metodi approssimati. Qui di seguito uno di questi. 140
  • 141. Errore quadratico 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 Funzione oggettiva
  • 142. 1 2 3 4 5 6 7 8 9 10 Quando k = 1, la funzione obiettivo e’ is 873.0 Errore quadratico
  • 143. 1 2 3 4 5 6 7 8 9 10 Quando k = 2, la funzione obiettivo e’ 173.1 Errore quadratico
  • 144. 1 2 3 4 5 6 7 8 9 10 Quando k = 3, la funzione obiettivo e’ 133.6 Errore quadratico
  • 145. 0.00E+00 1.00E+02 2.00E+02 3.00E+02 4.00E+02 5.00E+02 6.00E+02 7.00E+02 8.00E+02 9.00E+02 1.00E+03 1 2 3 4 5 6 E’ possibile riportare il grafico della funzione obiettivo verso K ( da 1 a 6 per questo caso) Il cambio repentino a K=2 suggerisce che il numero corretti di gruppi sia 2. Questa tecnica e’ conosciuta come “knee finding” k ObjectiveFunction Errore quadratico
  • 146. 146 Reti neurali  Una rete neurale artificiale definisce un modello matematico per la simulazione di una rete di neuroni biologici  Simula diversi aspetti legati al comportamento e alle capacita’ del cervello umano: 1. Elaborazione intelligente delle informazioni 2. Elaborazione distribuita 3. Elevato livello di parallelismo 4. Facolta’ di apprendimento di generalizzazione e di adattamento 5. Alta tolleranza ad informazioni poco precise (o sbagliate)
  • 147. 147 Applicazioni  Sistemi di filtraggio del segnale (es. eliminare il rumore da un segnale)  Sistemi di classificazione  Previsione di serie temporali  Riconoscimento (es. riconoscimento volto o espressioni facciali)  Sistemi di allarme e prevenzione (es. sistema per il monitoraggio del manto autostradale per allertare con sufficiente anticipo i mezzi di spargimento delle misture saline in caso di pericolo)  Diagnosi di guasto
  • 148. Rete neurale biologica • E’ costituita da un insieme di cellule nervose (i neuroni) collegati tramite fibre nervose. • Neurone: trasmissione dei segnali tra neuroni mediante impulsi elettrici • Soma: nucleo della cellula • Dendriti: ricevono le informazioni dagli altri neuroni e le trasferiscono al nucleo della cellula di input • Assone: riceve le informazioni dal nucleo cellulare e le trasferisce verso gli altri neuroni (output) • Sinapsi: punto di contatto tra l’assone di un neurone (neurone pre-sinaptico) e il ramo dendritico di un altro neurone (neurone post-sinaptico) 148
  • 149. Neurone post-sinaptico • Il comportamento di un neurone post-sinaptico puo’ essere riassunto come: • Comportamento passivo Segnali ricevuti di piccola intensita’ (variazione di potenziale di pochi mV)  impulso non generato • Comportamento attivo Segnali ricevuti di elevata intensita’ (variazioni di potenziale>soglia)  generazione di un impulso elettrico (spike) 149
  • 150. Rete biologica vs artificiale 150
  • 151. Neurone artificiale 151 • X1 X2 … Xp inputs da altri neuroni o dall’ambiente • Gli inputs vengono pesati (wi..) • I Total Input: somma pesata di tutti gli inputs • f Funzione di trasferimento (funzione di attivazione): converte l’input in output • L’output viene inviato in cascata ad altri neuroni o ambiente f X1 X2 Xp V = f(I) w1 w2 ... wp Dendriti Corpo Assone Direzione del flusso di informazione   i ii XwI f(i) e’ la funzione di trasferimento
  • 152. Funzioni di trasferimento 152 Ci sono diverse funzioni di Trasferimento/Attivazione Tanh f(x) =(ex – e-x) / (ex + e-x) -1 1 0 1 0.5 0 1 Logistic f(x) = ex / (1 + ex) Threshold 0 if x< 0 f(x) = 1 if x >= 1
  • 153. Funzionamento di una rete 153
  • 154. Il percettrone • Il percettrone e’ la rete neurale piu’ semplcie introdotta agli inizi degli anni 50 • Classificatore binario • Funzione di attivazione = funzione segno 154
  • 156. Apprendimento • Aggiustare i pesi delle sinapsi al fine di ridurre l’errore fra il valore di output generato dalla rete neurale e l’output corretto (training set) • E’ un processo iterativo: analogamente all’apprendimento per esperienza • Proprieta’ di una rete addestrata: • E’ in grado di memorizzare informazioni imprecise o che contengono rumore, senza che venga alterata la qualita’ della risposta della rete • E’ in grado di generalizzare da concetti appresi a concetti sconosciuti 156
  • 158. Paradigma di apprendimento 158 E =  (Yi – Oi) 2 Oi Yi Aggiustamento dei pesi minimizzando l’errore E=desiderato-attuale
  • 159. Diversi algoritmi di apprendimento • Backpropagation • Kohonen • Recurrent back propagation • Radial basis function • Adaptive resonance • Probabilistic 159
  • 160. Un esempio dai semiconduttori 160 P(Class=High) 1 0 0.171331 P(Class=Low) 1 0 0.036038 P(Class=Medium) 1 0 0.79263 BIN8 19.667 118.333 37.2496 BIN9 0.56 38.5 2.30424 BINA 0 25.5 0.65726 BINI 11.48 131.833 19.4964 BINF 0 26.8 5.38787 BINV 38.24 137.292 60.194 BINH 2 14.4 3.02978 Prediction Profiler Diminuendo il BIN8 (una categoria di falimento), aumenta la probabilita’ di avere fette di silicio nella classe HighYield mentre la probabilita’ di appartenenza alla classe MediumYield tende a zero. Notare che il BIN8,9,A e BINF non hanno alcun impatto sulla classe LowYield. Solo il BINV e il BINI influenzano la probabilita’ della classe LowYield.
  • 161. Aggiornamento dei pesi • Metodo di discesa del gradiente • Determinare il vettore dei pesi W che minimizza la somma degli errori quadratici E • Lambda e’ detto learning rate (compreso tra 0 ed 1) • L’insieme corrente di pesi individua un punto sulla superficie di errore • In quel punto si calcola la pendenza della superficie lungo gli assi dei pesi • Si modificano i pesi di una quantita’ proporzionale alla pendenza in ciascuna delle direzioni • La rete si sposta nella direzione della discesa piu’ ripida lungo la superficie di errore (direzione negativa del gradiente) • L’algoritmo termina quando l’errore e’ minore di una certa soglia fissata 161
  • 162. Epoche di apprendimento • La rete neurale viene addestrata usando un training set • Ogni esempio viene passato attraverso la rete calcolando l’errore che varra’ usato per modificare i pesi • Il training set viene passato piu’ volte (epoca di apprendimento) • L’errore tende a diminuire durante la fase di apprendimento, all’aumentare del numero di nodi nascosti e del numero di epoche di apprendimento (cicli di training) 162
  • 163. Reti neurali complesse 163 i nodi di un livello sonocollegati solamente ai nodi del livello successivo possono esistere connessioni fra nodi dello stesso livello e i nodi di livelli precedenti
  • 164. Percettrone multilivello • La rete e’ caratterizzata da uno o piu’ livelli intermedi (nascosti) fra il livello di input e quello di output • Gli output dei nodi di un livello diventano gli input per i nodi del livello successivo • Ogni nodo nascosto si comporta come un singolo percettrone 164
  • 165. Problemi complessi • Aumentando il numero di livelli e dei nodi nascosti e a seconda delle funzioni di attivazione scelte, e’ possibile risolvere problemi di classificazione sempre piu’ complessi. • Gli esempi fanno riferimento ad una funzione a gradino simile a quella del segno 165
  • 166. Strati nascosti • Effetti degli strati nascosti sulle performance della rete neurale • Livelli nascosti • 1 livello: universal approximator (vedi teorema Cybenko) Puo’ approssimare in modo arbitrariamente preciso ogni funzione continua (avendo un numero sufficiente di neuroni) • 2 livelli: possono essere necessari per approssimare funzioni con discontinuita’ • Nodi nascosti • Non esiste un numero preciso, e’ necessario eseguire diverse prove 166
  • 167. 167 Diversi tipi di reti neurali
  • 168. SOM • Le reti Self-organizing-map sono basate su di un algorimto di training non supervisionato di tipo competitivo (il training e’ completamente guidato dai dati e i neuroni competono tra loro) • La SOM e’ costituita da un insieme di neuroni disposti regolarmente su una griglia 1 o 2 dimensionale • Ogni neurone e’ rappresentato da un vettore n-dimensionale • Ciascun neurone e’ connesso con quelli adiacenti mediante una funzione di vicinanza che determina la topologia della mappa • Molto utili come modelli di clustering unsupervised 168
  • 169. SOM • Nel caso 2D i neuroni della mappa possono essere disposti su di un reticolo rettangolare o esagonale • Training basato su apprendimento di tipo competitivo • Ad ogni passo del training, viene scelto un vettore X dall’insieme dei dati di input e viene calcolata una misura di similarita’ tra esso e tutti i vettori peso della mappa. • La Best Matching Unit (BMU) e’ il neurone il cui vettore peso ha il piu’ alto grado di similitudine con il vettore di input X 169
  • 170. Esempio dai semiconduttori 170 Self organizing neural net map. Useful to identify correlations among subgroups of multiple variables. 0 5 10 15 20 25 30 __AA 10 20 30 40 50 60 70 80 90 100110 130 __VV Linear Fit __AA = 2.9364003 + 0.0464602 __VV RSquare RSquare Adj Root Mean Square Error Mean of Response Observ ations (or Sum Wgts) 0.108582 0.104233 2.721511 4.593585 207 Summary of Fit Model Error Source 1 205 DF 184.9476 1518.3578 Sum of Squares 184.948 7.407 Mean Square 24.9706 F Ratio Prob > F Analysis of Variance Linear Fit Bivariate Fit of __AA By __VV 0 5 10 15 20 25 30 __AA 0 25 50 75 100 125 150 __VV Linear Fit __AA = -2.048697 + 0.2191804 __VV RSquare RSquare Adj Root Mean Square Error Mean of Response Observations (or Sum Wgts) 0.916909 0.913941 1.204329 8.640167 30 Summary of Fit Linear Fit Bivariate Fit of __AA By __VV __AA 1 2 4 5 7 8 9 11 __VV 18 25 33 40 47 55 62 69 __BB 4 8 12 15 19 23 27 30
  • 171. Esempio Near infrared database 171 Spettri di sostanze ternarie e loro temperatura di test
  • 172. PCA • Principal component analsyis • Tecnica per prendere una conbinazione lineare delle variabili originali in modo che la primaria componente principale abbia la sua massima variazione, la seconda componente principale abbia la seconda massima variazione e sia ortogonale alla prima etc. 172 Se prendiamo la prima componente solo possiamo spiegare ~80% dell’originale variabilita’ . prendendo anche la seconda componente possiamo spiegare circa 80+16=96% della variabilita’ del campione originario . Variabili
  • 173. Riduzione campione • Se consideriamo solo la prima componente possiamo ridurre il campione da 6 variabikli a 1 variabile riuscendo comunque a spiegare ~80% della variabilita’. • La nuova variabile e’: prn1=0.34887*Zeth+0.37314*Zoct+0.43187*Zccl4+0.44552*Zc6c6+0.42231*Zhex+0.41919*Zchcl3 • Dove Z indica la variable standard. Per es. Zeth=(eth- avg(eth))/std(eth) • Ma come funziona? 173
  • 174. PCA 174 Supponiamo di avere due variabili A e B con 8 records e di essere interessati a determinare 2 componenti principali.               i j j i BiAi AB BA AB N x and N yx with r 1 2       Correlation coefficient covariance
  • 175. PCA 175 La media e std della variabile A sono 0.875 e 0.112 rispettivamente. Per la variabile B abbiamo 7.75 e 1.199. La covarianza di AB e’ 0.0885. Quindi la matrice di correlazione e’ data da: La traccia e il determinante di questa matrice e’ data da: 567.0658.01)det(2)( 2   BAABBBAA i ii RandRTr  Calcoliamo adesso gli autovalori lambda di R. Per fare questo dobbiamo calcolare la seguente equazione:   0det  IR  dove I e’ la matrice unitaria              1658.0 658.01 BBBA ABAA R  
  • 176. PCA 176 Poiche’ la matrice R e’ una matrice 2X2 la precedente equazione puo’ essere scritta come: 342.0658.1 0)det()( 21 2  +   and RRTr Una volta calcolati gli autovalori e’ possibile ottenere la variabilita’ spiegata da ogni componente: %1.17 2 342.0 %9.82 2 658.1 2 1   m m   dove m e’ la dimensione della matrice R (2X2) La maggior parte della variabilita’ puo’ essere spiegata dalla prima compnente.
  • 177. PCA 177 A questo punto si calcolano gli autovettori associati ai due autovalori calcolati. Si tratta di risolvere l seguente equazione: URU URU 2 1     dove U e’ un vettore di dimensione m (nel nostro caso 2) con norma uguale a 1 (cioe’ u1^2+u2^2=1). Per es. per la prima equazione di sopra: 221 121 658.1658.0 658.1658.0 uuu uuu + + 707.0 2 1 2121  uuuu essendo la norma di U=1. Questo significa che la prima componente e’ data da: dove ZA e ZB sono le variabili standard associate ad A e B BA ZuZuprn + 211
  • 178. Regole associative • Le regole associative sono algoritmi per trovare associazioni e/o correlazioni tra records in grandi database. • Queste regole mostrano quegli attributi che capitano piu’ frequentemente insieme. • Per esempio quanto spesso un cliente al supermercato compra il sapone insieme al dentrificio. • Le regole associative forniscono informazioni della forma “if-then”. Queste regole vengono generate a partire dai dati e diversamente dalle regole logiche, sono di natura probabilistica • Sono semplici ed intuitive e trovano frequente applicazione nelle analisi di transazioni commerciali (market basket analysis). 178
  • 179. Struttura e valutazione • Date due proposizioni Y e Z, una regola è una implicazione del tipo Y ⇒ Z. • Y ⇒ Z, significa che seY è vera, allora anche Z è vera. • Una regola si dice probabilistica se la validità di Z è associata ad una probabilità p: seY è vera, allora anche Z è vera, con probabilità p. 179
  • 181. Regole associative • La frequenza empirica f(L) di un insieme L di oggetti è il numero di transazioni che contengono L • La confidenza di una regola è: L viene detto corpo della regola, H viene detto testa. • Il supporto di una regola è 181
  • 183. Generazione itemset piu’ frequenti • Il supporto di una regola dipende solo dall’insieme L ∪ H (itemset) e non dall’effettiva distribuzione degli oggetti tra corpo e testa. • Ad esempio, le sei regole che si possono generare per gli oggetti {a, b, c} hanno tutte supporto s = 2/10 = 0.2: • Se il valore di soglia per il supporto è smin=0.25, le sei regole vanno eliminate, sulla base dell’analisi dell’insieme unione. 183
  • 184. Generazione delle regole • Dopo aver generato tutti gli itemset frequenti, vanno identificate le regole forti, vale a dire quelle regole che superano una soglia di confidenza fissata. • Gli oggetti in ciascun itemset vanno separati secondo tutte le combinazioni di corpo e testa per verificare se la confidenza della regola supera una soglia pmin. • Se l’itemset è frequente, si possono quindi ricavare le regole, ma solo alcune saranno forti. 184
  • 185. Significativita’ di una regola • Per valutare la significatività di una regola si usa l’indice di lift: • Valori di l > 1 indicano che la regola è più efficace nel predire la probabilità che la testa sia contenuta in una generica transazione, di quanto lo sia la sua frequenza. • Valori di l < 1 indicano che la regola che nega la testa, è più efficace della regola iniziale. 185
  • 186. Algoritmo Apriori • Questo algoritmo e’ quello piu’ importante per le regole associative. • Esempio 186 Solo 235 perche’ 134, 25X e 35X non sono presenti support (frequenza)
  • 188. Esempio dai semiconduttori • Supponiamo di avere diverse macchine di produzione (lettere) a 4 diversi steps di processo. Supponiamo di avere 10 lotti processati su diverse combinazioni di macchine e che 4 di questi siano a bassa resa. Quale e’ il path responsabile di questi lotti “bad”? • Trattandosi di un semplice esempio e’ facile verificare che la combinazioneACE e’ responsabile della bassa resa. 188
  • 189. Esempio dai semiconduttori 189 L’algoritmoApriori evidenzia correttamente la cobinazione A, C ed E come responsabile della bassa resa con una confidenza del 100%. WEKA software
  • 190. Esempio con Decision tree 190 80% di probabilita’ che allo step3 la macchina E produca lowYield 100% di probabilita’ che allo step 1 la macchina A faccia bassa resa una volta che allo step3 sia stata utilizzata la macchina E. La combinazione ACE non viene individuata
  • 191. Esempio con Reti neurali 191 Per lo step1 la macchina A produce bassa resa con P=100%. Stessa cosa per lo step3 dove la macchina E produce bassa resa con P=100%. Ma allo step2 la macchina C non viene distinta dalla macchina D. Anche la rete non riesce ad indivuare la sequenza ACE. Back
  • 192. Support vector machines • Si tratta di un algoritmo che esegue classificazioni costruendo un iperpiano N-dimensionale che separa i dati in due categorie. Questi modelli sono molto simili alle reti neurali. Infatti un SVM usa una sigmoide come funzione di kernel ed e’ equivalente ad un percettrone a due strati. • La dimensione e’ data dal numero di variabili predittive. Per esempio con 3 variabili predittive e una variabile target l’SVM cerca di individuare il miglior piano a 2-dimensioni che divide in due classi la variabile target 192
  • 193. Un esempio in 2D • Supponiamo di voler fare una classificazione e di avere una variabile target nominale binaria. Assumiamo che ci siano due variabili predittive a valori continui. Se grafichiamo i punti usando come valore della X un predittore e comeY l’altro otteniamo un immagine come quella mostrata sotto. Una categoria della variabile target e’ rappresentata con i rettangoli mentre l’altra con degli ovali. • L’SVM tenta di trovare un iperpiano a 1-dimensione (cioe’ una linea) che separa la variabile target. Ci sono infinite rette che possono fare questo; sopra vengono mostrate due linee candidate. La questione e’: quale linea e’ la migliore e come facciamo a definire la linea ottimale? 193
  • 194. Un esempio in 2D • Le linee tratteggiate parallele alla linea separatrice individuano la distanza tra la linea centrale e i punti della variabile target. La distanza tra le 2 linee tratteggiata e’ chiamata margine. I punti che limitano l’ampiezza del margine sono chiamati vettori di supporto (support vectors). • L’algoritmo SVM trova la linea ottimale (o, in generale, l’iper-piano) in modo da massimizzare il margine. Nella figura qui sopra la situazione di destra e’ superiore a quella di sinistra. 194
  • 195. Quando le linee vanno storte • Il modo piu’ semplice per dividere 2 gruppi e’ con una linea retta, un piano o un iperpiano N-dimensionale. Ma cosa fare se i punti sono separati da una regione non- lineare come quella mostrata qui sotto? • In questo caso c’e’ bisogno di una curva separatrice non lineare 195
  • 196. Quando le linee vanno storte • Piuttosto che utilizzare delle curve non lineari, l’SVM usa una funzione kernel per mappare i dati in uno spazio diverso dove un iperpiano va bene per separare le 2 categorie. • La funzione kernel puo’ trasformare i dati in uno spazio a maggiore dimensioni per rendere possibile la separazione. 196
  • 197. Quando le linee vanno storte • Le due classi rappresentate dai cerchi e dai quadrati nello spazio di input non sono linearmente separabili, ma attraverso la funzione  kernel i punti vengono mappati in uno spazio in cui divengono linearmente separabili 197
  • 198. Quando le linee vanno storte • Il concetto della funzione kernel e’ molto potente. Essa permette ai modelli SVM di eseguire delle separazioni anche con contorni molto complessi come quelli mostrati qui sotto. • Esistono diverse funzioni kernel. Quella piu’ usata e’ la Radial Basis Function (RBF). 198
  • 199. Applicazioni SVM • Preparazione di farmaci (discriminazione tra leganti e non leganti, inibitori e non inibitori, etc) • Sensori • Ingegneria chimica • Riconoscimento volti in una foto o in un filmato • Individuazione di persone ricercate in aeroporto 199
  • 200. Reti Bayes • Le reti Bayesiane sono dei modelli grafici della conoscenza in un dominio incerto. Basandosi sulla regola di Bayes, esprimono relazioni di dipendenza condizionale (archi) tra le variabili in gioco (nodi). • Il vantaggio principale del ragionamento probabilistico rispetto a quello logico sta nella possibilità di giungere a descrizioni razionali anche quando non vi è abbastanza informazione di tipo deterministico sul funzionamento del sistema. • Le reti bayesiane possono essere utilizzate in ogni settore in cui sia necessario modellare la realtà in situazioni di incertezza, cioè in cui siano coinvolte delle probabilità. 200
  • 201. Topologia rete bayesiana • Una rete Bayesiana è un grafo in cui valgono le seguenti proprietà: 1) Un insieme di variabili casuali costituiscono i nodi della rete 2) Un insieme di archi con verso connette le coppie di nodi (Il significato intuitivo di una freccia dal nodo X al nodoY è che X ha un’influenza diretta suY) 3) Ogni nodo ha associato una tabella di probabilità condizionate che quantifica gli effetti che i “genitori” hanno sul nodo, dove per “genitori” si intendono tutti quei nodi che hanno frecce che puntano al nodo 4) Il grafo non ha cicli diretti 201
  • 202. Osservazioni ed inferenza 202 Data un osservazione E possiamo non essere certi dell’esatta causa C che l’ha provocata. Questo tipo di problema e’ classificato come “probabilita’ delle cause” e il processo che porta alla sua risoluzione e’ detto inferenza.
  • 203. Teorema di Bayes 203 A C Probabilita’ condizionata )( )( AP CAP ACP  )( )( CP CAP CAP  Teorema di Bayes )( )( AP CPCAP ACP   Assunzione Naïve ADPACPABPABCDP 
  • 204. Esempio dai semiconduttori • Supponiamo di avere 4 steps di processo e delle macchine rilasciate ad ogni spes indicate con le lettere. • La classe e’ la resa dei lotti a fine linea (low e high) • Vogliamo sapere quale e’ la probabilita’ che il materiale processato sulle macchine A C E H appartenga alla classe Low yield • Si tratta di calcolare P(Low|A,C,E,H) 204
  • 205. Esempio dai semiconduttori P(Low|A,C,E,H)=P(A,C,E,H|Low)*P(Low)/P(A,C,E,H) Ma P(A,C,E,H|Low)=P(A|Low)*P(C|Low)*P(E|Low)*P(H|Low) per l’assunzione di indipendenza (Naive) e quindi P(A|Low)=4/4=1, P(C|Low)=4/4=1, P(E|Low)=4/4=1, P(H|Low)=2/4=0.5 P(Low)=4/10=0.4 P(A,C,E,H)=2/10=0.2 Quindi P(Low|A,C,E,H)=(1*1*1*0.5*0.4)/0.2=1 205
  • 206. Rete di Bayes (continuo) • Se un attributo e’ continuo invece che categorico la probabilita’ di avere A una volta che si sia verificato C e’ dato da • dove mu e sigma sono la media e la standard deviation della distribuzione gaussiana diA rispettivamente. C rimane categorica. 206 2 2 2 )( 2 2 1 )|(        A eCAP
  • 207. Esempio dai semiconduttori • Supponiamo adesso di voler predire la resa del materiale processato sulla combinazione di macchine B,C,G,L del tutto assente dal set di training • Si tratta di valuare le 2 probabilita’ P(B,C,G,L|Low) e P(B,C,G,L|High) 207 P(Low|B)=0 P(Low|C)=3/4 P(Low|G=0 P(Low|L)=1/4 P(Low)=4/10 P(High|B)=3/6 P(High|C)=2/6 P(High|G)=2/6 P(High|L)=2/6 P(High)=6/10 P(B,C,G,L|Low)=P(Low|B,C,G,L)*P(B,C,G,L)/P(Low)=0 P(B,C,G,L|High)= P(High|B,C,G,L)*P(B,C,G,L)/P(High)= 0.030 Poiche’ P(B,C,G,L|High)>P(B,C,G,L|Low)  Yield=High
  • 208. La rete ASIA • La rete Asia mostra in maniera efficace quali sono le potenzialita’ di una rete di Bayes. • Si tratta di una rete per la diagnosi di malattie ai polmoni. • Ad ogni nodo della rete corrisponde un comportamento del paziente o il risultato di un esame medico. 208
  • 209. La rete ASIA • Nel momento in cui si inseriscono nella rete le informazioni di un paziente in esame (sintomi e comportamento) queste si propagano nella rete aggiornando in maniera quantitativa le probabilita’ associate ai nodi non noti della rete (malattie). 209 Rete Asia prima di inserire le infos sul singolo paziente. Le probabilita’ di ciascun nodo sono calcolate dal software bayesiano a partire dalle probabilita’ a priori e condizionate inserite in fase di costruzione della rete Rete Asia dopo aver inserito le nfos sul paziente in esame. La diagnosi piu’ probabile e’ quella di tubercolosi con una probabilita’ del 62%. Le probabilita’ associate alla presenza di un tumore o bronchite sono del 12.6% e 45.9% rispettivamente.
  • 210. Un altro esempio • I nodi padre di Heart Disease indicano i fattori di rischio della malattia  Il tipo di dieta alimentare incide sulla probabilità di avere problemi di cuore • I nodi figli corrispondono ai sintomi  Avere problemi di cuore fa aumentare la probabilità di avere la pressione alta • Per i nodi che non hanno archi entranti sono definite solo probabilità a priori  Il verificarsi dell’evento non dipende da altri fattori • Per i nodi che hanno archi entranti sono definite solo probabilità condizionali  Il verificarsi dell’evento dipende da altri fattori 210 Bruciore di stomaco Dieta salutare Esercizio fisico Malattia cardiaca Dolore al pettoPressione
  • 211. Un altro esempio • Supponiamo che un paziente presenti le seguenti caratteristiche e che si voglia stimare la probabilità che soffra di problemi di cuore: Exercise=Yes Diet=Healthy HeartBurn=No BloodPressure=High ChestPain=No 211 P P
  • 212. Applicazioni • Campo medico • Risk management (per. Rischio missioni spaziali, eventi catastrofici...) • Intelligenza artificiale e robotica • Controllo produzione • Analisi di lancio di nuovi prodotti • Analisi di customer satisfaction • Analisi fattori di rischio per la sicurezza autostradale • Controllo del crimine • In campo economico (teoria dei giochi) 212 Back