Beklenti Maksimizasyon algoritmasının motivasyonu


20

EM algoritma yaklaşımında Jensen'in eşitsizliğini

logp(x|θ)logp(z,x|θ)p(z|x,θ(k))dzlogp(z|x,θ)p(z|x,θ(k))dz

ve tanımlamak tarafından θ ( k + 1 ) = arg max θ log p ( z , x | θ ) p ( z | x , θ ( k ) ) d zθ(k+1)

θ(k+1)=argmaxθlogp(z,x|θ)p(z|x,θ(k))dz

EM'de okuduğum her şey sadece onu ortaya koyuyor, ancak EM algoritmasının neden doğal olarak ortaya çıktığına dair bir açıklama yapmadan her zaman huzursuz hissettim. log olasılığının genellikle çarpma yerine toplama işlemiyle ilgilenildiğini anlıyorum, ancak \ theta ^ {(k + 1)} tanımındaki \ log görünümü beni motive etmiyor. Neden diğer tekdüze işlevleri değil \ log'u düşünmeliyiz ? Çeşitli nedenlerden dolayı, beklentinin maksimize edilmesinin arkasındaki "anlam" veya "motivasyon" un bilgi teorisi ve yeterli istatistik açısından bir çeşit açıklaması olduğundan şüpheleniyorum. Soyut bir algoritmadan çok daha tatmin edici olabilecek bir açıklama olsaydı.logθ(k+1)log


3
Beklenti maksimizasyon algoritması nedir? , Nature Biotechnology 26 : 897–899 (2008), algoritmanın nasıl çalıştığını gösteren güzel bir resme sahiptir.
chl

@chl: Bu makaleyi gördüm.
Sorduğum nokta

Yanıtlar:


10

EM algoritması farklı yorumlara sahiptir ve farklı uygulamalarda farklı şekillerde ortaya çıkabilir.

Her şey en üst düzeye çıkarmak istediğimiz olasılık fonksiyonu veya eşdeğer olarak log-olasılık fonksiyonu . (Genellikle hesaplamayı basitleştirdiğinden logaritmayı kullanırız: Kesinlikle monoton, içbükey ve .) İdeal bir dünyada, değeri sadece model parametresine bağlıdır , böylece uzayda arama yapabilir ve maksimuma çıkaran birini bulabiliriz .p(x|θ)logp(x|θ)log(ab)=loga+logbp θθp

Bununla birlikte, birçok ilginç gerçek dünya uygulamasında işler daha karmaşıktır, çünkü tüm değişkenler gözlenmez. Evet, doğrudan gözlemleyebiliriz , ancak diğer bazı değişkenler gözlemlenmez. Çünkü eksik değişkenler olmadan: biz-tavuk yumurta durum, bir tür olan biz parametresini tahmin edemez ve olmadan biz değeri nedir tahmin edemediği olabilir.xz zzθθz

EM algoritması devreye giriyor. model parametrelerinin ilk tahminiyle başlıyoruz ve eksik değişkenlerinin (yani E adımı) beklenen değerlerini elde ediyoruz . değerlerine sahip olduğumuzda, parametreleri (yani, M adım, problem deyimindeki denklemine karşılık gelen) olasılığını en üst düzeye çıkarabiliriz . Bu ile yeni beklenen değerlerini (başka bir E adımı) türetebiliriz, vb. Başka bir deyişle, her adımda, veθzzθargmaxθzzθ, bilinen. Olasılık arttıkça bu yinelemeli süreci tekrarlıyoruz.

Bu kısaca EM algoritmasıdır. Bu yinelemeli EM işlemi sırasında olasılığın asla azalmayacağı iyi bilinmektedir. Ancak EM algoritmasının global optimumluğu garanti etmediğini unutmayın. Yani, olasılık fonksiyonunun yerel bir optimumuyla sonuçlanabilir.

denkleminde görünümü kaçınılmazdır, çünkü burada en üst düzeye çıkarmak istediğiniz işlev bir günlük olasılığı olarak yazılmıştır.logθ(k+1)


Bunun soruyu nasıl cevapladığını anlamıyorum.
broncoAbierto

9

Olabilirlik ve günlük olabilirlik

Daha önce de belirtildiği gibi, toplamları ürünlere göre optimize etmek genellikle daha kolay olduğu için maksimum olasılıkla sunulur. Diğer monotonik işlevleri dikkate almamamızın nedeni, logaritmanın, ürünleri toplamlara dönüştürme özelliği ile eşsiz bir işlev olmasıdır .log

Logaritmayı motive etmenin bir başka yolu şudur: Modelimiz altındaki verilerin olasılığını en üst düzeye çıkarmak yerine , veri dağılımı, p verileri ( x ) ve model dağılımı, p arasındaki Kullback-Leibler sapmasını en aza indirmeye çalışabiliriz. ( x θ ) ,pdata(x)p(xθ)

DKL[pdata(x)∣∣p(xθ)]=pdata(x)logpdata(x)p(xθ)dx=constpdata(x)logp(xθ)dx.

