Zephyrnet-logo

Eindig mengselmodel gebaseerd op Dirichlet-distributie

Datum:

Eindige-mengsel-model-dirichlet-distributieDeze blogpost is het tweede deel van een artikelserie over Dirichlet Process-mengselmodellen. In het vorige artikel hadden we een overzicht van verschillende technieken voor clusteranalyse en we bespraken enkele van de problemen / beperkingen die opkomen door ze te gebruiken. Bovendien presenteerden we kort de Dirichlet-procesmengselmodellen, we bespraken waarom ze nuttig zijn en we presenteerden enkele van hun toepassingen.

Update: het Datumbox Machine Learning Framework is nu open-source en gratis voor Download. Bekijk het pakket com.datumbox.framework.machinelearning.clustering om de implementatie van Dirichlet Process Mixture Models in Java te zien.

De Dirichlet Process Mixture-modellen kunnen in het begin een beetje moeilijk te slikken zijn, vooral omdat het oneindige mengmodellen zijn met veel verschillende representaties. Gelukkig is een goede manier om het onderwerp te benaderen door uit te gaan van de eindige mengmodellen met dirichletdistributie en vervolgens naar de oneindige te gaan.

Daarom zal ik in dit artikel kort enkele belangrijke verdelingen presenteren die we nodig zullen hebben, we zullen ze gebruiken om het Dirichlet Prior met Multinomial Likelihood-model te construeren en dan gaan we over naar het Finite Mixture Model gebaseerd op de Dirichlet Distribution.

1. Beta-distributie

De Beta-distributie is een familie van continue distributies die is gedefinieerd in het interval van [0,1]. Het wordt geparametreerd door twee positieve parameters a en b en de vorm hangt sterk af van de selectie van die twee parameters.

Figuur 1: Beta-distributie voor verschillende a, b-parameters

De bètaverdeling wordt vaak gebruikt om een ​​verdeling over kansen te modelleren en heeft de volgende kansdichtheid:

Vergelijking 1: Beta PDF

Waar Γ (x) de gammafunctie is en a, b de parameters van de verdeling. Bèta wordt vaak gebruikt als een verdeling van kanswaarden en geeft ons de kans dat de gemodelleerde kans gelijk is aan een bepaalde waarde P = p0. Volgens zijn definitie is bètadistributie in staat de waarschijnlijkheid van binaire uitkomsten te modelleren die waarden waar of onwaar aannemen. De parameters a en b kunnen worden beschouwd als de pseudocounts van respectievelijk succes en falen. Dus de Beta Distribution modelleert de kans op succes gegeven a successen en b mislukkingen.

2. Dirichlet-distributie

De Dirichlet-distributie is de veralgemening van bètadistributie voor meerdere resultaten (of met andere woorden, het wordt gebruikt voor evenementen met meerdere resultaten). Het wordt geparametreerd met k-parameters ai wat positief moet zijn. Dirichletverdeling is gelijk aan de bètadistributie als het aantal variabelen k = 2.

Figuur 2: Dirichlet distributie voor verschillende ai parameters

De Dirichlet-verdeling wordt vaak gebruikt om een ​​verdeling over kansen te modelleren en heeft de volgende kansdichtheid:

Vergelijking 2: Dirichlet PDF

Waar Γ (x) de gammafunctie is, is de pi neem waarden in [0,1] en Σpi= 1. De Dirichlet-distributie modelleert de gezamenlijke distributie van pi en geeft de waarschijnlijkheid van P1=p1,P2=p2, ..., Pk-1=pk-1 met Pk= 1 - ΣPi. Net als bij Beta is de ai parameters kunnen worden beschouwd als pseudotellingen van de verschijningen van elke i-gebeurtenis. De Dirichlet-verdeling wordt gebruikt om de waarschijnlijkheid van het optreden van concurrerende gebeurtenissen te modelleren en wordt vaak aangeduid als Dirichlet (a).

3. Dirichlet Prior met multinomiale waarschijnlijkheid

Zoals eerder vermeld kan de Dirichlet-verdeling worden gezien als een verdeling over kansverdelingen. In gevallen waarin we de waarschijnlijkheid van het optreden van k-gebeurtenissen willen modelleren, zou een Bayesiaanse benadering worden gebruikt Multinomiale waarschijnlijkheid en Dirichlet-prijs .

Hieronder zien we het grafische model van zo'n model.

Figuur 3: grafisch model van dirichletpriors met multinomiale waarschijnlijkheid

In het bovenstaande grafische model is α een ak-dimensionale vector met de hyperparameters van Dirichlet-priors, p is een ak-dimensionale vector met de waarschijnlijkheidswaarden en xi is een scalaire waarde van 1 tot k die ons vertelt welke gebeurtenis zich heeft voorgedaan. Ten slotte moeten we opmerken dat de P de Dirichlet-verdeling volgt die is geparametreerd met vector α en dus P ~ Dirichlet (α), terwijl de xi variabelen volgen de discrete distributie (multinomiaal) geparametreerd met de p-vector van waarschijnlijkheden. Vergelijkbare hiërarchische modellen kunnen worden gebruikt in documentclassificatie om de verdelingen van zoekwoordfrequenties voor in verschillende onderwerpen weer te geven.

