- Juni 23, 2014
- Vasilis Vryniotis
- . 2 kommentarer
Dette blogginnlegget er den fjerde delen av serien om Gruppering med Dirichlet prosessblandingsmodeller. I tidligere artikler diskuterte vi de endelige Dirichlet-blandingsmodellene og vi tok grensen for deres modell for uendelige k-klynger som førte oss til introduksjonen av Dirichlet-prosesser. Som vi så, er målet vårt å bygge en blandingsmodell som ikke krever at vi spesifiserer antall k klynger/komponenter fra begynnelsen. Etter presentere ulike representasjoner av Dirichlet-prosesser, er det nå på tide å faktisk bruke DP-er for å konstruere en uendelig blandingsmodell som gjør oss i stand til å utføre klynging. Målet med denne artikkelen er å definere Dirichlet-prosessblandingsmodellene og diskutere bruken av kinesisk restaurantprosess og Gibbs Sampling. Hvis du ikke har lest de tidligere innleggene, anbefales det på det sterkeste å gjøre det da temaet er litt teoretisk og krever god forståelse for konstruksjonen av modellen.
Oppdatering: Datumbox Machine Learning Framework er nå åpen kildekode og gratis å nedlasting. Sjekk ut pakken com.datumbox.framework.machinelearning.clustering for å se implementeringen av Dirichlet Process Mixture Models i Java.
1. Definisjon av Dirichlet prosessblandingsmodell
Ved å bruke Dirichlet-prosesser kan vi ha en blandingsmodell med uendelige komponenter som kan tenkes å ta grensen for den endelige modellen for k til uendelig. La oss anta at vi har følgende modell:
Ligning 1: Dirichlet prosessblandingsmodell
Hvor G er definert som og brukes som en kort notasjon for som er en delta-funksjon som tar 1 hvis og 0 andre steder. θi er klyngeparametrene som er samplet fra G. Den generative fordelingen F er konfigurert av klyngeparametrene θi og brukes til å generere xi observasjoner. Til slutt kan vi definere en tetthetsfordeling som er vår blandingsdistribusjon (telbar uendelig blanding) med blandingsforhold og blande komponenter .
Figur 1: Grafisk modell av Dirichlet prosessblandingsmodell
Ovenfor kan vi se den tilsvarende grafiske modellen til DPMM. G0 er basisfordelingen til DP og den velges vanligvis til å være konjugert før vår generative distribusjon F for å gjøre beregningene enklere og bruke de tiltalende matematiske egenskapene. α er den skalære hyperparameteren til Dirichlet Process og påvirker antall klynger vi vil få. Jo større verdien av α, jo flere klynger; jo mindre α jo færre klynger. Vi bør merke oss at verdien av α uttrykker troens styrke i G0. En stor verdi indikerer at de fleste prøvene vil være distinkte og ha verdier konsentrert om G0. G er en tilfeldig fordeling over Θ parameterrom samplet fra DP som tildeler sannsynligheter til parameterne. θi er en parametervektor som er trukket fra G-fordelingen og inneholder parametrene til klyngen, F-fordelingen er parameterisert av θi og xi er datapunktet generert av den generative distribusjonen F.
Det er viktig å merke seg at θi er elementer i Θ-parameterrommet og de "konfigurerer" våre klynger. De kan også sees på som latente variabler på xi som forteller oss fra hvilken komponent/klynge xi kommer fra og hva er parametrene til denne komponenten. Altså for hver xi som vi observerer, tegner vi en θi fra G-fordelingen. For hver trekning endres fordelingen avhengig av de tidligere valgene. Som vi så i Blackwell-MacQueen urneskjemaet, kan G-distribusjonen integreres og våre fremtidige valg av θi bare avhengig av G0: . Å estimere parametrene θi fra den forrige formelen er ikke alltid mulig fordi mange implementeringer (som for eksempel kinesisk restaurantprosess) involverer oppregning gjennom eksponentielt økende k komponenter. Derfor brukes omtrentlige beregningsmetoder som Gibbs Sampling. Til slutt bør vi merke oss at selv om k-klynger er uendelige, er antallet aktive klynger . Dermed θi vil gjenta og vise en klyngeeffekt.
2. Bruke den kinesiske restaurantprosessen for å definere en uendelig blandingsmodell
Modellen definert i forrige segment er matematisk solid, men den har likevel en stor ulempe: for hver ny xi som vi observerer, må vi prøve en ny θi tar i betraktning de tidligere verdiene av θ. Problemet er at i mange tilfeller kan prøvetaking av disse parameterne være en vanskelig og beregningsmessig kostbar oppgave.
En alternativ tilnærming er å bruke den kinesiske restaurantprosessen for å modellere de latente variablene zi av klyngeoppdrag. På denne måten i stedet for å bruke θi for å betegne både klyngeparametrene og klyngetilordningene bruker vi den latente variabelen zi for å indikere klynge-ID, og bruk deretter denne verdien til å tilordne klyngeparameterne. Som et resultat trenger vi ikke lenger å sample en θ hver gang vi får en ny observasjon, men i stedet får vi klyngetilordningen ved å prøve zi fra CRP. Med dette skjemaet blir en ny θ samplet bare når vi trenger å opprette en ny klynge. Nedenfor presenterer vi modellen for denne tilnærmingen:
Ligning 2: Blandingsmodell med CRP
Ovenstående er en generativ modell som beskriver hvordan dataene xi og klyngene genereres. For å utføre klyngeanalysen må vi bruke observasjonene xi og estimere klyngetilordningene zi.
3. Blandingsmodellslutning og Gibbs-prøvetaking
Dessverre siden Dirichlet-prosesser er ikke-parametriske, har vi kan ikke bruke EM-algoritmen å estimere de latente variablene som lagrer klyngetilordningene. For å estimere oppdragene vil vi bruke Kollapset Gibbs Sampling.
The Collapsed Gibbs Sampling er en enkel Markov Chain Monte Carlo (MCMC) algoritme. Det er raskt og gjør det mulig for oss å integrere ut noen variabler mens vi prøver en annen variabel. Ikke desto mindre krever disse algoritmene at vi velger en G0 som er et konjugat forut for F generativ fordeling for å kunne løse analytisk likningene og kunne prøve direkte fra .
Trinnene i Collapsed Gibbs Sampling som vi vil bruke for å estimere klyngetilordningene er følgende:
- Initialiser zi klyngeoppdrag tilfeldig
- Gjenta til konvergens
-
Velg tilfeldig en xi
- Behold den andre zj fast for hver j≠i:
- Tilordne en ny verdi på zi ved å beregne "CRP-sannsynligheten" som avhenger av zj og xj av alle j≠i:
I den neste artikkelen vil vi fokusere på hvordan du utfører klyngeanalyse ved å bruke Dirichlet Process Mixture-modeller. Vi vil definere to forskjellige Dirichlet-prosessblandingsmodeller som bruker den kinesiske restaurantprosessen og den kollapsede Gibbs-prøvetakingen for å utføre klynging på kontinuerlige datasett og dokumenter.
- AI
- ai kunst
- ai art generator
- du har en robot
- kunstig intelligens
- sertifisering av kunstig intelligens
- kunstig intelligens robot
- kunstig intelligens roboter
- programvare for kunstig intelligens
- blockchain
- blockchain konferanse ai
- coingenius
- samtale kunstig intelligens
- kryptokonferanse ai
- dall sin
- Datoboks
- dyp læring
- google det
- maskinlæring
- Maskinlæring og statistikk
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- skala ai
- syntaks
- zephyrnet