Model de amestec finit bazat pe Dirichlet Distribution PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Model de amestec finit bazat pe distribuția Dirichlet

Această postare de blog este a doua parte a unei serii de articole despre modelele de amestec ale procesului Dirichlet. În articolul precedent am avut o prezentare generală a mai multor tehnici de analiză a clusterelor și am discutat despre unele dintre problemele/limitările care apar prin utilizarea lor. Mai mult, am prezentat pe scurt Modelele de amestec de proces Dirichlet, am vorbit despre motivul pentru care sunt utile și am prezentat câteva dintre aplicațiile lor.

Actualizare: Datumbox Machine Learning Framework este acum open-source și gratuit Descarca. Consultați pachetul com.datumbox.framework.machinelearning.clustering pentru a vedea implementarea modelelor Dirichlet Process Mixture în Java.

Modelele de amestec de proces Dirichlet pot fi puțin greu de înghițit la început, în primul rând pentru că sunt modele de amestec infinit cu multe reprezentări diferite. Din fericire, o modalitate bună de a aborda subiectul este pornind de la modelele de amestec finit cu distribuție Dirichlet și apoi trecerea la cele infinite.

În consecință, în acest articol voi prezenta pe scurt câteva distribuții importante de care vom avea nevoie, le vom folosi pentru a construi modelul Dirichlet Prior cu Multinomial Likelihood și apoi vom trece la Modelul de amestec finit bazat pe Distribuția Dirichlet.

1. Distribuție beta

Distribuție beta este o familie de distribuții continue care este definită în intervalul [0,1]. Este parametrizată de doi parametri pozitivi a și b și forma sa depinde în mare măsură de selecția acelor doi parametri.

imagine

Figura 1: Distribuția beta pentru diferiți parametri a, b

Distribuția beta este folosită în mod obișnuit pentru a modela o distribuție pe probabilități și are următoarea densitate de probabilitate:

imagine

Ecuația 1: PDF beta

Unde Γ(x) este funcția gamma și a, b parametrii distribuției. Beta este folosit în mod obișnuit ca o distribuție a valorilor probabilității și ne oferă probabilitatea ca probabilitatea modelată să fie egală cu o anumită valoare P = p0. Prin definiția sa, distribuția beta este capabilă să modeleze probabilitatea rezultatelor binare care iau valori adevărate sau false. Parametrii a și b pot fi considerați ca pseudocontori de succes și, respectiv, eșec. Astfel, distribuția beta modelează probabilitatea de succes având în vedere a succese și b eșecuri.

2. Distribuția Dirichlet

Distribuția Dirichlet este generalizarea distribuției beta pentru rezultate multiple (sau, cu alte cuvinte, este folosită pentru evenimente cu rezultate multiple). Este parametrizat cu k parametri ai care trebuie să fie pozitiv. Distribuția Dirichlet este egală cu distribuția beta atunci când numărul de variabile k = 2.

imagine

Figura 2: Distribuția Dirichlet pentru diverse ai parametrii

Distribuția Dirichlet este folosită în mod obișnuit pentru a modela o distribuție peste probabilități și are următoarea densitate de probabilitate:

imagine

Ecuația 2: Dirichlet PDF

Unde Γ(x) este funcția gamma, pi iau valori în [0,1] și Σpi=1. Distribuția Dirichlet modelează distribuția comună a pi și oferă probabilitatea ca P1=p1,P2=p2,….,Pk-1=pk-1 cu Pk=1 – ΣPi. Ca și în cazul Beta, ai parametrii pot fi considerați ca pseudocontori ai aparițiilor fiecărui i eveniment. Distribuția Dirichlet este utilizată pentru a modela probabilitatea de apariție a k evenimente rivale și este adesea denumită Dirichlet(a).

3. Dirichlet Prior cu probabilitate multinomială

După cum am menționat mai devreme, distribuția Dirichlet poate fi văzută ca o distribuție peste distribuții de probabilitate. În cazurile în care dorim să modelăm probabilitatea apariției k evenimente, ar fi de utilizat o abordare bayesiană Probabilitatea multinomială și prioritățile Dirichlet .

Mai jos putem vedea modelul grafic al unui astfel de model.

imagine

Figura 3: Modelul grafic al priorităților Dirichlet cu probabilitate multinomială