4. Eindig mengselmodel met Dirichlet-verdeling

Door Dirichlet Distribution te gebruiken kunnen we een Eindig mengselmodel waarmee clustering kan worden uitgevoerd. Laten we aannemen dat we het volgende model hebben:

Vergelijking 3: Eindig mengselmodel met dirichletverdeling

Het bovenstaande model gaat uit van het volgende: We hebben een dataset X met n waarnemingen en we willen er clusteranalyse op uitvoeren. De k is een constant eindig getal dat het aantal clusters / componenten aangeeft dat we zullen gebruiken. De ci variabelen slaan de clustertoewijzing van waarneming X opi, ze nemen waarden van 1 tot k en volgen de discrete distributie met parameter p, de mengkansen van de componenten. De F is de generatieve verdeling van onze X en wordt geparametriseerd met een parameter wat afhangt van de clustertoewijzing van elke waarneming. In totaal hebben we k uniek parameters gelijk aan het aantal van onze clusters. De variabele slaat de parameters op die de generatieve F-verdeling parametreren en we nemen aan dat deze een basis G volgt0 distributie. De p-variabele slaat de mengpercentages op voor elk van de k-clusters en volgt de Dirichlet met parameters α / k. Ten slotte is de α een dimensionale vector met de hyperparameters (pseudocounts) van Dirichlet-distributie [2].

Figuur 4: grafisch model van eindig mengselmodel met dirichletverdeling

Een eenvoudigere en minder wiskundige manier om het model uit te leggen, is de volgende. We gaan er vanuit dat onze data gegroepeerd kunnen worden in k clusters. Elke cluster heeft zijn eigen parameters en die parameters worden gebruikt om onze gegevens te genereren. De parameters wordt verondersteld enige distributie G te volgen0. Elke waarneming wordt weergegeven met een vector xi en aci waarde die het cluster aangeeft waartoe het behoort. De ci kan worden gezien als een variabele die de discrete verdeling volgt met een parameter p die niets anders is dan de mengkansen, dat wil zeggen de waarschijnlijkheid dat elk cluster voorkomt. Aangezien we ons probleem op een Bayesiaanse manier aanpakken, behandelen we de parameter p niet als een constante onbekende vector. In plaats daarvan nemen we aan dat de P Dirichlet volgt die wordt geparametreerd door hyperparameters α / k.

5. Werken met oneindig veel k-clusters

Het vorige mengmodel stelt ons in staat om zonder toezicht te leren, volgt een Bayesiaanse benadering en kan worden uitgebreid tot een hiërarchische structuur. Desalniettemin is het een eindig model omdat het gebruik maakt van een constant voorgedefinieerd k aantal clusters. Het resultaat is dat we het aantal componenten moeten definiëren voordat we Clusteranalyse uitvoeren en zoals we eerder in de meeste toepassingen hebben besproken, is dit onbekend en kan het niet gemakkelijk worden geschat.

Een manier om dit op te lossen is door u voor te stellen dat k een zeer grote waarde heeft die naar het oneindige neigt. Met andere woorden, we kunnen ons de limiet van dit model voorstellen wanneer k naar oneindig neigt. Als dit het geval is, kunnen we zien dat ondanks dat het aantal clusters k oneindig is, het werkelijke aantal actieve clusters (de clusters met ten minste één waarneming) niet groter kan zijn dan n (wat is het totale aantal waarnemingen in onze dataset). Zoals we later zullen zien, zal het aantal actieve clusters aanzienlijk kleiner zijn dan n en evenredig met .

Natuurlijk is het niet triviaal om de limiet van k tot oneindig te nemen. Verschillende vragen rijzen, zoals of het mogelijk is om een ​​dergelijke limiet te nemen, hoe zou dit model eruit zien en hoe kunnen we construeren en gebruik zo'n model.

In het volgende artikel zullen we ons precies op deze vragen concentreren: we zullen het Dirichlet-proces definiëren, we zullen de verschillende representaties van DP presenteren en tot slot zullen we ons concentreren op het Chinese restaurantproces, een intuïtieve en efficiënte manier om een ​​Dirichlet-proces te construeren.

Ik hoop dat je dit bericht nuttig vond. Als dat zo is, neem dan even de tijd om het artikel op Facebook en Twitter te delen. 🙂

Over Vasilis Vryniotis

Mijn naam is Vasilis Vryniotis. Ik ben een Data Scientist, een Software Engineer, auteur van Datumbox Machine Learning Framework en een trotse nerd. Kom meer te weten

Bron: http://blog.datumbox.com/finite-mixture-model-based-on-dirichlet-distribution/

spot_img

Laatste intelligentie

spot_img