Hội tụ từ Thuật toán EM với phân phối hỗn hợp bivariate


9

Tôi có một mô hình hỗn hợp mà tôi muốn tìm ước tính khả năng tối đa của một tập hợp dữ liệu và một tập hợp dữ liệu được quan sát một phần . Tôi đã triển khai cả bước E (tính toán kỳ vọng của cho và tham số hiện tại ) và bước M, để giảm thiểu khả năng đăng nhập âm cho dự kiến .xz x θ k zzzxθkz

Như tôi đã hiểu, khả năng tối đa đang tăng lên cho mỗi lần lặp, điều này có nghĩa là khả năng đăng nhập âm phải giảm cho mỗi lần lặp? Tuy nhiên, khi tôi lặp lại, thuật toán thực sự không tạo ra các giá trị giảm của khả năng log âm. Thay vào đó, nó có thể vừa giảm vừa tăng. Chẳng hạn, đây là các giá trị của khả năng log âm cho đến khi hội tụ:

nhập mô tả hình ảnh ở đây

Có phải ở đây mà tôi đã hiểu lầm?

Ngoài ra, đối với dữ liệu mô phỏng khi tôi thực hiện tối đa khả năng cho các biến tiềm ẩn (không quan sát) thực sự, tôi có một mức độ phù hợp hoàn hảo, cho thấy không có lỗi lập trình. Đối với thuật toán EM, nó thường hội tụ các giải pháp tối ưu rõ ràng, đặc biệt đối với một tập hợp con cụ thể của các tham số (nghĩa là tỷ lệ của các biến phân loại). Người ta biết rằng thuật toán có thể hội tụ đến các điểm cực tiểu hoặc điểm dừng cục bộ, có một phương pháp tìm kiếm thông thường hoặc tương tự để tăng khả năng tìm mức tối thiểu toàn cầu (hoặc tối đa) . Đối với vấn đề cụ thể này, tôi tin rằng có nhiều phân loại bỏ lỡ vì, trong hỗn hợp bivariate, một trong hai phân phối lấy các giá trị với xác suất một (đó là hỗn hợp của các kiếp sống trong đó thời gian sống thực sự được tìm thấy bởiz zT=zT0+(1z) trong đó chỉ phân phối của một trong hai phân phối. Tất nhiên, chỉ số được kiểm duyệt trong tập dữ liệu. zznhập mô tả hình ảnh ở đây

Tôi đã thêm một con số thứ hai khi tôi bắt đầu với giải pháp lý thuyết (cần gần với mức tối ưu). Tuy nhiên, như có thể thấy, khả năng và các tham số chuyển hướng từ giải pháp này thành một giải pháp rõ ràng là kém hơn.

chỉnh sửa: Dữ liệu đầy đủ có dạng trong đó là thời gian quan sát được cho chủ đề , cho biết thời gian có liên quan đến sự kiện thực tế không hoặc nếu nó được kiểm duyệt đúng (1 biểu thị sự kiện và 0 biểu thị kiểm duyệt đúng), là thời gian cắt ngắn của quan sát (có thể là 0) với chỉ số cắt bớt và cuối cùng là chỉ số mà dân số quan sát thuộc về (kể từ đó bivariate của nó, chúng ta chỉ cần xem xét 0 và 1). t i i δ i L i τ i z ixi=(ti,δi,Li,τi,zi)tiiδiLiτizi

Với chúng ta có hàm mật độ , tương tự, nó được liên kết với hàm phân phối đuôi . Với , sự kiện quan tâm sẽ không xảy ra. Mặc dù không có liên quan đến phân phối này, chúng tôi xác định nó là , do đó và . Điều này cũng mang lại phân phối hỗn hợp đầy đủ sau đây: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)=i=01pif(t|z=i)=pf(t|z=1)S(t)=1p+pSz(t)

Chúng tôi tiến hành xác định hình thức chung của khả năng:

L(θ;xi)=Πif(ti;θ)δiS(ti;θ)1δiS(Li)τi

Bây giờ, chỉ được quan sát một phần khi , nếu không thì không rõ. Khả năng đầy đủ trở thànhzδ=1

L(θ,p;xi)=Πi((pfz(ti;θ))zi)δi((1p)(1zi)(pSz(ti;θ))zi)1δi((1p)(1zi)(pSz(Li;θ))zi)τi

Trong đó là trọng số của phân phối tương ứng (có thể được liên kết với một số hiệp phương sai và hệ số tương ứng của chúng bằng một số hàm liên kết). Trong hầu hết các tài liệu, điều này được đơn giản hóa để loglikabilities sau đâyp

(ziln(p)+(1p)ln(1p)τi(ziln(p)+(1zi)ln(1p))+δizifz(ti;θ)+(1δi)ziSz(ti;θ)τiSz(Li;θ))

Đối với bước M , chức năng này được tối đa hóa, mặc dù không hoàn toàn trong 1 phương thức tối đa hóa. Thay vào đó, chúng tôi không cho rằng điều này có thể được tách thành các phần .l(θ,p;)=l1(θ,)+l2(p,)

