İki değişkenli karışım dağılımıyla EM Algoritmasından yakınsama


9

Bir veri kümesinin maksimum olabilirlik tahmincisini bulmak istediğim bir karışım modelim var xve kısmen gözlenen bir veri kümesi . Beklenen verilen negatif log olasılığını en aza indirmek için E adımını ( verilen beklentisini ve mevcut parametreleri hesaplayarak ) ve M adımını uyguladım .zzxθkz

Anladığım kadarıyla, her yineleme için maksimum olasılık artıyor, bu da her günlük yineleme için negatif log olasılığının azalması gerektiği anlamına mı geliyor? Ancak, yinelediğim gibi, algoritma gerçekten de negatif log olasılığının azalan değerlerini üretmez. Bunun yerine, hem azalan hem de artan olabilir. Örneğin bu, yakınsamaya kadar negatif log-olasılık olasılığının değerleridir:

resim açıklamasını buraya girin

Burada yanlış anladığım var mı?

Ayrıca, gerçek latent (gözlemlenmemiş) değişkenler için maksimum olasılığı gerçekleştirdiğimde simüle edilmiş veriler için, mükemmel uyum için yakınım var, bu da hiçbir programlama hatası olmadığını gösteriyor. EM algoritması için, özellikle parametrelerin belirli bir alt kümesi (yani sınıflandırma değişkenlerinin oranları) için açıkça en düşük çözümlere yakınsar. Algoritmanın yerel minima veya sabit noktalara yakınlaşabileceği iyi bilinmektedir, geleneksel bir arama sezgisel veya küresel minimum (veya maksimum) bulma olasılığını artırmak için . Bu özel problem için çok değişkenli sınıflandırmalar olduğuna inanıyorum çünkü iki değişkenli karışımdan, iki dağılımdan biri olasılıkla bir değer alıyor (gerçek yaşamın bulunduğu yaşamların bir karışımıdır)T=zT0+(1-z) ; burada , her iki dağıtımdan birine ait olduğunu gösterir. Elbette göstergesi veri setinde sansürlenir. zzresim açıklamasını buraya girin

Teorik çözümle başladığım zaman için ikinci bir rakam ekledim (optimal olana yakın olmalı). Ancak görülebileceği gibi, olasılık ve parametreler bu çözümden açıkça daha düşük olana dönüşmektedir.

