Động lực của thuật toán tối đa hóa kỳ vọng


20

Trong cách tiếp cận thuật toán EM chúng tôi sử dụng Bất đẳng thức Jensen để đi đến

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

và xác định θ(k+1) bởi

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

Tất cả mọi thứ tôi đọc EM chỉ cần đặt nó xuống nhưng tôi luôn cảm thấy khó chịu khi không có lời giải thích tại sao thuật toán EM phát sinh một cách tự nhiên. Tôi hiểu rằng log khả năng thường được xử lý để đối phó với Ngoài ra thay vì nhân nhưng sự xuất hiện của log trong định nghĩa của θ(k+1) cảm thấy không có động lực cho tôi. Tại sao người ta nên xem xét log và không phải các chức năng đơn điệu khác? Vì nhiều lý do, tôi nghi ngờ rằng "ý nghĩa" hay "động lực" đằng sau tối đa hóa kỳ vọng có một số loại giải thích về mặt lý thuyết thông tin và thống kê đầy đủ. Nếu có một lời giải thích như vậy sẽ bão hòa hơn nhiều so với chỉ là một thuật toán trừu tượng.


3
Thuật toán tối đa hóa kỳ vọng là gì? , Công nghệ sinh học tự nhiên 26 : 897 cường899 (2008) có một hình ảnh đẹp minh họa cách thức hoạt động của thuật toán.
chl

@chl: Mình đã xem bài báo đó. Điểm tôi đang hỏi là thông báo rằng không nơi nào giải thích được tại sao cách tiếp cận không đăng nhập không thể hoạt động
user782220

Câu trả lời:


10

Thuật toán EM có các cách hiểu khác nhau và có thể phát sinh ở các dạng khác nhau trong các ứng dụng khác nhau.

Tất cả bắt đầu với hàm khả năng , hoặc tương đương, hàm khả năng ghi nhật ký p ( x | θ ) mà chúng tôi muốn tối đa hóa. (Chúng tôi thường sử dụng logarit vì nó đơn giản hóa phép tính: Nó hoàn toàn đơn điệu, lõm và log ( a b ) = log a + log b .) Trong một thế giới lý tưởng, giá trị của p chỉ phụ thuộc vào tham số mô hình θ , vì vậy chúng ta có thể tìm kiếm thông qua không gian của θ và tìm thấy một nhằm tối đa hóap(x|θ)logp(x|θ)log(ab)=loga+logbp θθ .p

Tuy nhiên, trong nhiều ứng dụng thực tế thú vị, mọi thứ phức tạp hơn, bởi vì không phải tất cả các biến đều được quan sát. Có, chúng ta có thể quan sát trực tiếp , nhưng một số biến z khác không được quan sát. Bởi vì sự biến mất z , chúng tôi đang ở trong một loại tình huống con gà và trứng: Nếu không có z chúng ta không thể ước lượng tham số θ và không có θ chúng ta không thể suy ra những gì giá trị của z có thể được.xz zzθθz

Đó là nơi thuật toán EM phát huy tác dụng. Chúng tôi bắt đầu với một dự đoán ban đầu của mô hình thông số và lấy được các giá trị kỳ vọng của các biến thiếu z (tức là, bước E). Khi chúng ta có các giá trị của z , chúng ta có thể tối đa hóa khả năng ghi các tham số θ (nghĩa là bước M, tương ứng với phương trình arg max trong báo cáo vấn đề). Với điều này θ chúng ta có thể lấy được giá trị dự kiến mới của z (một bước E), vân vân và vân vân. Nói cách khác, trong mỗi bước chúng ta giả định một trong những cả hai, zθθzzθargmaxθzzθ, đã được biết đến. Chúng tôi lặp lại quá trình lặp đi lặp lại này cho đến khi khả năng không thể tăng thêm nữa.

Đây là thuật toán EM một cách ngắn gọn. Người ta biết rằng khả năng sẽ không bao giờ giảm trong quá trình EM lặp đi lặp lại này. Nhưng hãy nhớ rằng thuật toán EM không đảm bảo tối ưu toàn cầu. Đó là, nó có thể kết thúc với một chức năng tối ưu cục bộ.

Sự xuất hiện của trong phương trình của θ ( k + 1 ) là không thể tránh khỏi, bởi vì ở đây các chức năng bạn muốn tối đa hóa được viết như một loga.logθ(k+1)