În modelul grafic de mai sus, α este vector dimensional ak cu hiperparametrii priorilor Dirichlet, p este vector dimensional ak cu valorile probabilității și xi este o valoare scalară de la 1 la k care ne spune ce eveniment a avut loc. În sfârșit, trebuie să remarcăm că P urmează distribuția Dirichlet parametrizată cu vectorul α și astfel P ~ Dirichlet(α), în timp ce xi variabilele urmează distribuția discretă (Multinomială) parametrizată cu vectorul p de probabilități. Modele ierarhice similare pot fi utilizate în clasificarea documentelor pentru a reprezenta distribuțiile frecvențelor de cuvinte cheie pentru diferite subiecte.

4. Model de amestec finit cu distribuție Dirichlet

Folosind distribuția Dirichlet putem construi a Model de amestec finit care poate fi folosit pentru a realiza clustering. Să presupunem că avem următorul model:

imagine

imagine

imagine

imagine

Ecuația 3: Model de amestec finit cu distribuție Dirichlet

Modelul de mai sus presupune următoarele: Avem un set de date X cu n observații și dorim să efectuăm o analiză de cluster pe acesta. K este un număr finit constant care arată numărul de clustere/componente pe care le vom folosi. Ci variabilele stochează atribuirea clusterului observației Xi, ele iau valori de la 1 la k și urmează Distribuția Discreta cu parametrul p care sunt probabilitățile de amestec ale componentelor. F este distribuția generativă a lui X și este parametrizată cu un parametru imagine care depinde de atribuirea clusterului fiecărei observații. În total avem k unice imagine parametri egali cu numărul clusterelor noastre. The imagine variabila stochează parametrii care parametriză distribuția generativă F și presupunem că urmează o bază G0 distributie. Variabila p stochează procentele de amestec pentru fiecare dintre k clustere și urmează Dirichlet-ul cu parametrii α/k. În cele din urmă, α este un vector dimensional ak cu hiperparametrii (pseudocontele) distribuției Dirichlet [2].

imagine

Figura 4: Modelul grafic al modelului de amestec finit cu distribuție Dirichlet

O modalitate mai simplă și mai puțin matematică de a explica modelul este următoarea. Presupunem că datele noastre pot fi grupate în k clustere. Fiecare cluster are propriii parametri imagine iar acei parametri sunt utilizați pentru a genera datele noastre. Parametrii imagine se presupune că urmează o distribuție G0. Fiecare observație este reprezentată cu un vector xi și aci valoare care indică clusterul căruia îi aparține. În consecință, ci poate fi văzută ca o variabilă care urmează Distribuția Discreta cu un parametru p care nu este altceva decât probabilitățile de amestec, adică probabilitatea de apariție a fiecărui cluster. Având în vedere că ne gestionăm problema în mod bayesian, nu tratăm parametrul p ca un vector constant necunoscut. În schimb, presupunem că P urmează Dirichlet care este parametrizat de hiperparametrii α/k.

5. Lucrul cu infinite k clustere

Modelul de amestec anterior ne permite să realizăm învățarea nesupravegheată, urmează o abordare bayesiană și poate fi extins pentru a avea o structură ierarhică. Cu toate acestea, este un model finit deoarece folosește un număr k predefinit constant de clustere. Ca rezultat, ne cere să definim numărul de componente înainte de a efectua analiza clusterului și, așa cum am discutat mai devreme, în majoritatea aplicațiilor, acest lucru este necunoscut și nu poate fi estimat cu ușurință.

O modalitate de a rezolva acest lucru este să ne imaginăm că k are o valoare foarte mare care tinde spre infinit. Cu alte cuvinte ne putem imagina limita acestui model atunci când k tinde spre infinit. Dacă acesta este cazul, atunci putem vedea că, în ciuda faptului că numărul de clustere k este infinit, numărul real de clustere care sunt active (cele care au cel puțin o observație), nu poate fi mai mare decât n (care este numărul total de observații din setul nostru de date). De fapt, după cum vom vedea mai târziu, numărul de clustere active va fi semnificativ mai mic decât n și ele vor fi proporționale cu imagine.

Desigur, luarea limitei lui k la infinit este netrivială. Se ridică mai multe întrebări, cum ar fi dacă este posibil să luăm o astfel de limită, cum ar arăta acest model și cum putem construi și folosește un astfel de model.

În articolul următor ne vom concentra exact pe aceste întrebări: vom defini Procesul Dirichlet, vom prezenta diferitele reprezentări ale DP și în final ne vom concentra pe Procesul Restaurantului Chinezesc care este o modalitate intuitivă și eficientă de a construi un Proces Dirichlet.

Sper că ați găsit această postare utilă. Dacă ați făcut-o, vă rugăm să acordați un moment pentru a distribui articolul pe Facebook și Twitter. 🙂

Timestamp-ul:

Mai mult de la Datumbox