Introduzione a Knowledge Discovery in Databases

Tecnologie di Riferimento per il
Data Mining
Marco Botta
Dipartimento di Informatica
Università di Torino
[email protected]
Slides by Botta, Saitta, Malerba
Knowledge Discovery in Databases e Data Mining
KDD → Termine derivato dal titolo di un workshop organizzato
da Piatetsky-Shapiro nell’ambito del Machine Learning
(Detroit, 1989)
“Knowledge discovery in databases is the
non-trivial process of identifying valid, novel,
potentially useful, and ultimately understandable patterns in data”
“Knowledge is in the eye of the beholder”
[Fayyad, 1996]
DM → Termine usato inizialmente in Statistica (“data fishing”)
per denotare l’analisi esplorativa di dati in assenza di ipotesi a priori
Slides by Botta, Saitta, Malerba
Knowledge Discovery in Databases and Data Mining
“Knowledge discovery in databases is the
non-trivial process of identifying valid, novel,
potentially useful, and ultimately understandable
patterns in data”
Result
Interpretation
[Fayyad, 1996]
Data
Mining
Data
Pre-processing
Data
Collection
“Knowledge is in the eye
of the beholder”
[Fayyad, 1996]
Slides by Botta, Saitta, Malerba
Le quattro caratteristiche del KDD
_
Linguaggio di alto livello
_
_
Accuratezza
_
_
ciò che si scopre deve rispecchiare accuratamente il contenuto della
base dati. Misure di incertezza esprimono il livello di attendibilità
della conoscenza estratta
Risultati interessanti
_
_
la conoscenza scoperta è rappresentata in un linguaggio di alto
livello, in modo che possa essere compresa dall’utente umano
la conoscenza scoperta è interessante rispetto a criteri espressi
dall’utente. In particolare, questo implica che i pattern sono nuovi e
utili e il processo di scoperta è non babale
Efficienza
_
il processo di scoperta è efficiente. I tempi di risposta sono
predicibili e accettabili
Slides by Botta, Saitta, Malerba
The “Value Chain”
Decisione
Conoscenza
• Una quantità Y del prodotto
A è usata per lo più nella
regione Z
• I clienti di classe Y usano
x% di C durante il periodo D
• Promuoviamo il prodotto A
nei negozi della regione Z
• Spediamo i cataloghi alle
famiglie di profilo P
• Offriamo dei servizi addizionali
ai clienti C
Information
• X vive in Z
Data
• S ha Y anni
• X ed S hanno traslocato
• W ha del denaro in Z
• Stile di vita
• Punto di vendita
• Dati demografici
• Dati geografici
Slides by Botta, Saitta, Malerba
Natura degli Approcci
Ogni forma di analisi cerca di ridurre una grande massa di dati grezzi e informi a pochi
concetti e relazioni chiari e facilmente interpretabili
• Approcci “Verification-Driven”
Top-Down
Analisi “passiva”, atta a verificare se un certo modello (ipotesi) è coerente con i
dati a disposizione. L’ipotesi o il modello sono formulati dall’utente sulla base
della sua esperienza
• Approcci “Discovery-Driven”
Bottom-Up
Analisi “attiva”, in cui i dati stessi suggeriscono possibili ipotesi sul significato
del loro contenuto. Individuazione di fatti significativi, relazioni, tendenze,
pattern, associazioni, eccezioni e anomalie, che sfuggono all’analisi manuale per
la loro complessità
Slides by Botta, Saitta, Malerba
Approcci “Verification-Driven”
• “Query & Reporting”
• Foglio Elettronico
• Analisi multidimensionale
• Analisi statistica
• Raccolta dei dati
• Generazione di una ipotesi
• Formulazione di una domanda
• Interpretazione dei risultati e revisione dell’ipotesi
...... finchè non emerge un “pattern” interessante
Slides by Botta, Saitta, Malerba
Approcci “Discovery-Driven”
• Riconoscimento di Forme
• Intelligenza Artificiale
• Metodologie integrate
• Visualizzazione
Conoscenza
del dominio
Apprendimento automatico
simbolico
Reti neurali
Algoritmi Genetici
Reti Bayesiane
Apprendimento
Dati
Storici
Modello
Nuovi
Dati
Slides by Botta, Saitta, Malerba
Approcci “Verification-Driven” : Query & Reporting e
Foglio Elettronico
KDD Query : Più o meno sofisticati linguaggi SQL
“Di quali prodotti si sono venduti più di 400 esemplari
in regioni dell’Italia Meridionale?
Il foglio elettronico presenta informazioni in forma tabulare e offre una grande
quantità di funzioni analitiche e descrittive
PRODOTTI
Letti
Armadi
Divani
Cucine
Letti
Armadi
Divani
Cucine
Letti
Armadi
Divani
Cucine
MERCATI
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
VENDITE
123
892
453
562
457
321
676
231
256
324
787
426
PRODOTTI
Divani
Cucine
Divani
Cucine
MERCATI
Basilicata
Calabria
Calabria
Basilicata
VENDITE
453
562
676
426
Slides by Botta, Saitta, Malerba
Approcci “Verification-Driven”: Analisi Multidimensionale
L’analisi multidimensionale supporta l’interattività
C
I
T
T
C2
VENDITE ⇒ Dimensioni : PRODOTTI, CITTA’, DATE
A
C5
C4
C3
Industria
Stato
Categoria
Regione
Prodotto
Città
Anno
C1
P1
P
R
O
D
O
T
T
I
Trimestre
P2
P3
P4
Mese
Settimana
18
P5
Data
P6
Aggregazioni
P7
P8
d1
d2
d3
d4
d5
d6
d7
(Drill-Down / Roll-Up)
DATE
Slides by Botta, Saitta, Malerba
Approcci “Verification-Driven”: Analisi Multidimensionale
Dimensioni nelle MDDB: Celle con valori numerici o “ null”
Variabili nelle MDDB : Indipendenti o derivate
PRODOTTI
Letti
Armadi
Divani
Cucine
Letti
Armadi
Divani
Cucine
Letti
Armadi
Divani
Cucine
MERCATI
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
Calabria
Lazio
Basilicata
VENDITE
123
892
453
562
457
321
676
231
256
324
787
426
Consolidamento
Pre-aggregazione dei dati e
memorizzazione dei risultati
MERCATI
PRODOTTI
Letti
Armadi
Calabria
123
324
Lazio
457
892
Basilicata
256
321
Divani
676
787
453
MERCATI
PRODOTTI
Letti
Armadi
Divani
Cucine
Totale
Calabria
123
324
676
562
1685
Lazio
457
892
787
231
2367
Basilicata
256
321
453
426
1456
Totale
836
1537
1916
1219
5508
Slides by Botta, Saitta, Malerba
Approcci “Verification-Driven”: Analisi Statistica
✿
✿
✿
✿
✿
✿
✿
Progetto di Esperimenti e Campionamento
Statistica Grafica
Riduzione della dimensionalità
✿
Aggregazione
✿
Analisi delle componenti principali
✿
Analisi fattoriale
Test di ipotesi
“Model ranking”
Modellizzazione (Classificazione, Regressione)
“Esploratory Data Analysis”
✿
Individuare caratteristiche di insieme dei dati
✿
Individuare “outlier”
✿
Generazione di Ipotesi (Clustering)
Scelta dei dati
Visualizzazione
Selezione e
costruzione di feature
Validazione del modello
Confronto di modelli
Calibrazione del modello
Costruzione del modello
Slides by Botta, Saitta, Malerba
Ambiente di Sviluppo del KDD
• Pre-Processing
•
•
•
•
Data cleaning
Selezione degli attributi
Discretizzazione attributi numerici
Setting dei parametri
• Integrazione stretta con le metodologie delle Basi di Dati
•
Estensione del linguaggio SQL
• Visualizzazione
•
•
Rotazione delle “2-D Views”
Metodi di grafica sofisticata
Slides by Botta, Saitta, Malerba
Pre-Processing
Tecniche di Pre-processing
Trasformazione
dei dati
Raccolta di ulteriori
informazioni
Generazione di nuova
informazione
• Filtraggio
• Visualizzazione
• Aggiunta di feature
• Ordinamento
• Eliminazione di dati
• Editing
• Selezione di dati
• Costruzione di
feature
• Modello del
rumore
• PCA
• Sampling
• Fusione di dati
• Simulazione
• Analisi
dimensionale
Slides by Botta, Saitta, Malerba
Pre-Processing
Problemi nei Dati
Troppi dati
Troppo pochi dati
Dati frammentati
• Dati rumorosi
• Valori mancanti
• Dati incompatibili
• Dati irrilevanti
• Attributi mancanti
• Sorgenti multiple
• Dati di grande
dimensionalità
• Pochi dati
• Granularità diversa
• Dati numerici
continui
Slides by Botta, Saitta, Malerba
Feature Selection
• Trovare il miglior sottoinsieme di attributi è un problema
esponenziale
• Metodo di ricerca
•
•
C ompleta
Euristica (“greedy”)
Aggiunta di attributi (Increasing)
• Eliminazione di attributi (Decreasing)
•
• Approccio
•
•
“Wrapper” (dipende dall’algoritmo di apprendimento)
“Filter” (non dipende dall’algoritmo apprendimento)
• Costruzione di nuove feature
Slides by Botta, Saitta, Malerba
Task di Data Mining
✿
Classificazione
✿
Clustering / Segmentazione
✿
Riassunto / Caratterizzazione
✿
Dipendenze funzionali / Regressione
✿
Scoperta di Associazioni / Causalità
✿
Individuazione di Anomalie
✿
Analisi di Serie Temporali
Slides by Botta, Saitta, Malerba
Classificazione
Debito
No prestito
o
o
x
o
x
x
x
x
o
x
x
o
o
o
Problemi tipici affrontati
o
o
x
o
x
x
o
Prestito
o
Individuazione di frodi
Concessione di crediti
o
Reddito
Slides by Botta, Saitta, Malerba
Clustering
Distanza
• • • ••
• • • • • • •• • •
•
•
• •• • • • • • •
• •
• • • •
• •
•
• •• •
• •
Densità
• • • • •• ••••
• • •• •• •• ••••• • • •• •
• • •• •• •
• • ••
• •
• •
• •
•
•
•
•
•
•
• •
•
•
•
•
•
Forma
(“Gestalt”)
••
•
•
••
•
•
•
•
••
••
• • • •• • • • •
Slides by Botta, Saitta, Malerba
Segmentazione
La segmentazione consiste nell’analizzare attuali o potenziali gruppi di clienti
(“segmenti”) per scoprirne caratteristiche e comportamenti che possano essere
sfruttati nel mercato.
La segmentazione porta una organizzazione a vedere, al limite, ognuno dei suoi clienti
come un “segmento unitario” (“segment of one”), al fine di stabilire con esso una
relazione altamente personalizzata.
Due problemi basilari del marketing
✿
Capire le cause dell’abbandono dei clienti (“customer attrition”)
✿
Individuare nuove fette di mercato (“target marketing” e “cross selling”)
Slides by Botta, Saitta, Malerba
Riassunto / Caratterizzazione
C1
• • • ••
• • • • • • •• • •
•
•
• •• • • • • • •
• • •• • • • •
•
• •
•
••• • • • • • •
• • •
• •
•• • •
• •
• • •• • •
•
• • •• ••
• • •
D1
Perché sono stati raggruppati?
Che cosa hanno in comune?
• •
•• • • • •
••
• •
•
C3
•
• •• • • • • • •
•• • • • •
• •
•
• •
••
• • •• •
• •• •• • •
• • ••
•
C2
D2
D3
Slides by Botta, Saitta, Malerba
Riassunto / Caratterizzazione
Descrizione compatta di un insieme di dati
Anni di Studio
y
• • Frequent flyers
• • • •
• • •
•
20
15
10
+
+ +
+ ++
++
+ +
5
x
Media
Deviazione standard
0
0
10
20
Skate-boarders
30
40
50
Età
• Persone di mezza età e istruzione universitaria
+ Ragazzi con basso livello di istruzione
Slides by Botta, Saitta, Malerba
Dipendenze funzionali / Regressione
Individuazione di legami funzionali tra variabili che occorrono in una base di dati
Dato un insieme E = {e1, ... , en}, di elementi
descrivibili mediante i valori degli attributi A = {x1, ... , xk}, il task di regressione
assegna ad ogni elemento ei dell’insieme E un valore di una variabile continua f
DM -> Inferisce una “funzione di regressione” direttamente da un sottoinsieme dei
dati (“esempi di apprendimento”)
∀ ei :
f = f(x1, ... , xk)
y = Debito
x
xi
yi
x
x
y (xi )
x
x
x
x
x
n
x
x
x
x
x
x
x
x
x
y
x
∑ [y i ] − fpr (x i )]2
x
i =1
x
x
xi
+ +
+ +
+ ++
+ +
++ + +
+
+ + +
+
+
+
+ +
+
+ + +
+
+
x
x = Reddito
Slides by Botta, Saitta, Malerba
Scoperta di Associazioni
Scoperta di associazioni tra fatti, proprietà o valori di variabili (“Link analysis”)
Il 72% degli acquirenti di insalata verde, acquista anche un condimento
Problema tipico
Market Basket Analysis
1/7/99
2/7/99
Pane
Riso
Pesche
Pane
Uova
Carne
Spaghetti
Pesche
… ...
… ...
scontrino
… … ...
{Pane, Pesche}
scontrino
Slides by Botta, Saitta, Malerba
Individuazione di Eccezioni
Individuazione di valori devianti dai “normali”
(Eccezioni, Casi particolari, Errori)
• • • ••
• • • • • • •• • •
•
•
• • • • • • • •• ••
• • •••
• ••• •• • • •
• •
• • • • •
• •
• •• •• • • • • •
•
n
I.Q. Test score
••
•
••
• •
•
✕
• •
•
N
• •
• •• •• • • •
• • •• •• • • •
•
•
n << N
Età
Slides by Botta, Saitta, Malerba
Individuazione di Anomalie
Individuazione di valori devianti dai “normali”
Anni di Studio
Anni di Studio
•
•+
• • • •
• • •
•
20
15
10
15
10
+
+ +
+
• ++ +
+
+ +
5
0
0
10
20
•+•+
• ••• •+•++ •
• ••• •
20
+
++ +
+++ ++
+ ++
+ ++
5
30
40
50
Età
0
0
10
20
30
40
50
Età
Occorre definire che cosa vuol dire “normale”
Slides by Botta, Saitta, Malerba
Analisi di Serie Temporali
✿ Individuazione di conformazioni o episodi interessanti
✿ Analisi di tendenze
✿ Scoperta di periodicità o fenomeni “stagionali”
Periodicità
Episodio
Trend
Volume di vendite di Giacche a vento
20
15
10
5
0
Gen Feb Mar Apr Mag Giu Lug Ag Set Ott Nov Dic
Gen Feb Mar Apr Mag Giu Lug Ag Set Ott Nov Dic
Mesi
Tempo
Slides by Botta, Saitta, Malerba
Discipline Rilevanti per il Data Mining
✿ Statistica
✿ Riconoscimento di Forme
✿ Intelligenza Artificiale
Apprendimento Automatico
✿ Reti Bayesiane
✿ Agenti Intelligenti
✿ Basi di Dati
✿ Query and Reporting
✿ “Data Warehousing” → OLAP
✿ Visualizzazione
✿ Grafica
✿ Ambienti multi-mediali
✿ Scienze Cognitive
✿
Slides by Botta, Saitta, Malerba
Relazioni tra Discipline
y
Task
condivisi
Machine
Learning
Statistica
x
a
x = Progetto di esperimenti
Goal
condivisi
b
y = Apprendimento di piani
a = Stima dell’errore
b = Classificazione
Slides by Botta, Saitta, Malerba
Analisi Statistica: Analisi Discriminante
Funzione discriminante
Debito
o
No prestito
o
x
x
x
x
o
o
o
o
o
x
o
x
x
o
x
x
o
x
o
Prestito
o
o
y
o
+
o o
Classe A
+ o o
+ +
o
++
+ o
o
+
o
+
o
o
+
+
+
Classe B
+ o o
o
+
x
Reddito
Lineare
Prestito : y - a x - b < 0
Non Lineare
Classe A :
y - a x2 - b > 0
Slides by Botta, Saitta, Malerba
Analisi Statistica: Clustering
Algoritmo k-Means
Il numero K di cluster desiderato deve essere fornito dall’utente
Funzione distanza
Funzione obbiettivo da ottimizzare :
+ +
+
+ ++ + +
+
++ +
+
+ + + +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ +
+ + ++ +
+ ++
+ +
+
+ +
+
+
+
+ +
+ + + ++ +
+
++ +
+
+ +
+
+
+ + +
+
+ + ++ +
+
++ +
+ +
++ + +
+ + +
+ +
+ +
+ +
+
+ +++ + +
+
+
+ + + ++ + ++ + +
+ ++ + +++ ++ +
+ + ++ +
+
+ +
+ + ++
+
+ + ++
+
+ + +
+
+
+ +++ + +
+ ++ ++ ++ + ++ + +
+
+ ++ + +++ ++ +
+ + ++ +
+
+ +
+ +
+ +
+ ++
+ +
+
+ + ++ +
+
+ + +
+ +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
Massimizza la distanza inter-cluster e minimizza la distanza intra-cluster
Slides by Botta, Saitta, Malerba
Riconoscimento di Forme: Classificazione
Approccio Statistico
Funzione di discriminazione probabilistica
Classificatore Bayesiano
Classificatore di Massima Verosimiglianza
+ o
+ o o
+ oo
+ +
+ + + + + oo
+
+ + + o o
++
o
o
+ + + o o
o
r
Pr{A | x} =
r
Pr{x | A} P(A)
r
r
Pr{x | A} P(A) + Pr{x | B} P(B)
r
Pr{B | x} =
r
Pr{x | B} P(B)
r
r
Pr{x | A} P(A) + Pr{x | B} P(B)
A

 Pr{A |

 Pr{A |

B
r
r
x} = Pr{B | x}
r
r
x} P(A) = Pr{B | x} P(B)
Slides by Botta, Saitta, Malerba
Riconoscimento di Forme: Classificazione
Approccio Basato su Casi “Case-Based”
Debito
o
No prestito
k-Nearest Neighbours
o
x
x
x
x
x
x
x
o
o
x
x
x
o
o
o
o
o x
o
o
o
Prestito
o
Reddito
Slides by Botta, Saitta, Malerba
Reti Neurali
Una rete neurale è una struttura composita, formata da elementi
computazionali semplici, connessi secondo una topologia “a strati” =>
Approssimatori universali di funzioni
Unità di ingresso
Unità Nascoste
Unità di Uscita
Slides by Botta, Saitta, Malerba
Reti Neurali: Funzioni Elementari
x1
x2
x3
w1
x =Σ i (xi wi)
w2
Σ
y
σ
w3
σ
Uscita
Ingresso
Slides by Botta, Saitta, Malerba
Reti Neurali: Addestramento
Algoritmo di “Backpropagation”
Minimizza l’errore quadratico totale
Se la rete è a più strati, l’errore viene propagato “indietro”
x1
xk
Rete (W)
y
xn
E=
1 n
∑ (t k − y k )2
2 k= 1
wj = − η
∂E
∂w j
η = Velocità di apprendimento
Slides by Botta, Saitta, Malerba
Intelligenza Artificiale: Apprendimento Automatico
Simbolico
✿
Alberi di Decisione
✿
Regole di Produzione
✿
Reti Bayesiane
✿
Gerarchie Concettuali
Slides by Botta, Saitta, Malerba
Alberi di Decisione
Date due classi P ed N
Dati p ed n esempi di apprendimento
Dato un insieme di Attributi A
Generare una partizione dello spazio dei possibili esempi, usando un criterio euristico
di qualità
(p,n)
S
A
a1
S1
(p , n )
1 1
.......
.......
ai
ar
.......
(p , n )
i i
Si
.......
(p , n )
r r
Sr
Slides by Botta, Saitta, Malerba
Alberi di Decisione : Esempio
Attributes
Color = {Red, Blue, Green, White}
Shaded = {Yes, No}
Shape = {Square, Triangle, Circle, Oval}
Size = {Small, Large}
(POS)
g
b
c
a
(NEG)
e
d
f
i
p
n
h
t
s
m
q
r
Slides by Botta, Saitta, Malerba
Alberi di Decisione: Apprendimento
Color
Blue
{ d,e,f,h}
{ n,q}
{ b,g}
{ m,t}
White
Red
Shape
Triangle
Square
{f}
{e}
{ q}
{f}
{ q}
Yes
Green
{ a,i }
{c}
{ p,r,s }
• • •
• • •
{f}
{a-i}
{a-i}
{ m-t}
Size
Oval
{d,h}
Circle
{ n}
Large
Small
Shaded
No
{ q}
Slides by Botta, Saitta, Malerba
Alberi di Decisione: Esempio (Classificazione)
Color
Blue
{ d,e,f,h}
{ n,q}
{ b,g}
{ m,t}
{a-i}
{ m-t}
{a-i}
White
Red
Green
{ a,i }
{c}
{ p,r,s }
Shape
• • •
• • •
Triangle
Square
{f}
{e}
{ q}
Size
Oval
Circle
{d,h}
{ n}
Large
{f}
{ q}
Nuovi Esempi
Small
Shaded
Yes
No
e1 :
(-)
e2 :
?
{ q}
{f}
Slides by Botta, Saitta, Malerba
Regole di Produzione
Regole di decisione espresse in forma logica:
Calcolo Proposizionale o Calcolo dei Predicati
(forma = quadrato ∨ triangolo) ∧ (dimensione = piccolo) ⇒ POS
(forma = triangolo) ∧ (tratteggiato = SI) ⇒ NEG
Classificazione
?
NEG
POS, NEG
POS
e1
e2
e3
e4
Slides by Botta, Saitta, Malerba
Reti Bayesiane
Rete Bayesiana = Modello grafico di relazioni probabilistiche tra un insieme di variabili
Metodo per rappresentare l’incertezza nel ragionamento
Pr{frode} = 0.00001
Frode
Pr{età < 30} = 0.25
Pr{30 < età < 50} = 0.40
Età
Pr{maschio} = 0.50
Sesso
Frodi nell’uso di Carte di Credito
Benzina
Gioielli
Pr{acq. benzina| frode} = 0.2
Pr{acq. benzina| ¬ frode} = 0.01
Pr{acq. gioielli| frode, età =*, sesso=*} = 0.05
Pr{acq. gioielli|¬ frode, età < 30, maschio} = 0.0001
Pr{acq. gioielli| ¬ frode, 30 < età < 50 , maschio} = 0.0004
Pr{acq. gioielli|¬ frode, età > 50, maschio} = 0.0002
Pr{acq. gioielli|¬ frode, età < 30, femmina} = 0.0005
Pr{acq. gioielli| ¬ frode, 30 < età < 50 , femmina} = 0.0002
Pr{acq. gioielli|¬ frode, età > 50, femmina} = 0.001
Slides by Botta, Saitta, Malerba
DM con le Reti Bayesiane
• Codifica della conoscenza dell’esperto mediante una Rete
Bayesiana
• Uso della base di dati per aggiornare questa rete, eventualmente
creandone di nuove
• Le probabilità si possono apprendere dai dati mediante statistica
Bayesiana
• Uso delle reti ottenute simile a quello delle reti neurali
• Metodo robusto rispetto ad errori nella conoscenza iniziale
• Conoscenza interpretabile
• Utile per sfruttare conoscenza a priori
Slides by Botta, Saitta, Malerba
Gerarchie Concettuali
Clustering Concettuale
Student:Faculty = 5:1 (2%)
SAT-Verbal = 637.5
% Financial Aid = 45
% Admittance = 25
% Enrolled = 55
Social = 3.5 out of 5
No. Student < 5,000
Location = Urban
Expenses > 10,000 $
Academics = 5 out of 5
Control = Private
Brown
Root
% Financial Aid = 45 (2%)
% Admittance = 25
Social = 3.5 out of 5
Quality of life = 3.5 out of 5
Academic Emphasis = History
Academic Emphasis = Arts
Male;Female = 65:35
Student:Faculty = 7:1
SAT-Math = 675
Expenses > 10,000 $
Academics = 5 out of 5
% Enrolled = 55
Control = Private
Harvard, Columbia
Male;Female = 75:25
MIT
% Financial Aid = 55
No. of Applicants = 4,000-7,000
Quality of Life = 3 out of 5
Slides by Botta, Saitta, Malerba
Algoritmi Genetici
Gli Algoritmi Genetici sono un metodo generale di ricerca stocastica
Essi si ispirano ai concetti dell’Evoluzione Darwiniana
Possono essere usati nell’ambito di approcci sia simbolici che neurali
✿
✿
✿
Ingredienti
✿
✿
✿
Popolazione di soluzioni (Cromosomi)
Funzione di “Fitness”
Operatori genetici (“Crossover” e Mutazione)
Ciclo di Base
✿
✿
✿
✿
Si selezionano dalla popolazione, in numero proporzionale alla loro fitness,
gli individui che devono riprodursi
Gli individui selezionati si accoppiano e generano due figli, mediante
l’applicazione dell’operatore di crossover
Ai figli si applica l’operatore di mutazione
La popolazione viene rinnovata
Slides by Botta, Saitta, Malerba
Algoritmi Genetici: Idea di base
La popolazione di potenziali soluzioni al problema migliora
nelle generazioni successive
Problema
“Problem solver”
Prestazioni
Popolazione di
soluzioni potenziali
Slides by Botta, Saitta, Malerba
Algoritmi Genetici: Selezione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Selezione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Slides by Botta, Saitta, Malerba
Algoritmi Genetici: Riproduzione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Riproduzione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Slides by Botta, Saitta, Malerba
Algoritmi Genetici: Valutazione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Valutazione
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
Slides by Botta, Saitta, Malerba
Algoritmi Genetici: Operatori Genetici
Crossover
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
0
Mutation
0
1
1
0
1
0
0
0
1
1
0
1
0
1
Slides by Botta, Saitta, Malerba
Regole di Associazione
Sia I un insieme di items
Sia D un insieme di record, ognuno contenente un sottoinsieme
di I
Regola di associazione:
r: X => Y
X e Y sono sottonsiemi disgiunti di I
Supporto di un sottoinsieme Z di I: supp(Z) = |D(Z)|/|D|
Confidenza di una regola: conf(r) = supp(X or Y)/supp(X)
Slides by Botta, Saitta, Malerba
Regole di Associazione: Algoritmo Apriori
• Algoritmo Apriori
•
Fase 1 => Ricerca di tutti gli insiemi frequenti
• Costruzione incrementale a partire dalla cardinalità 1
• Generazione dei candidati di cardinalità k a partire dagli insiemi
frequenti di cardinalità (k-1)
• Eliminazione dei candidati spuri
•
Fase 2 => Ricerca di tutte le regole possibili per ogni insieme
frequente
• Ottimizzazione del metodo di calcolo del supporto
• Ricerca di regole ottimizzate rispetto la supporto o rispetto alla
confidenza => Regioni rettilineari
Slides by Botta, Saitta, Malerba
Scoperta di Associazioni / Causalità
La scoperta di associazioni tra variabili è solo il primo passo di analisi. Occorre
cercare una spiegazione
• Causalità tra A e B
Una variazione della variabile A “causa” una variazione della variabile B
A = Aumento di dipendenti “a tempo”
B = Aumento delle spese per stipendi
• Risposta comune
Una variazione delle variabili A e B è causata dalla variazione di una terza variabile C
A = Temporale
B = Abbassamento della colonnina di mercurio del barometro
C = Arrivo di un’onda di bassa pressione
• Mascheramento
Una variazione della variabile B è causata sia da una variazione di A che da una
variazione di una terza variabile C
A = Spese per promuovere un prodotto
B = Ricavo dalle vendite
C = Numero di responsabili delle vendite che seguono i clienti
Slides by Botta, Saitta, Malerba
Evoluzione nella Memorizzazione dei Dati
✿
Situazione storica
✿
✿
✿
Memorizzazione centralizzata per analisi in supporto alle decisioni
Risposta a domande estemporanee di responsabili aziendali, per ottenere dati
con alto grado di aggregazione
Problemi attuali
✿
Esplosione della quantità di dati da memorizzare -> Datawarehousing
✿
Complessità crescente delle informazioni da gestire
• Architetture client/server -> architetture “multi-tier”
• Dati + Conoscenza
✿
Prospettive future
✿
Datawarehouse centralizzata -> “Data-mart” distribuiti e interconnessi
•
•
•
•
✿
Architetture e componenti multi-livello
Server per applicazioni specializzate (OLAP, Data Mining, ...)
Gestori di meta-dati
Front-end per Reti Intranet ed Extranet
Sistemi integrati e distributi per la gestione della conoscenza aziendale
• DBMS (Data Base Management System) -> DKMS (Distributed Knowledge
Management System)
Slides by Botta, Saitta, Malerba
Evoluzione nel Tipo di Requisiti
Passato
Tecniche “verification-driven”
Tutto l’onere sull’esperto umano
Non si potevano scoprire shift o nuove ipotesi
Esperto di Statistica
Analisi “esterna”
Prestazioni: Criteri quantitativi, quali
Profitto, Utilità, Misura di certezza, Errore di
predizione, ...
Presente
Tecniche “discovery-driven”
Analisi Automatica
Ruolo importante dell’utente finale
Analisi “interna”
Prestazioni
Comprensibilità
“Comprehensibility” Postulate
“Humanization loop”
Semplicità (Rasoio di Occam)
“Interesse” e Novità
Slides by Botta, Saitta, Malerba
Evoluzione del Tipo di Approccio
Verification-driven
Numerico
Procedurale
Stand-alone
Orientato allo specialista
Efficace
Centrato sulla computazione
Attenzione ai risultati
Dati in memoria centrale
Discovery-driven
Numerico / Logico
Esplorativo (ricerca)
Interattivo
Orientato all’utente
Comprensibile
Centrato sull’ambiente
Attenzione ai risultati e
alla loro presentazione
Dati in Basi di Dati
Slides by Botta, Saitta, Malerba
Intelligenza Artificiale: Disinformazione
“ These products {AI and advanced analytical tool} employ extremely complex
algorithms and approaches to develop and refine new insights into previously
collected data. In this category we include neural nets and other advanced
approaches.”
[R. Mattison, Data Warehousing, 1996]
Slides by Botta, Saitta, Malerba
Scelta del Metodo o dell’Algoritmo di Data Mining
✿
L’algoritmo scelto deve non solo essere adeguato al task, ma anche rispettare i
fini e i requisiti imposti dall’utente
✿
Quanti esempi può trattare in una sola volta?
✿
Che tipo di dati tratta? Quanto pre-processing è necessario per portare i dati nel
formato richiesto?
✿
Può operare “top-donw” (accettando ipotesi suggerite dall’utente) o lavora solo
“bottom-up” (producendo solo ipotesi sue proprie)?
✿
Che grandezza fornisce in uscita? In che tipo di rappresentazione?
✿
E’ incrementale?
✿
E’ veloce?
✿
Quanto è facile da usare?
Slides by Botta, Saitta, Malerba
Nuova Metodologia?
Non c’è nulla di particolarmente nuovo nelle metodologie usate nel Data Mining
Quello che è nuovo:
Confluenza di metodologie disparate, coordinate per il raggiungimento di un fine
comune
approccio essenzialmente multidisciplinare
Applicazione di queste metodologie integrate a problemi del mondo reale
Slides by Botta, Saitta, Malerba
Problemi di Ricerca a Livello di Metodo
✿
✿
✿
✿
✿
✿
✿
✿
Dati Strutturati
Uso di conoscenza del dominio
Interazione efficace con l’utente e Comprensibilità dei pattern
Costruzione di nuovi descrittori (“feature construction”) e Astrazione
Dati e conoscenza variabili nel tempo
Dati mancanti e presenza di rumore nei dati
Overfitting e Significatività Statistica
Scalabilità
✿
✿
✿
✿
✿
✿
✿
Parallelismo
Algoritmi più efficaci
Basi di Dati più estese
Filtraggio di possibili soluzioni (imperfette) per l’utente
Boosting
“Windowing”
Dimensionalità più elevata
Slides by Botta, Saitta, Malerba
Problemi di Ricerca a Livello di Sistema
✿
✿
✿
✿
Integrazione flessibile di approcci diversi
Integrazione multimediale (dati in formato vario)
Integrazione con altri sistemi (sensori, multimedia, attuatori, ...)
Implementazione su Intra (Extra, Inter) Net
✿
✿
✿
✿
Gestione di sistemi distributi
Decisioni collaborative e interattive
Tecnologie ad “agenti”
Sicurezza
Slides by Botta, Saitta, Malerba
Evoluzione dei Sistemi
✿
I sistemi di prima generazione erano “research-driven”
✿
✿
✿
I sistemi di seconda generazione erano “vendor-driven”
✿
✿
✿
Orientati all’esperto
Richiedevano una comprensione profonda del funzionamento
Includevano una varietà di strumenti in un solo sistema
Orientati ad un uso autonomo
I sistemi di terza generazione stanno diventando “applicationspecific”
✿
Forniscono uno “shell” che l’utente può adattare ai suoi scopi
particolari
[Piatetsky-Shapiro, 1997]
Slides by Botta, Saitta, Malerba
Settori Particolarmente Adatti a Metodi di IA
✿
Biologia Molecolare (“Cybergenetics”)
✿
“Text Mining” e “Information Extraction”
✿
WWW
✿
“Business Intelligence”
✿
Scoperta Scientifica
Slides by Botta, Saitta, Malerba
Visione Futura
In futuro, una query KDD deve poter attivare una procedura di classificazione, di
scoperta di regole o di clustering a run-time
If Diagnosi(x, Problemi cardiaci) and Sesso(x, Maschio)
Then Eta(x, t > 50)
{ 1200, 0.70}
If Diagnosi(x, Problemi cardiaci) and Sesso(x, Maschio)
and Citta(x, α) and Popolazione(α, p > 500.000)
Then Eta(x, t > 40)
{ 600, 0.80}
Query
Eta'
55
60
40
Citta'
Citta'
NY
LA
Seattle
NY
> 1 Mll
LA
> 1 Ml
Seattle 500.000
Popol
Slides by Botta, Saitta, Malerba
✿
✿
✿
✿
✿
✿
performance system (inetgration)
representation
Subfield of ML
diagrams dall’altro talk sulla sovrapposizione
(soar, EBL, boosting, relational learning, learning in planning
reinforcement learning)
Slides by Botta, Saitta, Malerba