Đối với bước E : k: th + 1 , chúng ta phải tìm giá trị mong đợi của các biến tiềm ẩn (một phần) không quan sát được . Chúng tôi sử dụng thực tế là cho , sau đó .ziδ=1z=1

E(zi|xi,θ(k),p(k))=δi+(1δi)P(zi=1;θ(k),p(k)|xi)

Ở đây chúng ta có, bởiP(zi=1;θ(k),p(k)|xi)=P(xi;θ(k),p(k)|zi=1)P(zi=1;θ(k),p(k))P(xi;θ(k),p(k))

cung cấp cho chúng tôiP(zi=1;θ(k),p(k)|xi)=pSz(ti;θ(k))1p+pSz(ti;θ(k))

(Lưu ý ở đây rằng , do đó không có sự kiện quan sát được, do đó xác suất của dữ liệu được đưa ra bởi hàm phân phối đuôi.δi=0xi


Bạn có thể vui lòng viết các biến của vấn đề của chúng tôi ngay từ đầu, và phương trình E và M của bạn không?
alberto

1
Tất nhiên, tôi đã chỉnh sửa câu hỏi với nhiều chi tiết hơn về bước E và M
Good Guy Mike

Để làm rõ, các giá trị được vẽ là MLE đầy đủ với các giá trị ước tính cho dữ liệu không đầy đủ.
Người tốt bụng Mike

là gì? Tôi không hiểu "mặc dù không có liên quan đến phân phối này, chúng tôi xác định nó là inf ...". Sz
wij

1
Thuật toán EM trực tiếp tối đa hóa khả năng dữ liệu hoàn chỉnh dự kiến, nhưng có thể đảm bảo tăng khả năng dữ liệu quan sát được. Bạn đang kiểm tra sự gia tăng của khả năng dữ liệu quan sát?
Randel

Câu trả lời:


6

Mục tiêu của EM là tối đa hóa khả năng ghi nhật ký dữ liệu được quan sát,

l(θ)=iln[zp(xi,z|θ)]

Thật không may, điều này có xu hướng khó tối ưu hóa đối với . Thay vào đó, EM liên tục hình thành và tối đa hóa chức năng phụ trợθ

Q(θ,θt)=Ez|θt(ilnp(xi,zi|θ))

Nếu tối đa hóa , EM đảm bảo rằngθt+1Q(θ,θt)

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

Nếu bạn muốn biết chính xác lý do tại sao lại như vậy, Phần 11.4.7 của Học máy của Murphy : Một quan điểm xác suất đưa ra một lời giải thích tốt. Nếu việc triển khai của bạn không thỏa mãn những bất bình đẳng này, bạn đã mắc sai lầm ở đâu đó. Nói những điều như

Tôi có một sự phù hợp gần như hoàn hảo, cho thấy không có lỗi lập trình

là nguy hiểm. Với rất nhiều thuật toán tối ưu hóa và học tập, rất dễ mắc lỗi nhưng vẫn có được câu trả lời chính xác trong hầu hết thời gian. Một trực giác tôi thích là các thuật toán này nhằm xử lý dữ liệu lộn xộn, vì vậy không có gì đáng ngạc nhiên khi chúng cũng xử lý tốt các lỗi!


Về nửa kia của câu hỏi của bạn,

Có một tìm kiếm thông thường heuristic hoặc tương tự như vậy để tăng khả năng tìm thấy mức tối thiểu toàn cầu (hoặc tối đa)

Khởi động lại ngẫu nhiên là cách tiếp cận dễ dàng nhất; tiếp theo dễ nhất có lẽ là mô phỏng ủ trên các tham số ban đầu. Tôi cũng đã nghe nói về một biến thể của EM được gọi là ủ xác định , nhưng tôi đã không sử dụng nó một cách cá nhân nên không thể nói cho bạn biết nhiều về nó.


1
Câu trả lời hay (+1). Sẽ tốt hơn nữa, nếu bạn bao gồm các tài liệu tham khảo chính thức (đặc biệt, một tài liệu tham khảo đến một nguồn được trích dẫn một phần "Học máy: Quan điểm xác suất").
Alexanderr Blekh

Cảm ơn bạn rất nhiều vì câu trả lời. Tôi đã thấy rằng thuật toán hiện hội tụ đúng cách sau khi sửa lỗi mã, nhưng chỉ khi tôi loại trừ dữ liệu bị cắt bớt của mình. Nếu không thì đi haywire. Tôi tin rằng đây là kết quả của một số lỗi.
Người tốt bụng Mike

Trong thực tế, vấn đề là tôi xử lý "cắt ngắn không đồng nhất", tức là có một điểm cắt riêng lẻ cho mỗi quan sát, thay vì ngưỡng cắt ngắn nhất trí cho tất cả các quan sát. Tôi chưa bao giờ gặp phải hoặc không thể tìm thấy các cài đặt này trong tài liệu, vì vậy tôi không thể xác minh rằng tôi đang giải quyết chính xác. Nếu bạn có bất kỳ cơ hội nào nhìn thấy cài đặt này, tôi rất muốn xem qua các tài liệu tham khảo đó! Li
Người tốt bụng Mike
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.