edit: Tam veriler ; burada , konu için gözlemlenen bir zamandır , , zamanın gerçek bir olayla ilişkili olup olmadığını gösterir bunun doğru (1 o anlamına gelir etkinlik ve 0 anlamına gelir: sağ sansürleme) durdurulmuş veya kesme göstergesi gözlem (muhtemelen 0) kesilmesi zamanı ve son olarak gözlem ait olan nüfusu göstergesi (yana olan iki değişkenli olduğu için sadece 0 ve 1'i dikkate almamız gerekir).xben=(tben,δben,Lben,τben,zben)tbenbenδbenLbenτbenzben

İçin biz yoğunluk fonksiyonu vardır , benzer şekilde bu kuyruk dağılım fonksiyonu ile ilişkili olan . İçin ilgi olayı gerçekleşmez. Bu dağılımla ilişkili olmamasına rağmen , bunu , dolayısıyla ve olarak tanımlıyoruz . Bu ayrıca aşağıdaki tam karışım dağılımını da verir:z=1fz(t)=f(t|z=1)Sz(t)=S(t|z=1)z=0tinff(t|z=0)=0S(t|z=0)=1

f(t)=Σben=01pbenf(t|z=ben)=pf(t|z=1) ve S(t)=1-p+pSz(t)

Olasılığın genel biçimini tanımlamaya devam ediyoruz:

L(θ;xben)=Πbenf(tben;θ)δbenS(tben;θ)1-δbenS(Lben)τben

Şimdi, sadece olduğunda kısmen gözlenir , aksi takdirde bilinmiyor. Tam olasılıkzδ=1

L(θ,p;xben)=Πben((pfz(tben;θ))zben)δben((1-p)(1-zben)(pSz(tben;θ))zben)1-δben((1-p)(1-zben)(pSz(Lben;θ))zben)τben

burada , karşılık gelen dağılımın ağırlığıdır (muhtemelen bazı ortak değişkenler ve bunların bir bağlantı fonksiyonu ile ilgili katsayıları ile ilişkilidir). Çoğu literatürde bu aşağıdaki mantıksallık için basitleştirilmiştirp

Σ(zbenln(p)+(1-p)ln(1-p)-τben(zbenln(p)+(1-zben)ln(1-p))+δbenzbenfz(tben;θ)+(1-δben)zbenSz(tben;θ)-τbenSz(Lben;θ))

İçin M-aşaması , bu fonksiyon olmasa da 1 maksimizasyonu yöntemi bütünüyle, maksimize edilmektedir. Bunun yerine bunun .l(θ,p;)=l1(θ,)+l2(p,)

K: th + 1 E-adımı için , (kısmen) gözlemlenmeyen gizli değişkenler beklenen değerini . , sonra olduğu gerçeğini kullanıyoruz .zbenδ=1z=1

E(zben|xben,θ(k),p(k))=δben+(1-δben)P(zben=1;θ(k),p(k)|xben)

Burada,P(zben=1;θ(k),p(k)|xben)=P(xben;θ(k),p(k)|zben=1)P(zben=1;θ(k),p(k))P(xben;θ(k),p(k))

bu da bizeP(zben=1;θ(k),p(k)|xben)=pSz(tben;θ(k))1-p+pSz(tben;θ(k))

(Burada olduğuna , bu nedenle gözlemlenen bir olay yoktur, bu nedenle verilerinin olasılığı kuyruk dağılımı işlevi tarafından verilir.δben=0xben


Sorunumuzun değişkenlerini en baştan, E ve M denklemlerinizi yazabilir misiniz?
alberto

1
Tabii ki, soruyu E ve M adımlarıyla ilgili daha fazla ayrıntıyla düzenledim
Good Guy Mike

Açıklığa kavuşturmak için, çizilen değerler, eksik veriler için tahmini değerler verildiğinde tam MLE'dir.
Good Guy Mike

Nedir ? Anlamıyorum "bu dağıtım ile ilişkili t olmasına rağmen, biz inf olarak tanımlamak ...". Sz
wij

1
EM algoritması, beklenen tam veri olasılığını doğrudan en üst düzeye çıkarır, ancak gözlemlenen veri olasılığının artmasını garanti edebilir. Gözlenen veri olasılığının artışını kontrol ediyor musunuz?
Randel

Yanıtlar:


7

EM'nin amacı, gözlemlenen veri günlüğü olasılığını en üst düzeye çıkarmaktır,

l(θ)=Σbenln[Σzp(xben,z|θ)]

Ne yazık ki, bu göre optimize etmek zor olma eğilimindedir . Bunun yerine EM, yardımcı işlevi tekrar tekrar oluşturur ve en üst düzeye çıkarırθ

S(θ,θt)=Ez|θt(Σbenlnp(xben,zben|θ))

Eğer maksimize , EM garantiθt+1S(θ,θt)

l(θt+1)S(θt+1,θt)S(θt,θt)=l(θt)

Bunun neden böyle olduğunu tam olarak bilmek istiyorsanız, Murphy'nin Makine Öğrenimi: Olasılıkçı Bir Perspektif Bölüm 11.4.7 iyi bir açıklama yapar. Senin uygulanması durumunda gelmez bu eşitsizlikleri tatmin olur, hata bir yere yaptık. Gibi şeyler söylemek

Mükemmel uyum yakın, programlama hataları olmadığını gösteren

tehlikeli. Birçok optimizasyon ve öğrenme algoritmasıyla, hata yapmak çok kolaydır, ancak çoğu zaman doğru görünümlü cevaplar alırsınız. Sevdiğim bir sezgi, bu algoritmaların dağınık verilerle başa çıkması için tasarlandığından, hatalarla da ilgilenmeleri şaşırtıcı değil!


Sorunuzun diğer yarısında,

geleneksel bir arama sezgisel mi yoksa benzer şekilde küresel minimum (veya maksimum) bulma olasılığını artırmak mı

Rastgele yeniden başlatmalar en kolay yaklaşımdır; bir sonraki en kolayı muhtemelen ilk parametreler üzerinde tavlama simülasyonudur. Ayrıca EM'nin deterministik tavlama adı verilen bir varyantını duydum , ancak kişisel olarak kullanmadım, bu yüzden size çok fazla şey söyleyemem.


1
Güzel cevap (+1). Resmi referanslar (özellikle, kısmen alıntı yapılan "Makine Öğrenimi: Olasılıkçı Bir Perspektif" kaynağına bir referans) eklerseniz daha da iyi olurdu.
Aleksandr Blekh

Cevabınız için çok teşekkür ederim. Algoritmanın koddaki bir hatayı düzelttikten sonra şimdi düzgün bir şekilde birleştiğini gördüm, ancak yalnızca kesilmiş verilerimi hariç tuttuğumda. Aksi takdirde haywire gider. Bunun bazı hataların bir sonucu olduğuna inanıyorum.
İyi Guy Mike

Aslında sorun, "heterojen kesilme" ile uğraşmam, yani tüm gözlemler için oybirliğiyle kesilme eşiğinden ziyade, her bir gözlem için ayrı bir kesilme noktası olması. Bu ayarları literatürde hiç bulamadım veya bulamadım, bu yüzden doğru bir şekilde çözdüğümü doğrulayamıyorum. Bu ayarı herhangi bir şansla görürseniz, bu referanslara bir göz atmak isterim! Lben
İyi Guy Mike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.