EM-алгоритм

Матеріал з testwiki
Версія від 04:30, 23 квітня 2022, створена imported>InternetArchiveBot (Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.8.7)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблон:Машинне навчання EM-алгоритм (Шаблон:Lang-en) — алгоритм, що використовується в математичній статистиці для знаходження оцінок максимальної схожості параметрів ймовірних моделей, у випадку, коли модель залежить від деяких прихованих змінних. Кожна ітерація алгоритму складається з двох кроків. На E-кроці (expectation) вираховується очікуване значення функції правдоподібності, при цьому приховані змінні розглядаються як спостережувані. На M-кроці (maximization) вираховується оцінка максимальної схожості, таким чином збільшується очікувана схожість, вирахувана на E-кроці. Потім це значення використовується для E-кроку на наступній ітерації. Алгоритм виконується до збіжності.

Часто EM-алгоритм використовують для розділення суміші функції Гауса.

Опис алгоритму

Нехай X — деяке з значень спостережуваних змінних, а T — прихованні змінні. Разом X і T утворюють повний набір даних. Взагалі, T може бути деякою підказкою, яка полегшує рішення проблеми у випадку, якщо вона відома. Наприклад, якщо є суміш розподілів, функція правдоподібності легко виражається через параметри відокремлених розподілів суміші.

Покладемо p — густину імовірності (в безперервному випадку) або функція ймовірностей (в дискретному випадку) повного набору даних з параметрами Θ: p(𝐗,𝐓|Θ). Цю функцію можна розуміти як правдоподібність всієї моделі, якщо розглядати її як функцію параметрів Θ. Зауважимо, що умовний розподіл прихованої компоненти при деякому спостереженні та фіксованому наборі параметрів може бути вираженим так:

p(𝐓|𝐗,Θ)=p(𝐗,𝐓|Θ)p(𝐗|Θ)=p(𝐗|𝐓,Θ)p(𝐓|Θ)p(𝐗|𝐓^,Θ)p(𝐓^|Θ)d𝐓^,

використовуючи розширену формулу Байеса і формулу повної ймовірності. Таким чином, нам необхідно знати тільки розподіл спостережуваної компоненти при фіксованій прихованій p(𝐗|𝐓,Θ) і ймовірності прихованих даних p(𝐓|Θ).

EM-алгоритм ітеративно покращує початкову оцінку Θ0, обчислюючи нові значення оцінок Θ1,Θ2, і так далі. На кожному кроці перехід до Θn+1 від Θn виконується таким чином:

Θn+1=argmaxΘQ(Θ)

де Q(Θ) — математичне сподівання логарифма правдоподібності. Іншими словами, ми не можемо відразу обчислити точну правдоподібність, але за відомими даними (X) ми можемо знайти апостеріорну оцінку ймовірностей для різних значень прихованих змінних T. Для кожного набору значень T і параметрів Θ ми можемо обчислити математичне сподівання функції правдоподібності з даного набору X. Воно залежить від попереднього значення Θ, бо це значення впливає на ймовірності прихованих змінних T.

Q(Θ) обчислюється таким чином:

Q(Θ)=E𝐓[logp(𝐗,𝐓|Θ)|𝐗]

тобто умовне математичне сподівання logp(𝐗,𝐓|Θ) при умові Θ.

Іншими словами, Θn+1 — це значення, максимізуючи (M) умовне математичне сподівання (E) логарифма правдоподібності при даних значеннях спостережуваних змінних і попередньому значенні параметрів. У безперервному випадку значення Q(Θ) вираховується так:

Q(Θ)=E𝐓[logp(𝐗,𝐓|Θ)|𝐗]=p(𝐓|𝐗,Θn)logp(𝐗,𝐓|Θ)d𝐓

Альтернативний опис

За певних обставин зручно розглядати EM-алгоритм як два чергуються кроку максимізації.[1][2] Розглянемо функцію:

F(q,θ)=Eq[logL(θ;x,Z)]+H(q)=DKL(qpZ|X(|x;θ))+logL(θ;x)

де q — розподіл ймовірностей неспостережуваних змінних Z; pZ|X(· |x;θ) — умовний розподіл неспостережуваних змінних при фіксованих спостережуваних x і параметрах розподілення ймовірностей неспостережуваних змінних θ; H — ентропія і DKL — відстань Кульбака — Лейблера.

Тоді кроки EM-алгоритму можна показати як:

E(xpectation) крок: Вибираємо q, щоб максимізувати F:
q(t)=*argmaxq F(q,θ(t))
M(aximization) крок: Вибираємо θ, щоб максимізувати F:
θ(t+1)=*argmaxθ F(q(t),θ)

Примітки

Шаблон:Reflist

Посилання