62
Learning finite Mixture-Models Giuseppe Manco

Learning finite Mixture-Models

  • Upload
    denver

  • View
    57

  • Download
    0

Embed Size (px)

DESCRIPTION

Learning finite Mixture-Models. Giuseppe Manco. Clustering. La problematica del clustering è relativa al learning non supervisionato Abbiamo un dataset con istanze la cui etichetta è sconosciuta Obiettivo del clustering è individuare raggruppamenti delle istanze del dataset - PowerPoint PPT Presentation

Citation preview

Page 1: Learning finite Mixture-Models

Learning finite Mixture-Models

Giuseppe Manco

Page 2: Learning finite Mixture-Models

Clustering

La problematica del clustering è relativa al learning non supervisionato

Abbiamo un dataset con istanze la cui etichetta è sconosciuta

Obiettivo del clustering è individuare raggruppamenti delle istanze del dataset

I raggruppamenti devono essere tali per cui ci sia alta similarità fra le istanze delle stesso cluster, mentre ci sia alta dissimilarità fra le istanze di cluster differenti

Il clusterer deve ricostruire la struttura nascosta alla base dei dati a disposizione

Page 3: Learning finite Mixture-Models

Model-based Clustering

In questo approccio si suppone che le istanze del dataset siano state generate a partire da un mix di modelli probabilistici

Per questa ragione si parla anche di Probabilistic Clustering

Il clusterer, quindi, deve stimare quali siano i parametri delle distribuzioni che hanno più verosimilmente generato il dataset di training

Page 4: Learning finite Mixture-Models

Stima per massima verosimiglianza(maximum likelihood) (1/2)

Avendo i dati che provengono da una distribuzione di forma nota si vogliono stimare i parametri per cui è più verosimile osservare i dati che si hanno effettivamente a disposizione

Sia il dataset a disposizione, si definisce la likelihood come:

L θ |X( ) =P X |θ( ) = p xi |θ( )

i=1

N

∏ Dove θ rappresenta il vettore di tutti i parametri della

distribuzione

1 2, , , NX x x x

Page 5: Learning finite Mixture-Models

Stima per massima verosimiglianza(maximum likelihood) (2/2)

Si devono quindi trovare quali siano i parametri della distribuzione che massimizzano la likelihood

Spesso si massimizza il logaritmo della likelihood, la log-likelihood, perché si possono ottenere espressioni analitiche più semplici:

11

log | log | log |N N

i iii

X p x p xθ θ θ

L

Page 6: Learning finite Mixture-Models

Mixture-Model (1/5)

Per il clustering si utilizza l’approccio a mixture-model In questo contesto ogni istanza viene generata

scegliendo prima, secondo una data probabilità, una particolare distribuzione e poi si genera l’istanza in accordo alla distribuzione scelta

La distribuzione per una istanza è:

1

M

k kk

p x p x

k Dove è la probabilità che venga scelta la k-ma

distribuzione, e prende il nome di mixing probability, e è la k-ma distribuzione

kp x

Page 7: Learning finite Mixture-Models

Model-Based Clustering

Clustering basato su modelli probabilisticiSi assume che dati siano distribuiti secondo

un mix di funzioni di densità Per ogni funzione i parametri non sono noti

EM Bayesian clustering

Page 8: Learning finite Mixture-Models

Finite Mixture Models

K

k