Tôi không thấy cách này trả lời câu hỏi.
broncoAbierto

9

Khả năng so với khả năng đăng nhập

Như đã nói, được giới thiệu trong khả năng tối đa đơn giản vì nó thường dễ dàng tối ưu hóa các khoản tiền hơn so với các sản phẩm. Lý do chúng tôi không xem xét các chức năng đơn điệu khác là logarit là chức năng duy nhất có đặc tính biến sản phẩm thành tổng.log

Một cách khác để thúc đẩy logarit là như sau: Thay vì tối đa hóa xác suất của dữ liệu theo mô hình của chúng tôi, chúng tôi có thể cố gắng giảm thiểu phân kỳ Kullback-Leibler giữa phân phối dữ liệu, dữ liệu và phân phối mô hình, p ( x | q ) ,pdata(x)p(xθ)

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

Thuật ngữ đầu tiên ở phía bên tay phải là hằng số trong các tham số. Nếu chúng tôi có mẫu từ phân phối dữ liệu (điểm dữ liệu của chúng tôi), chúng tôi có thể tính gần đúng thuật ngữ thứ hai với khả năng ghi nhật ký trung bình của dữ liệu,N

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

An alternative view of EM

I am not sure this is going to be the kind of explanation you are looking for, but I found the following view of expectation maximization much more enlightening than its motivation via Jensen's inequality (you can find a detailed description in Neal & Hinton (1998) or in Chris Bishop's PRML book, Chapter 9.3).

It is not difficult to show that

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

for any q(zx). If we call the first term on the right-hand side F(q,θ), this implies that

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

Because the KL divergence is always positive, F(q,θ) is a lower bound on the log-likelihood for every fixed q. Now, EM can be viewed as alternately maximizing F with respect to q and θ. In particular, by setting q(zx)=p(zx,θ) in the E-step, we minimize the KL divergence on the right-hand side and thus maximize F.


Thanks for the post! Though the given document doesn't say logarithm is the unique function turning products into sums. It says logarithm is the only function that fulfills all three listed properties at the same time.
Weiwei

@Weiwei: Right, but the first condition mainly requires that the function is invertible. Of course, f(x) = 0 also implies f(x + y) = f(x)f(y), but this is an uninteresting case. The third condition asks that the derivative at 1 is 1, which is only true for the logarithm to base e. Drop this constraint and you get logarithms to different bases, but still logarithms.
Lucas

4

The paper that I found clarifying with respect to expectation-maximization is Bayesian K-Means as a "Maximization-Expectation" Algorithm (pdf) by Welling and Kurihara.

Suppose we have a probabilistic model p(x,z,θ) with x observations, z hidden random variables, and a total of θ parameters. We are given a dataset D and are forced (by higher powers) to establish p(z,θ|D).

1. Gibbs sampling

We can approximate p(z,θ|D) by sampling. Gibbs sampling gives p(z,θ|D) by alternating:

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

2. Variational Bayes

Instead, we can try to establish a distribution q(θ) and q(z) and minimize the difference with the distribution we are after p(θ,z|D). The difference between distributions has a convenient fancy name, the KL-divergence. To minimize KL[q(θ)q(z)||p(θ,z|D)] we update:

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

3. Expectation-Maximization

To come up with full-fledged probability distributions for both z and θ might be considered extreme. Why don't we instead consider a point estimate for one of these and keep the other nice and nuanced. In EM the parameter θ is established as the one being unworthy of a full distribution, and set to its MAP (Maximum A Posteriori) value, θ.

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

Here θargmax would actually be a better notation: the argmax operator can return multiple values. But let's not nitpick. Compared to variational Bayes you see that correcting for the log by exp doesn't change the result, so that is not necessary anymore.

4. Maximization-Expectation

There is no reason to treat z as a spoiled child. We can just as well use point estimates z for our hidden variables and give the parameters θ the luxury of a full distribution.

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

If our hidden variables z are indicator variables, we suddenly have a computationally cheap method to perform inference on the number of clusters. This is in other words: model selection (or automatic relevance detection or imagine another fancy name).

5. Iterated conditional modes

Of course, the poster child of approximate inference is to use point estimates for both the parameters θ as well as the observations 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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.