Sağ taraftaki ilk terim parametrelerde sabittir. Veri dağıtımından (veri noktalarımızdan) örneğimiz varsa , verinin ortalama log olabilirliği ile ikinci terimi yaklaşık olarak tahmin edebiliriz ,N

pdata(x)logp(xθ)dx1Nnlogp(xnθ).

EM'ye alternatif bir bakış

Bunun aradığınız bir açıklama olacağından emin değilim, ancak aşağıdaki beklenti maksimizasyonu görüşünü Jensen'in eşitsizliği yoluyla motivasyonundan çok daha aydınlatıcı buldum ( Neal & Hinton'da (1998) ayrıntılı bir açıklama bulabilirsiniz. veya Chris Bishop'un PRML kitabında, Bölüm 9.3).

Bunu göstermek zor değil

logp(xθ)=q(zx)logp(x,zθ)q(zx)dz+DKL[q(zx)∣∣p(zx,θ)]

herhangi bir . İlk terimi sağ taraftaki F ( q , θ ) olarak adlandırırsak , buq(zx)F(q,θ)

F(q,θ)=q(zx)logp(x,zθ)q(zx)dz=logp(xθ)DKL[q(zx)∣∣p(zx,θ)].

Çünkü KL diverjans her zaman pozitiftir , her sabit Log-olasılığına bağlı bir alt q . Şimdi EM, q ve θ'ya göre dönüşümlü olarak F'yi maksimuma çıkarıyor olarak görülebilir . Özellikle, E adımında q ( z x ) = p ( z x , θ ) ayarlayarak , sağ taraftaki KL sapmasını en aza indiririz ve böylece F'yi en üst düzeye çıkarırız .F(q,θ)qFqθq(zx)=p(zx,θ)F


Gönderi için teşekkürler! Gerçi verilen belge yok logaritma toplamlar içine ürünlerini dönüm eşsiz fonksiyon olduğunu söylüyorlar. Logaritmanın, listelenen üç özelliği de aynı anda yerine getiren tek işlev olduğunu söylüyor .
Weiwei

@Weiwei: Doğru, ancak ilk koşul esas olarak işlevin ters çevrilebilir olmasını gerektirir. Elbette, f (x) = 0 da f (x + y) = f (x) f (y) anlamına gelir, ancak bu ilginç bir durumdur. Üçüncü durum 1 türev taban için logaritma sadece doğru olan 1 sorar . Bu kısıtlamayı bırakın ve farklı üslere logaritma alırsınız, ancak yine de logaritmalar. e
Lucas

4

Beklenti maksimizasyonu ile ilgili açıklayıcı bulduğum yazı Bayesian K-Means, Welling ve Kurihara'nın "Maksimizasyon-Beklenti" Algoritması (pdf) .

Varsayalım x gözlemleri, z gizli rasgele değişkenleri ve toplam θ parametresi olan bir olasılıksal model var . Bize bir veri kümesi D verilir ve (daha yüksek güçler tarafından) p ( z , θ | D ) oluşturmaya zorlanır .p(x,z,θ)xzθDp(z,θ|D)

1. Gibbs örneklemesi

Örnekleme ile değerini tahmin edebiliriz . Gibbs örneklemesi, p ( z , θ | D ) dönüşümlü olarak verir:p(z,θ|D)p(z,θ|D)

θp(θ|z,D)zp(z|θ,D)

2. Varyasyonel Bayes

Bunun yerine, bir ve q ( z ) dağılımı oluşturmayı deneyebilir ve p ( θ , z | D ) sonrasındaki dağılımımızla farkı en aza indirebiliriz . Dağılımlar arasındaki fark, KL-diverjans için uygun bir fantezi ismine sahiptir. En aza indirmek için K L [ k ( θ ) q ( z ) | | p ( θ , z | D ) ] güncelliyoruz:q(θ)q(z)p(θ,z|D)KL[q(θ)q(z)||p(θ,z|D)]

q(θ)exp(E[logp(θ,z,D)]q(z))q(z)exp(E[logp(θ,z,D)]q(θ))

3. Beklenti-Maksimizasyon

Her ikisi için de tam teşekküllü olasılık dağılımları ile gelip ve θ aşırı düşünülebilir. Bunun yerine neden bunlardan biri için bir nokta tahmini düşünmüyoruz ve diğerini güzel ve nüanslı tutuyoruz. EM'de θ parametresi , tam bir dağılımın değeri olmayan olarak belirlenir ve MAP (Maksimum A Posteriori) değerine, θ ayarlanır .zθθθ

θ=argmaxθE[logp(θ,z,D)]q(z)q(z)=p(z|θ,D)

Burada aslında daha iyi bir gösterim olacaktır: argmax operatörü birden fazla değer döndürebilir. Ama nitpick yapmayalım. Varyasyon Bayes karşılaştırıldığında için düzeltme görüyoruz günlüğüne tarafından exp bu artık gerekli değildir, bu yüzden sonuç değişmez.θargmaxlogexp

