- Kan 12, 2014
- Vasilis Vryniotis
- . 4 kommentarer
Dette blogginnlegget er den andre delen av en artikkelserie om Dirichlet Process-blandingsmodeller. I forrige artikkel hadde vi en oversikt over flere klyngeanalyseteknikker og vi diskuterte noen av problemene / begrensningene som stiger ved å bruke dem. Videre presenterte vi kort Dirichlet Process Mixture Modeller, vi snakket om hvorfor de er nyttige, og vi presenterte noen av deres applikasjoner.
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.
Dirichlet Process Mixture Modeller kan være litt vanskelig å svelge i begynnelsen, først og fremst fordi de er uendelige blandingsmodeller med mange forskjellige representasjoner. Heldigvis er en god måte å nærme seg emnet på ved å starte fra Finite Mixture Modeller med Dirichlet Distribution og deretter flytte til de uendelige.
Derfor vil jeg i denne artikkelen kort presentere noen viktige distribusjoner som vi trenger, vi vil bruke dem til å konstruere Dirichlet Prior med multinomial Likelihood-modell, og deretter vil vi gå til Finite Mixture Model basert på Dirichlet Distribution.
1. Betadistribusjon
De Betadistribusjon er en familie av kontinuerlige fordelinger som er definert i intervallet [0,1]. Den er parameterisert av to positive parametere a og b, og dens form avhenger sterkt av valget av de to parametrene.
Figur 1: Betadistribusjon for forskjellige parametere a, b
Beta-fordelingen brukes ofte til å modellere en fordeling over sannsynligheter og har følgende sannsynlighetstetthet:
Likning 1: Beta PDF
Der Γ (x) er gammafunksjonen og a, b fordelingsparametrene. Beta brukes ofte som en fordeling av sannsynlighetsverdier og gir oss sannsynligheten for at den modellerte sannsynligheten er lik en bestemt verdi P = p0. Etter sin definisjon er Beta-fordelingen i stand til å modellere sannsynligheten for binære utfall som tar verdier sanne eller falske. Parametrene a og b kan betraktes som henholdsvis pseudoteller for suksess og fiasko. Dermed modellerer Beta Distribution sannsynligheten for suksess gitt suksesser og b-feil.
2. Dirichlet Distribusjon
De Dirichlet Distribusjon er generalisering av Betadistribusjon for flere utfall (eller med andre ord den brukes til arrangementer med flere utfall). Den er parameterisert med k-parametere ai som må være positivt. Dirichlet-fordeling er lik Beta-fordelingen når antall variabler k = 2.
Figur 2: Dirichlet-distribusjon for forskjellige ai parametere
Dirichlet-fordelingen brukes ofte til å modellere en fordeling over sannsynligheter og har følgende sannsynlighetstetthet:
Likning 2: Dirichlet PDF
Der Γ (x) er gammafunksjonen, blir pi ta verdier i [0,1] og Σpi= 1. Dirichlet-distribusjonen modellerer felles distribusjon av si og gir sannsynligheten for P1=p1,P2=p2, ...., Pk-1=pk-1 med Pk= 1 - ΣPi. Som i tilfellet med Beta, er ai parametere kan betraktes som pseudeteller for utseendet til hver i-hendelse. Dirichlet-fordelingen brukes til å modellere sannsynligheten for at k rivaliserende hendelser oppstår, og blir ofte betegnet som Dirichlet (a).
3. Dirichlet Prior med multinomial sannsynlighet
Som nevnt tidligere kan Dirichlet-fordelingen sees på som en fordeling over sannsynlighetsfordelinger. I tilfeller der vi ønsker å modellere sannsynligheten for at k hendelser oppstår, vil en Bayesisk tilnærming være å bruke Multinomial Likelihood og Dirichlet Priors .
Nedenfor kan vi se den grafiske modellen til en slik modell.
Figur 3: grafisk modell av Dirichlet Priors med multinomial sannsynlighet
I den ovennevnte grafiske modellen er α ak dimensjonsvektor med hyperparametrene til Dirichlet priors, p er ak dimensjonsvektor med sannsynlighetsverdiene og xi er en skalarverdi fra 1 til k som forteller oss hvilken hendelse som har skjedd. Til slutt skal vi merke oss at P følger Dirichlet-fordelingen parametrisert med vektor α og dermed P ~ Dirichlet (α), mens xi variabler følger den diskrete fordelingen (multinomial) parameterisert med p-vektoren for sannsynligheter. Lignende hierarkiske modeller kan brukes i dokumentklassifisering for å representere fordelingen av søkeordfrekvenser for forskjellige emner.
4. Endelig blandingsmodell med Dirichlet-distribusjon
Ved å bruke Dirichlet Distribution kan vi konstruere en Endelig blandingsmodell som kan brukes til å utføre klynging. La oss anta at vi har følgende modell:
Ligning 3: Endelig blandingsmodell med dirikletfordeling
Ovennevnte modell forutsetter følgende: Vi har et datasett X med n observasjoner, og vi vil utføre klyngeanalyse på det. K er et konstant endelig tall som viser antall klynger / komponenter som vi vil bruke. Ci variabler lagrer klyngetildelingen av observasjon Xi, tar de verdiene fra 1 til k og følger Diskret fordeling med parameteren p som er blandingssannsynlighetene til komponentene. F er den generative fordelingen av vår X, og den er parameterisert med en parameter som avhenger av klyngetildelingen til hver observasjon. Totalt har vi k unike parametere lik antall klynger. De variabel lagrer parametrene som parameteriserer den generative F-distribusjonen, og vi antar at den følger en base G0 fordeling. P-variabelen lagrer blandingsprosentene for hver av k-klyngene og følger Dirichlet med parametrene α / k. Til slutt er α en dimensjonsvektor med hyperparametrene (pseudocounts) for Dirichlet-fordeling [2].
Figur 4: Grafisk modell for endelig blandingsmodell med dirikletfordeling
En enklere og mindre matematisk måte å forklare modellen på er følgende. Vi antar at dataene våre kan grupperes i k klynger. Hver klynge har sine egne parametere og disse parameterne brukes til å generere dataene våre. Parametrene antas å følge noen fordeling G0. Hver observasjon er representert med en vektor xi og aci verdi som indikerer klyngen den tilhører. Følgelig ble ci kan sees på som en variabel som følger Diskret fordeling med en parameter p som ikke er noe annet enn blandingssannsynlighetene, dvs. sannsynligheten for at hver klynge skal forekomme. Gitt at vi håndterer problemet vårt på en Bayesisk måte, behandler vi ikke parameteren p som en konstant ukjent vektor. I stedet antar vi at P følger Dirichlet som er parameterisert av hyperparametere α / k.
5. Arbeide med uendelige k-klynger
Den forrige blandingsmodellen lar oss utføre læring uten tilsyn, følger en Bayesisk tilnærming og kan utvides til å ha en hierarkisk struktur. Likevel er det en endelig modell fordi den bruker et konstant forhåndsdefinert k antall klynger. Som et resultat krever det at vi definerer antall komponenter før vi utfører klyngeanalyse, og som vi diskuterte tidligere i de fleste applikasjoner, er dette ukjent og kan ikke enkelt estimeres.
En måte å løse dette på er å forestille seg at k har en veldig stor verdi som har en tendens til uendelig. Med andre ord kan vi forestille oss grensen for denne modellen når k har en tendens til uendelig. Hvis dette er tilfelle, kan vi se at til tross for at antall klynger k er uendelig, kan det faktiske antall klynger som er aktive (de som har minst en observasjon), ikke være større enn n (som er det totale antallet observasjoner i datasettet vårt). Som vi vil se senere, vil antallet aktive klynger være betydelig mindre enn n, og de vil være proporsjonale med .
Selvfølgelig er det ikke trivielt å ta grensen på k til uendelig. Flere spørsmål dukker opp som om det er mulig å ta en slik grense, hvordan ville denne modellen se ut og hvordan kan vi konstruere og bruke en slik modell.
I neste artikkel vil vi fokusere på nøyaktig disse spørsmålene: vi vil definere Dirichlet-prosessen, vi vil presentere de forskjellige representasjonene av DP og til slutt vil vi fokusere på den kinesiske restaurantprosessen, som er en intuitiv og effektiv måte å konstruere en Dirichlet-prosess på.
Jeg håper du syntes dette innlegget var nyttig. Hvis du gjorde det, ta deg tid til å dele artikkelen på Facebook og Twitter. 🙂
- 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