kcpp1

),()( xx

Page 9: Learning finite Mixture-Models

Finite Mixture Models

)()|(

),()(

1

1

k

K

k

k

K

k

k

cpcp

cpp

x

xx

Page 10: Learning finite Mixture-Models

Finite Mixture Models

p(x) px,ckk=1

K

px|ckk=1

K

∑ pck

px|ck,θkk=1

K

∑ k

Page 11: Learning finite Mixture-Models

Finite Mixture Models

p(x) px,ckk=1

K

px|ckk=1

K

∑ pck

px|ck,θkk=1

K

∑ k

Pesok

Modellok Parametrik

Page 12: Learning finite Mixture-Models

Esempio: Mistura di Gaussiane

Gaussian mixtures:

p(x) px|ck,θkk=1

K

∑ k

Page 13: Learning finite Mixture-Models

Esempio: Mistura di Gaussiane

Gaussian mixtures:

p(x) px|ck,θkk=1

K

∑ k

Ogni componente è una densità gaussiana con media kcovarianza k

Page 14: Learning finite Mixture-Models

Example: Mixture of Gaussians

Gaussian mixtures:

p(x) px|ck,θkk=1

K

∑ k

Ogni componente è una densità gaussiana con media ke covarianza k

Esempio: K=2, 1-dim:

{Θ,Ρ} = {1, 1 , 2, 2 , 1, π2}

Page 15: Learning finite Mixture-Models

-5 0 5 100

0.1

0.2

0.3

0.4

0.5

Component 1 Component 2p(

x)

-5 0 5 100

0.1

0.2

0.3

0.4

0.5

Mixture Model

x

p(x)

Page 16: Learning finite Mixture-Models

-5 0 5 100

0.1

0.2

0.3

0.4

0.5

Component 1 Component 2p(

x)

-5 0 5 100

0.1

0.2

0.3

0.4

0.5

Mixture Model

x

p(x)

Page 17: Learning finite Mixture-Models

-5 0 5 100

0.5

1

1.5

2

Component Modelsp(

x)

-5 0 5 100

0.1

0.2

0.3

0.4

0.5

Mixture Model

x

p(x)

Page 18: Learning finite Mixture-Models

Esempio: Mixture di Naïve Bayes

p(x) px|ck,θkk=1

K

∑ k

Page 19: Learning finite Mixture-Models

p(x) px|ck,θkk=1

K

∑ k

d

j

kjkk cxpcp1

, )|()|( θx

Esempio: Mixture di Naïve Bayes

Page 20: Learning finite Mixture-Models

p(x) px|ck,θkk=1

K

∑ k

d

j

kjkk cxpcp1

, )|()|( θx

Indipendenza condizionale perogni componente

Esempio: Mixture di Naïve Bayes

Page 21: Learning finite Mixture-Models

Mixtures di Naïve Bayes

1 1 1 1

1 1 1 11

1

1 1 1

1

11

1 1 1

1

1

1

1 1

1

1

11 1 1

1

1

1

1

1

1

1

1 1 1

1

1

1

Termini

Documenti

Page 22: Learning finite Mixture-Models

Mixtures di Naïve Bayes

1 1 1 1

1 1 1 11

1

1 1 1

1

11

1 1 1

1

1

1

1 1

1

1

11 1 1

1

1

1

1

1

1

1

1 1 1

1

1

1

Termini

Documenti

1

1

1

1

Componente 1

Componente 2

Page 23: Learning finite Mixture-Models

Esempio: Mixtures di multinomiali

Le distribuzioni multinomiali modellano il ripetersi di esperimenti indipendenti che possono portare a più risultati: come il lancio di un dado (“Qual è la probabilità che su 4 lanci esca due volte ‘1’ una volta ‘3’ ed una volta ‘6’?)

Una multinomiale è caratterizzata dai parametri che indica qual è la probabilità che si verifichi un evento di classe c

Poiché facciamo riferimento ad un mixture-model di multinomiali, poniamo la probabilità che si verifichi l’evento di classe c nella multinomiale k

c

kc

Page 24: Learning finite Mixture-Models

Nel nostro caso, quindi, i dati che osserviamo sono nella forma: , dove è il numero di eventi di classe c per l’istanza i

1 2, , , Si i i ix n n n c

in

1

1

1

!

| 1,!

ci

Sj

i S nj kk i ik k cS

j ci

j

n

p x yn

θ

La probabilità di osservare una particolare istanza generata da una distribuzione multinomiale è:

Esempio: Mixtures di multinomiali

Page 25: Learning finite Mixture-Models

Mixture-Model (2/5)

La log-likelihood in questo caso vale:

1

11

1 1

log | log |

log |

log |

N

ii

N M

k k i kki

N M

k k i ki k

X p x

p x

p x

θ θ

θ

θ

L

Sommatoria dentro il logaritmo!

Questa funzione risulta molto complessa da ottimizzare…

Page 26: Learning finite Mixture-Models

Mixture-Model (3/5)

Si utilizza uno stratagemma: si suppone l’esistenza delle variabili che indicano se l’istanza i è stata generata dalla distribuzione k

La variabile vale 1 se l’istanza i è stata generata dalla distribuzione k, vale 0 altrimenti.

iky

iky

1

1, 1, ,M

ikk

y i N

Queste variabili soddisfano la condizione:

Page 27: Learning finite Mixture-Models

Mixture-Model (4/5)

In questo caso la likelihood e quindi la log-likelihood valgono:

L θ |X,Y( ) =P X,Y |θ( ) = yik pk xi , yik =1,θk( )

k=1

M

∑i=1

N

log L θ |X,Y( )( ) =log yik pk xi , yik =1,θk( )k=1

M

∑i=1

N

∏⎛

⎝⎜⎞

⎠⎟

= log yik pk xi , yik =1,θk( )k=1

M

∑⎛

⎝⎜⎞

⎠⎟i=1

N

Solo un termine della sommatoria è diverso da zero…

Page 28: Learning finite Mixture-Models

Mixture-Model (5/5)

Per quanto evidenziato possiamo semplificare l’espressione della log-likelihood:

log L θ |X,Y( )( ) = yik log pk xi , yik =1,θk( )( )

k=1

M

∑i=1

N

Questa espressione è aleatoria perché contiene le variabili aleatorie

Si può soltanto massimizzarne il valore attesoiky

Page 29: Learning finite Mixture-Models

Expectation-Maximization (1/11)

Questo algoritmo di clustering viene utilizzato per stimare i parametri del mixture-model che è alla base di un dataset

L’algoritmo migliora iterativamente il valore atteso della log-likelihood del mixture-model e con esso la stima dei parametri dei modelli

È caratterizzato da due passi: Expectation: nel quale si effettua un assegnamento “soft” delle istanze

ai cluster (si calcola la probabilità che un’istanza appartenga ad un cluster)

Maximization: nel quale si utilizzano gli assegnamenti del passo precedente per stimare, in maniera pesata in base alla probabilità di appartenenza di un’istanza al cluster, i parametri dei modelli

Si iterano Expectation e Maximization fino alla convergenza dei parametri che si stanno stimando

Page 30: Learning finite Mixture-Models

Expectation-Maximization (2/11)

Passo Expectation (g-ma iterazione)

Si definisce la funzione:

1 1, log | , | ,g gQ E X Y Xθ θ θ θ L

Questa è funzione dei parametri θ, ed il valore atteso è calcolato a partire dalle stime dell’iterazione precedente sui dati di training

Page 31: Learning finite Mixture-Models

Expectation-Maximization (3/11){Expectation}

L’espressione della funzione Q può essere riscritta come:

Q θ,θ g−1( )( ) =E yik log pk xi |yik =1,θk( ) k( ) |X,θ

g−1( )

k=1

M

∑i=1

N

∑⎡⎣⎢

⎦⎥

= E yik |xi ,θkg−1( )⎡

⎣⎤⎦log pk xi |yik =1,θk( ) k( )

k=1

M

∑i=1

N

1 1 1

1

| , 1 1 | , 0 0 | ,

1| ,

g g gik i k ik i k ik i k

g gik i k ik

E y x p y x p y x

p y x

θ θ θ

θ

per definizione di valore atteso

Responsibility: è la probabilità che sia stata la distribuzione k a generare l’istanza i, considerando corretti i parametri stimati all’iterazione precedente

Page 32: Learning finite Mixture-Models

Expectation-Maximization (4/11){Expectation}

Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C) possiamo scrivere che:

1

1

1

1 1

1 1

1

, 1|| ,

|

1| | 1,

1| | 1,

gi ikg g

ik ik i gi

g gik k i ik

Mg g

ij j i ijj

p x yE y x

p x

p y p x y

p y p x y

θ θ

θ

θ θ

θ θ

Probabilità a priori che venga scelta la distribuzione k: la mixing probability

1 11|g gk ikp y θ

Page 33: Learning finite Mixture-Models

Expectation-Maximization (5/11)

Passo Maximization (g-ma iterazione)

Si devono individuare i valori di θ affinché venga massimizzata la funzione Q, ovvero:

1arg max ,g gQθ

θ θ θ

Per far questo calcoliamo le derivate parziali della funzione Q rispetto a tutti i parametri θ e le poniamo a zero

Page 34: Learning finite Mixture-Models

Expectation-Maximization (6/11){Maximization di gaussiane}

La massimizzazione deve rispettare i seguenti vincoli:

1

1M

kk

Utilizziamo, quindi, i moltiplicatori di Lagrange:

1,1log

1,,

1

)(

1 1

)(

1

)()1(

M

j

gj

N

i

M

kkikik

gik

M

j

gj

g

yxp

Qf

θ

θθθ

Page 35: Learning finite Mixture-Models

Expectation-Maximization (6/11){Maximization di multinomiali}

La massimizzazione deve rispettare i seguenti vincoli:

1

1M

kk

1

1 1, ,S

kj

j

k M

Utilizziamo, quindi, i moltiplicatori di Lagrange:

1

1 1 1

1 1 1 1 1

, , 1 1

log | 1, 1 1

M M Sg g gp

j p tj p t

N M M M Sg g gp

ik k i ik k j p ti k j p t

f Q

p x y

θ θ θ

θ

Page 36: Learning finite Mixture-Models

Expectation-Maximization (7/11){Maximization}

Calcolo delle mixing probability:

1 1 1 1 1

, ...

, 1|log 1 1

N M M M Sg g gi ik k p

ik j p ti k j p tk

f

p x y

θ

θ

Page 37: Learning finite Mixture-Models

Expectation-Maximization (8/11){Maximization}

Derivando l’espressione mostrata:

1

1

1

,... 0

1

,1 0

gNir

gir r

Ng g

r iri

Mg

jj

f

f

θ

θ

1

1 1

Ng

irg i

r N Mg

iji j

1

1 1

... 1| , 1M M

g gij ij i

j j

p y x θ

1

1 Ng g

r iriN

Page 38: Learning finite Mixture-Models

Expectation-Maximization (9/11){Maximization di gaussiane}

Calcolo dei parametri delle gaussiane:

12

1log

...,

1

)(2

1 1

)(2 M

j

gj

xN

i

M

k

gik

i

e

f

θ

Page 39: Learning finite Mixture-Models

Expectation-Maximization (10/11){Maximization} Derivando l’espressione

mostrata:

θ

θθ

,

,

,

)(

)(

f

f

f

gk

gk

i

gik

gk

Tkiki

i

gik

gk

ii

gik

gk

N

xx

x

)()(

)()(

)()(

1

Page 40: Learning finite Mixture-Models

Expectation-Maximization (9/11){Maximization di multinomiali}

Calcolo dei parametri delle multinomiali:

1

1 1 1 1 1 1

1

, ...

!

log log 1 1!

Sj

iN M S M M Sjg g g gc k p

ik i c j p tSji k c j p t

ij

f

n

nn

θ

Page 41: Learning finite Mixture-Models

Expectation-Maximization (10/11){Maximization}

Derivando l’espressione mostrata:

1

1

,0

,1 0

g rNiz i

zz gzir r

Sgz

ttz

f n

f

θ θ

1

1 1

Ng r

iz igz i

r N Sg t

iz ii t

n

n

Page 42: Learning finite Mixture-Models

Expectation-Maximization (11/11)

Ricapitolando Expectation:

Maximization:

1 11 1

1

1 1 1 1

1 1 1

| 1,...

| 1,

ci

ci

S ng gk

g gk c

k k i ikg cik M SM n

g g g gjj j i ij j c

j j c

p x y

p x y

θ

θ

1

1 Ng g

k ikiN

1

1 1

Ng c

ik igk i

c N Sg t

ik ii t

n

n

Page 43: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4ANEMIA PATIENTS AND CONTROLS

Red Blood Cell Volume

Red

Blo

od C

ell H

emog

lobi

n C

once

ntra

tion

Page 44: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 1

Page 45: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 3

Page 46: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 5

Page 47: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 10

Page 48: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 15

Page 49: Learning finite Mixture-Models

3.3 3.4 3.5 3.6 3.7 3.8 3.9 43.7

3.8

3.9

4

4.1

4.2

4.3

4.4

Red Blood Cell Volume

Re

d B

loo

d C

ell

He

mo

glo

bin

Co

nce

ntr

atio

n

EM ITERATION 25

Page 50: Learning finite Mixture-Models

0 5 10 15 20 25400

410

420

430

440

450

460

470

480

490LOG-LIKELIHOOD AS A FUNCTION OF EM ITERATIONS

EM Iteration

Lo

g-L

ike

liho

od

Page 51: Learning finite Mixture-Models

Inizializzazione (1/14)

EM ha necessita di una inizializzazione Come in tutte le tecniche di hill climbing, il risultato

dipende fortemente dalla scelta del punto iniziale

Page 52: Learning finite Mixture-Models

Scelta del numero di cluster (1/12)

EM, come altri algoritmi di clustering, richiede in input il numero di cluster in cui clusterizzare il dataset di training

Si possono sfruttare tecniche per la stima del numero di cluster da utilizzare

Ci sono vari approcci: Deterministici: come ad esempio i metodi basati

sull’information theory tipo MML e MDL, ed altri; Stocastici: come ad esempio la cross-validazione, ed altri;

Page 53: Learning finite Mixture-Models

Scelta del numero di cluster (2/12)

L’approccio utilizzato in questo lavoro e quello della cross-validazione

Di certo non si può utilizzare la sola likelihood sui dati di training per stimare il numero di cluster

Infatti più cluster si utilizzano più i dati verranno fittati meglio (la log-likelihood dei dati di training è una funzione crescente nel numero di cluster utilizzati)

Disponendo di un dataset indipendente da quello di training per effettuare solamente test, la sua log-likelihood potrebbe risultare utile

Page 54: Learning finite Mixture-Models

Scelta del numero di cluster (3/12)

Supponiamo di avere un dataset per il training, ed un altro dataset, , per effettuare il testing

Supponiamo che sia la “vera” distribuzione alla base dei due dataset

trainXtestX p x

Poniamo la distribuzione che EM ha ricavato a partire dal dataset di training utilizzando k cluster

Con la notazione indichiamo i parametri stimati da EM utilizzando k cluster

|k k trainp x Xθ

k trainXθ

Page 55: Learning finite Mixture-Models

Scelta del numero di cluster (4/12)

La funzione

indica la likelihood dei parametri stimati rispetto al dataset di training (è una funzione crescente di k)

| |k ktrain train train trainX X P X Xθ θL

|k k trainp x Xθ

La funzione

indica la likelihood dei parametri stimati rispetto al dataset di test; indica quanto verosimilmente le istanze del dataset di test provengano dalla distribuzione stimata

| |k ktrain test test trainX X P X Xθ θL

Page 56: Learning finite Mixture-Models

Scelta del numero di cluster (5/12)

La log-likelihood relativa è:

che è una funzione di k fissati i restanti parametri ed il dataset di training

Questa funzione, intuitivamente, dovrebbe risultare più utile nella stima del numero corretto di cluster. Mostriamo che ciò è vero…

log |ktest train testkl X Xθ L

Page 57: Learning finite Mixture-Models

Scelta del numero di cluster (6/12)

Poniamo opportunamente:

che è l’opposto della log-likelihood per istanza Calcoliamone il valore atteso:

1log |

testk train testk

ktest test

li X X

N Nθ L

1

1

1... log |

1log |

1... log |

test

test

testktest traink

ktest test

Nk k train

iitest

Nk k train

iitest

lE i E E P X X

N N

E p x XN

E p x XN

θ

θ

θ

sono variabili aleatorie che provengono tutte

dalla stessa distribuzione , quella “vera” p x

Page 58: Learning finite Mixture-Models

Scelta del numero di cluster (7/12)

Sostituiamo con ed otteniamo:ix x̂

1

1ˆlog |

1ˆlog |

ˆ ˆ ˆlog |

ˆ 1ˆ ˆ ˆ ˆ... log log

ˆˆ |

testNk k train

kitest

k k traintest

test

k k train

k k train

E i E p x XN

N E p x XN

p x p x X dx

p xp x dx p x dx

p xp x X

θ

θ

θ

θ

distanza di Kullback-Leibler, misura la distanza fra due distribuzioni; è sempre positiva e vale zero quando le distribuzioni coincidono

è indipendente da k, e misura l’entropia della distribuzione p x

Page 59: Learning finite Mixture-Models

Scelta del numero di cluster (8/12)

La log-likelihood del dataset di test, opportunamente scalata, è una stima della distanza fra le due distribuzioni, quella “vera” e quella ricavata da EM

Quasi mai si dispone di un ampio dataset di test indipendente da quello di training

Si utilizzano ripetutamente porzioni del dataset di training per effettuare il test: in questo caso si parla di cross-validazione

Page 60: Learning finite Mixture-Models

Scelta del numero di cluster (9/12){cross-validazione}

Supponiamo che si effettui M volte la ripartizione del dataset di training e sia la porzione utilizzata per il calcolo della log-likelihood di test

La log-likelihood di cross-validazione è:

la media delle log-likelihood delle porzioni utilizzate per il test

iS

1

1

1log \ |

1log | \

Mkcv train

k i ii

Mk train

i ii

l X S SM

P S X SM

θ

θ

L

Page 61: Learning finite Mixture-Models

Scelta del numero di cluster (10/12){Monte Carlo Cross-Validation}

Ci sono vari approcci per fare cross-validazione, quello utilizzato è la Monte Carlo Cross-Validation

Con questa metodologia il dataset di test viene ripetutamente suddiviso in due parti, una per il training l’altra per il testing

Ad ogni iterazione di cross-validazione si provano tutti i clustering con numero di cluster da 1 ad un valore massimo fornito dall’utente

indica la porzione di dataset da utilizzare per il testing Sperimentalmente si è visto come valori di pari a 0,5 ed M

compreso tra 20 e 50, siano buoni nella maggior parte dei casi

Page 62: Learning finite Mixture-Models

Riferimenti[1] Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning:

Data Mining, Inference, and Prediction; Springer Series in Statistics. New York, NY: Springer Verlag, 2001.

[2] Robert A. Adams, Calcolo Differenziale 2: Funzioni di più variabili; (seconda edizione). Milano, Italy: Casa Editrice Ambrosiana, 2000.

[3] Padhraic Smyth, Clustering using Monte Carlo Cross-Validation, in E. Simoudis, J. Han, and U. M. Fayyad, Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96), Menlo Park, CA: AAAI Press, pp 126-133, 1996.

[4] Padhraic Smyth, Model Selection for Probabilistic Clustering using Cross-Validated Likelihood, Technical Report UCI-ICS 98-09, Department of Information and Computer Science, University of California, Irvine, CA, 1998.

[5] Thomas M. Cover, and Joy A. Thomas, Elements of Information Theory; Wiley Series in Telecommunications. New York, NY: John Wiley & Sons, 1991.

[6] Pasquale Erto, Probabilità e Statistica per le scienze e l’ingegneria; collana di istruzione scientifica, serie di statistica. Milano, Italy, 1999.

[7] Ian H. Witten, and Eibe Frank (2005), Data Mining: Practical machine learning tools and techniques, (2nd Edition). San Francisco, CA: Morgan Kaufmann, 2005.