Конвергенція з алгоритму ЕМ з розподілом біваріантної суміші


9

У мене є змішана модель, яку я хочу знайти максимальну оцінку ймовірності заданого набору даних та набір частково спостережуваних даних . Я реалізував як E-крок (обчислення очікування заданих і поточних параметрів ), так і M-крок, щоб мінімізувати негативну ймовірність журналу з огляду на очікуване .xzzxθkz

Як я зрозумів, максимальна ймовірність зростає для кожної ітерації, це означає, що негативна ймовірність логарифма повинна зменшуватися для кожної ітерації? Однак, як я повторюю, алгоритм насправді не призводить до зменшення значень негативної ймовірності ймовірності. Натомість воно може як зменшуватися, так і збільшуватися. Наприклад, це були значення негативної ймовірності ймовірності до конвергенції:

введіть тут опис зображення

Чи є тут, що я неправильно зрозумів?

Крім того, для імітованих даних, коли я виконую максимальну ймовірність для справжніх прихованих (непомічених) змінних, я маю близьке до ідеального пристосування, що свідчить про відсутність помилок програмування. Для алгоритму ЕМ він часто сходить до явно неоптимальних рішень, особливо для конкретного підмножини параметрів (тобто пропорцій класифікаційних змінних). Добре відомо, що алгоритм може сходитися до локальних мінімумів або стаціонарних точок, чи є звичайний пошук евристичним чи аналогічним чином, щоб збільшити ймовірність знайти глобальний мінімум (або максимум) . Для цієї конкретної проблеми я вважаю, що існує багато класифікацій пропусків, тому що для біваріантної суміші один з двох розподілів приймає значення з вірогідністю один (це суміш життєвих періодів, де справжній час життя знайденийT=zT0+(1z) де позначає приналежність до будь-якого розподілу. Індикатор звичайно цензурується у наборі даних. zzвведіть тут опис зображення

Я додав другу цифру, коли починаю з теоретичного рішення (яке має бути близьким до оптимального). Однак, як видно, вірогідність і параметри розходяться від цього рішення на той, який явно поступається.

редагувати: Повні дані у формі де - спостережуваний час для предмета , вказує, чи пов'язаний час з фактичною подією або якщо вона правильно цензурована (1 позначає подію і 0 позначає праву цензуру), - час усікання спостереження (можливо, 0) з індикатором усічення і, нарешті, - показник, до якого населення належить спостереження (оскільки його двовимірним нам потрібно розглянути лише 0 і 1).xi=(ti,δi,Li,τi,zi)tiiδiLiτizi

Для нас функція густини , аналогічно вона пов'язана з хвостовою функцією розподілу . Для подія, що цікавить, не відбудеться. Хоча з цим розподілом немає , ми визначаємо його як , таким чином і . Це також дає наступне повне розподіл суміші: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)

Переходимо до визначення загальної форми ймовірності:

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

Тепер спостерігається лише частково, коли , інакше невідомо. Повна ймовірність стаєzδ=1

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

де - вага відповідного розподілу (можливо, пов'язаний з деякими коваріатами та їх відповідними коефіцієнтами деякою функцією зв'язку). У більшості літератури це спрощено до наступної вірогідностіp

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

Для М-кроку ця функція є максимальною, хоча і не повністю в 1 методі максимізації. Натомість ми не вважаємо, що це можна розділити на частини .l(θ,p;)=l1(θ,)+l2(p,)

Для k: th + 1 E-кроку ми повинні знайти очікуване значення (частково) незарезервованих прихованих змінних . Ми використовуємо той факт, що для , тоді .ziδ=1z=1

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

Ось маємо, заP(zi=1;θ(k),p(k)|xi)=P(xi;θ(k),p(k)|zi=1)P(zi=1;θ(k),p(k))P(xi;θ(k),p(k))

що дає намP(zi=1;θ(k),p(k)|xi)=pSz(ti;θ(k))1p+pSz(ti;θ(k))

(Зауважте тут, що , тому спостереження не спостерігається, тому ймовірність даних задається функцією розподілу хвоста.δi=0xi


Не могли б ви написати спочатку змінні нашої проблеми та ваші рівняння E та M?
Альберто

1
Звичайно, я відредагував питання з більш детальною інформацією щодо Е та М-кроку
Good Guy Mike

Для уточнення, графічні значення є повним MLE з урахуванням оцінених значень для неповних даних.
Хороший хлопець Майк

Що таке ? Я не розумію, "хоча з цим розподілом не пов'язано t, ми визначаємо це як inf ...". Sz
wij

1
Алгоритм ЕМ безпосередньо збільшує очікувану ймовірність повних даних, але може гарантувати збільшення ймовірності спостережуваних даних. Ви перевіряєте збільшення ймовірності спостережуваних даних?
Рендел

Відповіді:


6

Завдання ЕМ - максимізація спостережуваних можливостей журналу даних,

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

На жаль, це, як правило, важко оптимізувати щодо . Натомість ЕМ неодноразово формує та максимізує допоміжну функціюθ

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

Якщо максимізує , ЕМ гарантує, щоθt+1Q(θ,θt)

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

Якщо ви хочете точно знати, чому це так, розділ 11.4.7 машинного навчання Мерфі : ймовірнісна перспектива дає хороші пояснення. Якщо ваша реалізація не задовольняє цих нерівностей, ви десь помилилися. Говорячи такі речі, як

У мене це ідеально підходить, вказуючи на відсутність помилок програмування

небезпечно. Маючи багато алгоритмів оптимізації та навчання, дуже легко помилятися, але все-таки отримувати правильні відповіді більшу частину часу. Мені подобається інтуїція, що ці алгоритми призначені для боротьби з брудними даними, тому не дивно, що вони також добре справляються з помилками!


Щодо другої половини вашого запитання,

чи є звичайна пошукова евристика чи так само, щоб збільшити ймовірність знайти глобальний мінімум (або максимум)

Випадкові перезавантаження - це найпростіший підхід; Наступний найпростіший - це, мабуть, імітований відпал над початковими параметрами. Я також чув про варіант ЕМ, який називається детермінованим відпалом , але я його особисто не використовував, тому не можу сказати вам багато про що.


1
Приємна відповідь (+1). Ще краще, якби ви включили офіційні посилання (зокрема, посилання на частково цитоване джерело "Машинне навчання: імовірнісна перспектива").
Олександр Блех

Дуже дякую за відповідь. Я виявив, що алгоритм справді конвергується належним чином після виправлення помилки в коді, але лише тоді, коли я виключаю усічені дані. Інакше йде сіно. Я вважаю, що це результат деяких помилок.
Хороший хлопець Майк

Насправді проблема полягає в тому, що я маю справу з "гетерогенним усіченням", тобто є індивідуальна точка усічення для кожного спостереження, а не одностайний поріг усічення для всіх спостережень. Я ніколи не стикався або не можу знайти ці параметри в літературі, тому не можу перевірити, чи правильно я його вирішую. Якби ви випадково побачили цю установку, я хотів би поглянути на ці посилання! Li
Хороший хлопець Майк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.