4. Maksimizasyon-Beklenti

Tedavi için hiçbir neden yoktur şımarık bir çocuk gibi. Biz sadece yanı nokta tahminleri kullanabilirsiniz z * Bizim gizli değişkenler için ve parametreler vermek İçeride ISTV melerin RWMAIWi'nin tam dağılımının lüks.zzθ

z=argmaxzE[logp(θ,z,D)]q(θ)q(θ)=p(θ|z,D)

Eğer gizli değişkenlerimiz gösterge değişkenleri ise, aniden küme sayısı üzerinde çıkarım yapmak için hesaplamalı olarak ucuz bir yöntemimiz vardır. Başka bir deyişle: model seçimi (veya otomatik alaka algılaması veya başka bir fantezi adı hayal edin).z

5. Yinelenen koşullu modlar

θz

θ=argmaxθp(θ,z,D)z=argmaxzp(θ,z,D)

To see how Maximization-Expectation plays out I highly recommend the article. In my opinion, the strength of this article is however not the application to a k-means alternative, but this lucid and concise exposition of approximation.


(+1) this is a beautiful summary of all methods.
kedarps

4

There is a useful optimisation technique underlying the EM algorithm. However, it's usually expressed in the language of probability theory so it's hard to see that at the core is a method that has nothing to do with probability and expectation.

Consider the problem of maximising

g(x)=iexp(fi(x))
(or equivalently logg(x)) with respect to x. If you write down an expression for g(x) and set it equal to zero you will often end up with a transcendental equation to solve. These can be nasty.

Now suppose that the fi play well together in the sense that linear combinations of them give you something easy to optimise. For example, if all of the fi(x) are quadratic in x then a linear combination of the fi(x) will also be quadratic, and hence easy to optimise.

Given this supposition, it'd be cool if, in order to optimise logg(x)=logiexp(fi(x)) we could somehow shuffle the log past the so it could meet the exps and eliminate them. Then the fi could play together. But we can't do that.

Let's do the next best thing. We'll make another function h that is similar to g. And we'll make it out of linear combinations of the fi.

Let's say x0 is a guess for an optimal value. We'd like to improve this. Let's find another function h that matches g and its derivative at x0, i.e. g(x0)=h(x0) and g(x0)=h(x0). If you plot a graph of h in a small neighbourhood of x0 it's going to look similar to g.

You can show that

g(x)=ifi(x)exp(fi(x)).
We want something that matches this at x0. There's a natural choice:
h(x)=constant+ifi(x)exp(fi(x0)).
You can see they match at x=x0. We get
h(x)=ifi(x)exp(fi(x0)).
As x0 is a constant we have a simple linear combination of the fi whose derivative matches g. We just have to choose the constant in h to make g(x0)=h(x0).

So starting with x0, we form h(x) and optimise that. Because it's similar to g(x) in the neighbourhood of x0 we hope the optimum of h is similar to the optimum of g. Once you have a new estimate, construct the next h and repeat.

I hope this has motivated the choice of h. This is exactly the procedure that takes place in EM.

But there's one more important point. Using Jensen's inequality you can show that h(x)g(x). This means that when you optimise h(x) you always get an x that makes g bigger compared to g(x0). So even though h was motivated by its local similarity to g, it's safe to globally maximise h at each iteration. The hope I mentioned above isn't required.

This also gives a clue to when to use EM: when linear combinations of the arguments to the exp function are easier to optimise. For example when they're quadratic - as happens when working with mixtures of Gaussians. This is particularly relevant to statistics where many of the standard distributions are from exponential families.


3

As you said, I will not go into technical details. There are quite a few very nice tutorials. One of my favourites are Andrew Ng's lecture notes. Take a look also at the references here.

  1. EM is naturally motivated in mixture models and models with hidden factors in general. Take for example the case of Gaussian mixture models (GMM). Here we model the density of the observations as a weighted sum of K gaussians:

    p(x)=i=1KπiN(x|μi,Σi)
    where πi is the probability that the sample x was caused/generated by the ith component, μi is the mean of the distribution, and Σi is the covariance matrix. The way to understand this expression is the following: each data sample has been generated/caused by one component, but we do not know which one. The approach is then to express the uncertainty in terms of probability (πi represents the chances that the ith component can account for that sample), and take the weighted sum. As a concrete example, imagine you want to cluster text documents. The idea is to assume that each document belong to a topic (science, sports,...) which you do not know beforehand!. The possible topics are hidden variables. Then you are given a bunch of documents, and by counting n-grams or whatever features you extract, you want to then find those clusters and see to which cluster each document belongs to. EM is a procedure which attacks this problem step-wise: the expectation step attempts to improve the assignments of the samples it has achieved so far. The maximization step you improve the parameters of the mixture, in other words, the form of the clusters.
  2. The point is not using monotonic functions but convex functions. And the reason is the Jensen's inequality which ensures that the estimates of the EM algorithm will improve at every step.

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.