La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Learning finite Mixture-Models

Presentazioni simili


Presentazione sul tema: "Learning finite Mixture-Models"— Transcript della presentazione:

1 Learning finite Mixture-Models
Giuseppe Manco

2 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

3 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

4 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: Dove q rappresenta il vettore di tutti i parametri della distribuzione

5 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:

6 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 è: Dove è la probabilità che venga scelta la k-ma distribuzione, e prende il nome di mixing probability, e è la k-ma distribuzione

7 Model-Based Clustering
Clustering basato su modelli probabilistici Si assume che dati siano distribuiti secondo un mix di funzioni di densità Per ogni funzione i parametri non sono noti EM Bayesian clustering

8 Finite Mixture Models

9 Finite Mixture Models

10 Finite Mixture Models

11 Finite Mixture Models Pesok Modellok Parametrik

12 Esempio: Mistura di Gaussiane
Gaussian mixtures:

13 Esempio: Mistura di Gaussiane
Gaussian mixtures: Ogni componente è una densità gaussiana con media mk covarianza Sk

14 Example: Mixture of Gaussians
Gaussian mixtures: Ogni componente è una densità gaussiana con media mk e covarianza Sk Esempio: K=2, 1-dim: {Θ, Ρ} = {m1 , s1 , m2 , s2 , π1 , π2}

15

16

17

18 Esempio: Mixture di Naïve Bayes

19 Esempio: Mixture di Naïve Bayes

20 Esempio: Mixture di Naïve Bayes
Indipendenza condizionale per ogni componente

21 Mixtures di Naïve Bayes
Termini 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Documenti 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

22 Mixtures di Naïve Bayes
Termini 1 1 1 1 1 1 1 1 1 1 1 1 Componente 1 1 1 1 1 1 1 Documenti 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Componente 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1

23 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

24 Esempio: Mixtures di multinomiali
Nel nostro caso, quindi, i dati che osserviamo sono nella forma: , dove è il numero di eventi di classe c per l’istanza i La probabilità di osservare una particolare istanza generata da una distribuzione multinomiale è:

25 Mixture-Model (2/5) La log-likelihood in questo caso vale:
Sommatoria dentro il logaritmo! Questa funzione risulta molto complessa da ottimizzare…

26 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. Queste variabili soddisfano la condizione:

27 Solo un termine della sommatoria è diverso da zero…
Mixture-Model (4/5) In questo caso la likelihood e quindi la log-likelihood valgono: Solo un termine della sommatoria è diverso da zero…

28 Mixture-Model (5/5) Per quanto evidenziato possiamo semplificare l’espressione della log-likelihood: Questa espressione è aleatoria perché contiene le variabili aleatorie Si può soltanto massimizzarne il valore atteso

29 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

30 Expectation-Maximization (2/11)
Passo Expectation (g-ma iterazione) Si definisce la funzione: Questa è funzione dei parametri q, ed il valore atteso è calcolato a partire dalle stime dell’iterazione precedente sui dati di training

31 Expectation-Maximization (3/11) {Expectation}
L’espressione della funzione Q può essere riscritta come: 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

32 Expectation-Maximization (4/11) {Expectation}
Valendo la relazione P(A,B|C)=P(A|B,C)P(B|C) possiamo scrivere che: Probabilità a priori che venga scelta la distribuzione k: la mixing probability

33 Expectation-Maximization (5/11)
Passo Maximization (g-ma iterazione) Si devono individuare i valori di q affinché venga massimizzata la funzione Q, ovvero: Per far questo calcoliamo le derivate parziali della funzione Q rispetto a tutti i parametri q e le poniamo a zero

34 Expectation-Maximization (6/11) {Maximization di gaussiane}
La massimizzazione deve rispettare i seguenti vincoli: Utilizziamo, quindi, i moltiplicatori di Lagrange:

35 Expectation-Maximization (6/11) {Maximization di multinomiali}
La massimizzazione deve rispettare i seguenti vincoli: Utilizziamo, quindi, i moltiplicatori di Lagrange:

36 Expectation-Maximization (7/11) {Maximization}
Calcolo delle mixing probability:

37 Expectation-Maximization (8/11) {Maximization}
Derivando l’espressione mostrata:

38 Expectation-Maximization (9/11) {Maximization di gaussiane}
Calcolo dei parametri delle gaussiane:

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

40 Expectation-Maximization (9/11) {Maximization di multinomiali}
Calcolo dei parametri delle multinomiali:

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

42 Expectation-Maximization (11/11)
Ricapitolando Expectation: Maximization:

43

44

45

46

47

48

49

50

51 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

52 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;

53 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

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

55 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) 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

56 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…

57 Scelta del numero di cluster (6/12)
Poniamo opportunamente: che è l’opposto della log-likelihood per istanza Calcoliamone il valore atteso: sono variabili aleatorie che provengono tutte dalla stessa distribuzione , quella “vera”

58 Scelta del numero di cluster (7/12)
Sostituiamo con ed otteniamo: è indipendente da k, e misura l’entropia della distribuzione distanza di Kullback-Leibler, misura la distanza fra due distribuzioni; è sempre positiva e vale zero quando le distribuzioni coincidono

59 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

60 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

61 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 b indica la porzione di dataset da utilizzare per il testing Sperimentalmente si è visto come valori di b pari a 0,5 ed M compreso tra 20 e 50, siano buoni nella maggior parte dei casi

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


Scaricare ppt "Learning finite Mixture-Models"

Presentazioni simili


Annunci Google