thuật toán cực đại hóa kì vọng (em)uet.vnu.edu.vn/~tqlong/2016hmtk/em.pdf · giới...
TRANSCRIPT
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán Cực đại hóa Kì vọng (EM)
Trần Quốc Long1
1Bộ môn Khoa học Máy tínhKhoa Công nghệ Thông tinTrường Đại học Công nghệ
Thứ Tư, 30/03/2016
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 1 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Giới thiệu
Nội dung
1 Giới thiệu
2 Thuật toán cực đại hóa kì vọng (EM)
3 Mô hình Markov ẩn
4 Tổng kết
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 2 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Giới thiệu
Bài toán ước lượng mật độ (có tham số)
Xét biến ngẫu nhiên X trên tập X .Ta không biết phân bố thật sự p(x) của X nhưng ta có dữ liệu là mộtmẫu lấy từ phân bố p(x)
x ∼ p(x).
Xét lớp hàm phân bố p(x; θ),x ∈ X phụ thuộc vào tham số θ ∈ Θ.Bài toán: Cho mẫu x ∼ p(x), tìm tham số θ để p(x; θ) xấp xỉ p(x).
Lưu ý: Khi X = Z × Z × . . .×Z và p(x) có thể phân tích thànhnhân tử
p(x) = p(z1, z2, . . . , zn) =n∏
i=1
p(zi), zi ∈ Z
thì x tương đương với n mẫu học độc lập có cùng phân bố zi, i = 1,n.
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 3 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Giới thiệu
Phương pháp ước lượng hợp lý cực đại (MLE)Bài toán
Bài toán: Cho mẫu x ∼ p(x), tìm tham số θ để p(x; θ) xấp xỉ p(x).Sự hợp lý của tham số (likelihood function):
L(θ; x) = p(x; θ)
là hàm của θ.Ước lượng hợp lý cực đại:
θMLE = arg maxθL(θ; x)
= arg maxθ
logL(θ; x)
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 4 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Giới thiệu
Phương pháp ước lượng hợp lý cực đại (MLE)Ví dụ
Giả sử n mẫu z1, z2, . . . , zn độc lập và có cùng phân bố p(z).Xét lớp hàm phân bố chuẩn p(z;µ, σ2) = N (z;µ, σ2).Sự hợp lý của tham số
L(µ, σ2︸ ︷︷ ︸θ
; z1:n︸︷︷︸x
) =n∏
i=1
1√2πσ2
e−(zi−µ)2
2σ2
logL(µ, σ2; z1:n) = n log 1√2πσ2
− 1
2σ2
n∑i=1
(zi − µ)2
Lấy đạo hàm và đặt bằng 0 được
µ = z = 1
n
n∑i=1
zi; σ2 =
∑ni=1 z2in − z2
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 4 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Nội dung
1 Giới thiệu
2 Thuật toán cực đại hóa kì vọng (EM)
3 Mô hình Markov ẩn
4 Tổng kết
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 5 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Biến ẩn
Trong đa số trường hợp, ta không có đầy đủ dữ liệu, một số thông tinđã bị ẩn đi.Ta chỉ quan sát được biến x mà không quan sát được biến y (ẩn).Bài toán: Cho mẫu x, ước lượng mật độ p(x,y) với lớp hàm phânbố p(x,y; θ).
Ước lượng hợp lý cực đại (MLE)
θMLE = arg maxθ
log p(x; θ)
= arg maxθ
log[∫
yp(x,y; θ)dy
]
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 6 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Bất đẳng thức biến phân cho EM (variational inequality)Xét một phân bố bất kì q(y), ta có
log p(x; θ) =∫
ylog p(x; θ)q(y)dy
=
∫y
log p(x,y; θ)q(y)dy−∫
ylog p(y|x; θ)q(y)dy∫
ylog p(x,y; θ)q(y)dy = Eq[log p(x,y; θ)]
−∫
ylog p(y|x; θ)q(y)dy =
∫y
log q(y)p(y|x; θ)q(y)dy︸ ︷︷ ︸
DKL[q∥p(y|x;θ)]
−∫
ylog q(y)q(y)dy︸ ︷︷ ︸
E[q]
Eq[log p(x,y; θ)]: kì vọng theo phân bố q(y).DKL[q∥p(y|x; θ)]: khoảng cách Kullback-Leibler.E [q]: entropy của phân bố q(y).
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 7 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Bất đẳng thức biến phân cho EM (variational inequality)
Xét một phân bố bất kì q(y), ta có
log p(x; θ)︸ ︷︷ ︸sự hợp lý
= Eq[log p(x,y; θ)]︸ ︷︷ ︸kì vọng
+DKL[q∥p(y|x; θ)]︸ ︷︷ ︸khoảng cách KL≥0
+ E [q]︸︷︷︸entropy
Sự hợp lý bị chặn dưới bởi kì vọng + entropy.Cận dưới này chặt nhất (dấu bằng xảy ra) khi
q(y) = p(y|x; θ)
Nếu cố định q(y) như trên thì chỉ cần cực đại hóa kì vọng
Ep(y|x;θ)[log p(x,y; θ)]
Bản chất thuật toán EM là cực đại hóa cận dưới của sự hợp lý.
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 7 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Thuật toán cực đại hóa kì vọng (EM)
Thuật toán 1 Cực đại hóa kì vọng (EM)1: Input: mẫu x (thông tin về y bị ẩn).2: Khởi tạo: chọn tham số θ(0) của phân bố p(x,y; θ) và k = 0.3: while chưa hội tụ do4: Bước E: tính phân bố hậu nghiệm p(y|x; θ(k)) và biểu thức kì vọng
Q(θ|θ(k)) = Ep(y|x;θ(k))[log p(x,y; θ)]
5: Bước M: cực đại hóa kì vọng
θ(k+1) = arg maxθ
Q(θ|θ(k))
6: k← k + 1.7: end while
Đặt tên bởi Arthur Dempster, Nan Laird, và Donald Rubin (1977).
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 8 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Thuật toán cực đại hóa kì vọng (EM)
Đặc biệt khi p(x,y; θ) có phân bố dạng mũ (exponential family)
p(x,y; θ) = h(x,y)g(θ) exp{⟨−−→η(θ),
−−−−→T(x,y)⟩}
Véc-tơ−−−−→T(x,y) gọi là thống kê đủ (sufficient statistics) của phân bố
dạng mũ.Bài toán MLE khi biết cả x và y
arg maxθ
log p(x,y; θ) = arg maxθ
[log g(θ) + ⟨−−→η(θ),
−−−−→T(x,y)⟩]
Thuật toán EM khi y bị ẩn đi
arg maxθ
Eq[log p(x,y; θ)] = arg maxθ
[log g(θ) + ⟨−−→η(θ),Eq[
−−−−→T(x,y)]⟩]
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 8 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Thuật toán cực đại hóa kì vọng (EM)
(MLE) : arg maxθ
[log g(θ) + ⟨−−→η(θ),
−−−−→T(x,y)⟩]
(EM) : arg maxθ
[log g(θ) + ⟨−−→η(θ),Eq[
−−−−→T(x,y)]⟩]
Rolf Sundberg (1974): Bước M của thuật toán EM chính là phươngpháp MLE sau khi thay thống kê đủ T(x,y) bằng kì vọng của nó theophân bố q(y).
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 8 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Ví dụTrộn phân bố chuẩn (mixture of gaussians)
Giả sử n mẫu z1, z2, . . . , zn độc lập và có cùng phân bố p(z).Xét lớp hàm phân bố là trộn của K phân bố chuẩn
p(z ; µ1:K, σ21:K) =
K∑k=1
pkN (z ; µk, σ2k)
Biến ẩn: gọi cik ∈ {0, 1} là biến nhị phân chỉ ra mẫu zi có thuộc phânbố chuẩn thứ k hay không.
p(z1:n, c ; µ1:K, σ21:K) =
n∏i=1
K∏k=1
(pkN (zi;µk, σ2k))
cik
︸ ︷︷ ︸Phân bố dạng mũ
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 9 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Ví dụTrộn phân bố chuẩn: MLE khi biết cik
Thống kê đủ
nk =n∑
i=1
cik, t1,k =n∑
i=1
cikzi, t2,k =n∑
i=1
cikz2i
MLE
pk =nkn
µk =t1,knk
σ2k =
t2,knk−
(t1,knk
)2
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 9 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Thuật toán cực đại hóa kì vọng (EM)
Ví dụTrộn phân bố chuẩn: EM khi không biết cik
Bước E: tính xác suất hậu nghiệm và kì vọng của thống kê đủ
rik = E[cik|zi;µ,σ2] = p(cik = 1|zi;µ,σ
2) =pkN (zi|µk, σ
2k)∑
k′ pk′N (zi|µk′ , σ2k′)
nk =n∑
i=1
rik, t1,k =n∑
i=1
rikzi, t2,k =n∑
i=1
rikz2i
Bước M: thế vào công thức MLE
pk =nkn
µk =t1,knk
σ2k =
t2,knk−
(t1,knk
)2
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 9 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Nội dung
1 Giới thiệu
2 Thuật toán cực đại hóa kì vọng (EM)
3 Mô hình Markov ẩn
4 Tổng kết
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 10 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Mô hình Markov ẩnGiới thiệu
x(0) x(1) ... x(t-1) x(t) x(t+1) ... x(T)
y(1) ... y(t-1) y(t) y(t+1) ... y(T)
Biến trạng thái x ∈ {x1, . . . , xN} (ẩn).Biến nhãn y ∈ {y1, . . . , yK} (hiện).Tính chất Markov:
x(u) ⊥ x(v) | x(t), u > t, v < tx(u) ⊥ y(v) | x(t), u > t, v ≤ t.
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 11 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Mô hình Markov ẩnTham số của mô hình
x(0) x(1) ... x(t-1) x(t) x(t+1) ... x(T)
y(1) ... y(t-1) y(t) y(t+1) ... y(T)
Xác suất chuyển trạng thái
P(x(t + 1) = xj|x(t) = xi) = aij
Xác suất sinh ra y
P(y(t) = yk|x(t) = xi) = bik
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 11 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Mô hình Markov ẩnVí dụ
x(0) x(1) ... x(t-1) x(t) x(t+1) ... x(T)
y(1) ... y(t-1) y(t) y(t+1) ... y(T)
Biến ẩn x có thể là chức năng đoạn gen, loại của từ trong câu, v.v...Biến quan sát được y là kí hiệu nucleotide ATCG, các từ cụ thể, v.v...Xác suất chuyển trạng thái là xác suất chuyển giữa các đoạn gen cóchức năng khác nhau, v.v...Xác suất sinh dữ liệu là xác suất để mỗi đoạn gen sinh ra cácnucleotide khác nhau, v.v...Bài toán: Quan sát được (biến hiện) y, tính tham số của mô hìnhMarkov ẩn A = [aij],B = [bik].
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 11 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Mô hình Markov ẩnVí dụ: Wikipedia Alice - Bob
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 11 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Xác suất đầy đủ của HMMGiả sử ta biết cả biến trạng thái x = (x(0) = x1, x(1), x(2), . . . , x(T)) vàbiến quan sát được y = (y(1), y(2), . . . , y(T)).
Đặt δst,i ∈ {0, 1} là biến nhị phân chỉ ra x(t) = xi (biến ẩn).
Đặt δot,k ∈ {0, 1} là biến nhị phân chỉ ra y(t) = yk (biến hiện).
Xác suất chuyển trạng thái x(t− 1)→ x(t) là
N∏i=1
N∏j=1
aδst−1,i δs
t,jij
(chỉ có một số khác 1)Xác suất sinh dữ liệu x(t)→ y(t) là
N∏i=1
K∏k=1
bδs
t,i δot,k
ik
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 12 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Xác suất đầy đủ của HMMGiả sử ta biết cả biến trạng thái x = (x(0) = x1, x(1), x(2), . . . , x(T)) vàbiến quan sát được y = (y(1), y(2), . . . , y(T)).
x(0) x(1) ... x(t-1) x(t) x(t+1) ... x(T)
y(1) ... y(t-1) y(t) y(t+1) ... y(T)
Xác suất đầy đủ (phân phối dạng mũ)
P( δs︸︷︷︸biến ẩn
, δo︸︷︷︸biến hiện
; A,B︸ ︷︷ ︸tham số θ
) =
T∏t=1
N∏i=1
N∏j=1
aδst−1,iδ
st,j
ij
N∏i=1
K∏k=1
bδs
t,iδot,k
ik
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 12 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Thống kê đủ
log P(δs, δo;A,B) =
N,N∑i,j=1
(log aij)
[ T∑t=1
δst−1,iδ
st,j
]+
N,K∑i,k=1
(log bik)
[ T∑t=1
δst,iδ
ot,k
]
=
N,N∑i,j=1
log aij ·Uij +
N,K∑i,k=1
log bik ·Vik
Thống kê đủ (số đếm trên cạnh đồ thị)
Uij =T∑
t=1
δst−1,i δ
st,j︸ ︷︷ ︸
số lần xi → xj
, Vik =
T∑t=1
δst,i δ
ot,k︸ ︷︷ ︸
số lần xi → yk
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 13 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
MLE khi biết δsTính aij, bik
Bài toán tối ưu có ràng buộc
maxaij,j=1,...,N
N∑j=1
log aij ·Uij , sao choN∑
j=1
aij = 1
maxbik,k=1,...,K
K∑k=1
log bik ·Vik , sao choK∑
k=1
bik = 1
Dùng phương pháp nhân tử Lagrange
aij =Uij∑j′ Uij′
∝ Uij, j = 1, . . . ,N
bik =Vik∑k′ Vik′
∝ Vik, k = 1, . . . ,K
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 14 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
EM khi không biết δsThế vào công thức MLE
Tính kì vọng hậu nghiệm
Uij = E[Uij|δo;A,B], Vik = E[Vik|δo;A,B]
Thế vào công thức MLE
aij =Uij∑j′ Uij′
, bik =Vik∑k′ Vik′
,
với i, j = 1, . . . ,N, k = 1, . . . ,K.
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 15 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
EM khi không biết δsKì vọng hậu nghiệm
Uij = E[Uij | δo] =T∑
t=1
E[δst−1,i δ
st,j | δo]
E[δst,i δ
st+1,j | δo] = P(x(t) = xi, x(t + 1) = xj | δo)
Vik = E[Vik | δo] =T∑
t=1
E[δst,i δ
ot,k | δo]
E[δst,i δ
ot,k | δo] = P(x(t) = xi, y(t) = yk | δo)
Như vậy, thuật toán EM được quy về việc tính các xác suất hậu nghiệm(xác suất cạnh của đồ thị)
ξij(t) = P(x(t) = xi, x(t + 1) = xj | δo)
γik(t) = P(x(t) = xi, y(t) = yk | δo)
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 15 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
EM khi không biết δsTính các xác suất hậu nghiệm
Do biến hiện δo là hằng số, nhân 2 vế với P(δo) = const
ξij(t) ∝ P(x(t) = xi, x(t + 1) = xj, δo)
γik(t) ∝ P(x(t) = xi, y(t) = yk, δo)
Quy hoạch độngαi(t) = P(x(t) = i, δo
1 , . . . , δot )
βi(t) = P(δot+1, . . . , δ
oT|x(t) = i)
Dùng công thức Bayes
P(x(t) = xi, x(t + 1) = xj, δo) = αi(t)aijβj(t + 1)
K∏k=1
bδo
t,kjk
P(x(t) = xi, y(t) = yk, δo) = δo
t,k × αi(t)βi(t)
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 15 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
EM khi không biết δsQuy hoạch động tính αi(t), βi(t)
Công thức đệ quy (lại sử dụng công thức Bayes)Thuật toán xuôi
αi(t) =
1 , t = 0, i = 1
0 , t = 0, i ̸= 1[∑Nu=1 αu(t− 1)aui
]∏Kk=1 b
δot,k
ik , t > 0
Thuật toán ngược
βi(t) ={1 , t = T∑N
j=1 βj(t + 1)aij∏K
k=1 bδo
t+1,kjk , t < T
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 15 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Thuật toán EM cho mô hình Markov ẩn
Thuật toán 2 EM cho HMM1: Input: chuỗi y (tức là các biến nhị phân δo).2: Khởi tạo: chọn tham số A(0),B(0) và r = 0.3: while chưa hội tụ do4: Bước E:
Tính αi(t), βi(t) bằng quy hoạch động.Tính xác suất hậu nghiệm ξij(t), γik(t).Tính kì vọng của thống kê đủ Uij,Vik.
5: Bước M: cập nhật a(r+1)ij , b(r+1)
ik (thế Uij,Vik vào công thức MLE).6: r← r + 1.7: end while
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 16 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Mô hình Markov ẩn
Ví dụ: Wikipedia Alice - Bob
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 17 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Tổng kết
Nội dung
1 Giới thiệu
2 Thuật toán cực đại hóa kì vọng (EM)
3 Mô hình Markov ẩn
4 Tổng kết
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 18 / 19
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
...
.
Tổng kết
Tổng kết
EM là thuật toán ước lượng mật độ (có tham số) cho dữ liệu khôngđầy đủ (có thông tin bị ẩn đi).Bản chất EM là cực đại hóa cận dưới sự hợp lý của tham số.
Với phân bố dạng mũ, bước M của EM là ước lượng hợp lý cựcđại (MLE) với thống kê đủ được thay bằng kì vọng hậu nghiệm.
Lớp phân bố dạng mũ rất rộng, bao gồm cả mô hình trộn phân bốchuẩn, mô hình Markov ẩn.
Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 19 / 19