Modello di miscela finita basato sulla distribuzione Dirichlet PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Modello di miscela finita basato sulla distribuzione di Dirichlet

Questo post sul blog è la seconda parte di una serie di articoli sui modelli di miscele di Dirichlet Process. Nell'articolo precedente avevamo un panoramica di diverse tecniche di analisi del cluster e abbiamo discusso alcuni dei problemi / limitazioni che sorgono dal loro utilizzo. Inoltre abbiamo presentato brevemente i modelli di miscele di processo Dirichlet, abbiamo parlato del perché sono utili e abbiamo presentato alcune delle loro applicazioni.

Aggiornamento: Datumbox Machine Learning Framework è ora open-source e gratuito scaricare. Dai un'occhiata al pacchetto com.datumbox.framework.machinelearning.clustering per vedere l'implementazione dei modelli di miscela di processo di Dirichlet in Java.

I modelli di miscela di processo di Dirichlet possono essere un po 'difficili da deglutire all'inizio principalmente perché sono modelli di miscela infinita con molte rappresentazioni diverse. Fortunatamente un buon modo per affrontare l'argomento è partire dai modelli di miscele finite con distribuzione di Dirichlet e poi passare a quelli infiniti.

Di conseguenza in questo articolo presenterò brevemente alcune importanti distribuzioni di cui avremo bisogno, le useremo per costruire il modello Dirichlet Prior con Multinomial Likelihood e poi passeremo al modello di miscela finita basato sulla distribuzione di Dirichlet.

1. Distribuzione beta

I Distribuzione beta è una famiglia di distribuzioni continue che è definita nell'intervallo di [0,1]. È parametrizzato da due parametri positivi aeb e la sua forma dipende fortemente dalla selezione di questi due parametri.

Immagine

Figura 1: distribuzione beta per diversi parametri a, b

La distribuzione Beta è comunemente usata per modellare una distribuzione sulle probabilità e ha la seguente densità di probabilità:

Immagine

Equazione 1: Beta PDF

Dove Γ (x) è la funzione gamma e a, b i parametri della distribuzione. Beta è comunemente usato come distribuzione di valori di probabilità e ci dà la probabilità che la probabilità modellata sia uguale a un valore particolare P = p0. Per sua definizione, la distribuzione beta è in grado di modellare la probabilità di risultati binari che assumono valori veri o falsi. I parametri aeb possono essere considerati rispettivamente gli pseudocount di successo e fallimento. Pertanto, la distribuzione beta modella la probabilità di successo data una successi e b fallimenti.

2. Distribuzione di Dirichlet

I Distribuzione di Dirichlet è la generalizzazione della distribuzione beta per esiti multipli (o in altre parole viene utilizzata per eventi con esiti multipli). È parametrizzato con k parametri ai che deve essere positivo. La distribuzione di Dirichlet è uguale alla distribuzione Beta quando il numero di variabili k = 2.

Immagine

Figura 2: Dirichlet Distribution per vari ai parametri

La distribuzione di Dirichlet è comunemente usata per modellare una distribuzione su probabilità e ha la seguente densità di probabilità:

Immagine

Equazione 2: Dirichlet PDF

Dove Γ (x) è la funzione gamma, la pi assumere valori in [0,1] e Σpi= 1. La distribuzione di Dirichlet modella la distribuzione congiunta di pi e dà la probabilità di P1=p1,P2=p2, ...., Pk-1=pk-1 con Pk= 1 - ΣPi. Come nel caso di Beta, ai i parametri possono essere considerati come pseudocount delle apparenze di ciascun evento i. La distribuzione di Dirichlet viene utilizzata per modellare la probabilità che si verifichino k eventi rivali ed è spesso indicata come Dirichlet (a).

3. Dirichlet Prior con probabilità multinomiale

Come accennato in precedenza, la distribuzione di Dirichlet può essere vista come una distribuzione su distribuzioni di probabilità. Nei casi in cui vogliamo modellare la probabilità che si verifichino k eventi, un approccio bayesiano sarebbe quello di utilizzare Priori di Probabilità e Dirichlet multinomiali .

Di seguito possiamo vedere il modello grafico di tale modello.

Immagine

Figura 3: Modello grafico dei Priori di Dirichlet con probabilità multinomiale

