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
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
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
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.
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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
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