Nel modello grafico sopra, α è un vettore dimensionale ak con gli iperparametri di Dirichlet priors, p è un vettore dimensionale ak con i valori di probabilità e xi è un valore scalare da 1 a k che ci dice quale evento si è verificato. Infine, dovremmo notare che la P segue la distribuzione di Dirichlet parametrizzata con il vettore α e quindi P ~ Dirichlet (α), mentre la xi le variabili seguono la distribuzione discreta (Multinomiale) parametrizzata con il vettore p delle probabilità. Modelli gerarchici simili possono essere utilizzati nella classificazione dei documenti per rappresentare le distribuzioni delle frequenze delle parole chiave in diversi argomenti.

4. Modello di miscela finita con distribuzione di Dirichlet

Usando Dirichlet Distribution possiamo costruire a Modello di miscela finita che può essere utilizzato per eseguire il clustering. Supponiamo di avere il seguente modello:

Immagine

Immagine

Immagine

Immagine

Equazione 3: Modello a miscela finita con distribuzione di Dirichlet

Il modello sopra presuppone quanto segue: abbiamo un set di dati X con n osservazioni e vogliamo eseguire l'analisi del cluster su di esso. La k è un numero finito costante che mostra il numero di cluster / componenti che useremo. Il ci le variabili memorizzano l'assegnazione dei cluster dell'osservazione Xi, prendono valori da 1 a k e seguono la distribuzione discreta con il parametro p che sono le probabilità di miscelazione dei componenti. La F è la distribuzione generativa della nostra X ed è parametrizzata con un parametro Immagine che dipende dall'assegnazione dei cluster di ciascuna osservazione. In totale abbiamo k unico Immagine parametri pari al numero dei nostri cluster. Il Immagine la variabile memorizza i parametri che parametrizzano la distribuzione generativa F e supponiamo che segua una base G0 distribuzione. La variabile p memorizza le percentuali di miscela per ciascuno dei cluster k e segue il Dirichlet con i parametri α / k. Infine α è un vettore dimensionale ak con gli iperparametri (pseudocount) della distribuzione di Dirichlet [2].

Immagine

Figura 4: Modello grafico del modello di miscela finita con distribuzione di Dirichlet

Un modo più semplice e meno matematico per spiegare il modello è il seguente. Partiamo dal presupposto che i nostri dati possono essere raggruppati in k cluster. Ogni cluster ha i suoi parametri Immagine e questi parametri vengono utilizzati per generare i nostri dati. I parametri Immagine si presume che seguano alcune distribuzioni G0. Ogni osservazione è rappresentata da un vettore xi e aci valore che indica il cluster a cui appartiene. Di conseguenza il ci può essere visto come una variabile che segue la distribuzione discreta con un parametro p che non è altro che le probabilità di miscelazione, ovvero la probabilità del verificarsi di ciascun cluster. Dato che gestiamo il nostro problema in modo bayesiano, non trattiamo il parametro p come un vettore sconosciuto costante. Invece supponiamo che la P segua Dirichlet che è parametrizzato da iperparametri α / k.

5. Lavorare con infiniti k cluster

Il precedente modello di miscela ci consente di eseguire l'apprendimento senza supervisione, segue un approccio bayesiano e può essere esteso per avere una struttura gerarchica. Tuttavia è un modello finito perché utilizza un numero k costante predefinito di cluster. Di conseguenza, è necessario definire il numero di componenti prima di eseguire l'analisi del cluster e, come abbiamo discusso in precedenza nella maggior parte delle applicazioni, questo è sconosciuto e non può essere facilmente stimato.

Un modo per risolverlo è immaginare che k abbia un valore molto grande che tende all'infinito. In altre parole, possiamo immaginare il limite di questo modello quando k tende all'infinito. Se questo è il caso, allora possiamo vedere che nonostante il numero di cluster k sia infinito, il numero effettivo di cluster attivi (quelli che hanno almeno un'osservazione), non può essere maggiore di n (che è il numero totale delle osservazioni nel nostro set di dati). In effetti, come vedremo più avanti, il numero di cluster attivi sarà significativamente inferiore a n e saranno proporzionali a Immagine.

Ovviamente prendere il limite di k all'infinito non è banale. Esistono diverse domande, ad esempio se è possibile prendere un limite del genere, come sarebbe questo modello e come possiamo costruire e utilizzare un tale modello.

Nel prossimo articolo ci concentreremo esattamente su queste domande: definiremo il processo di Dirichlet, presenteremo le varie rappresentazioni di DP e infine ci concentreremo sul processo di ristorazione cinese che è un modo intuitivo ed efficiente per costruire un processo di Dirichlet.

Spero che questo post ti sia stato utile. Se lo hai fatto, prenditi un momento per condividere l'articolo su Facebook e Twitter. 🙂

Timestamp:

Di più da Databox