Thuật toán Cực đại hóa Kì vọng (EM) Trần Quốc Long 1 1 Bộ môn Khoa học Máy tính Khoa Công nghệ Thông tin Trườ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ột mẫ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ành nhân tử n p(x) = p(z 1, z 2,, z n ) = p(z i ), z i Z thì x tương đương với n mẫu học độc lập có cùng phân bố z i, i = 1, n i=1 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 log L(θ; 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 z 1, z 2,, z n độ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 ; z }{{} 1:n ) = }{{} θ x n i=1 log L(µ, σ 2 ; z 1:n ) = n log Lấy đạo hàm và đặt bằng 0 được µ = z = 1 n 1 (z 2πσ 2 e i µ)2 2σ 2 1 1 2πσ 2 2σ 2 n z i ; σ 2 = i=1 n i=1 z2 i Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 4 / 19 n n (z i µ) 2 i=1 z 2
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
Biến ẩn Thuật toán cực đại hóa kì vọng (EM) 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ân bố p(x, y; θ) Ước lượng hợp lý cực đại (MLE) θ MLE = arg max log p(x; θ) θ [ = arg max log θ p(x, y; θ)dy y ] 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; θ) = log p(x; θ)q(y)dy y = log p(x, y; θ)q(y)dy log p(y x; θ)q(y)dy y y log p(x, y; θ)q(y)dy = E q [log p(x, y; θ)] y y log p(y x; θ)q(y)dy = q(y) log y p(y x; θ) q(y)dy }{{} D KL [q p(y x;θ)] E q [log p(x, y; θ)]: kì vọng theo phân bố q(y) D KL [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 y log q(y)q(y)dy } {{ } E[q]
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ý = E q [log p(x, y; θ)] + D KL [q p(y x; θ)] }{{}}{{} kì vọng khoảng cách KL 0 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; θ) Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 7 / 19 + E[q] }{{} entropy Nếu cố định q(y) như trên thì chỉ cần cực đại hóa kì vọng E p(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ý
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ụ do 4: Bước E: tính phân bố hậu nghiệm p(y x; θ (k) ) và biểu thức kì vọng 5: Bước M: cực đại hóa kì vọng 6: k k + 1 7: end while Q(θ θ (k) ) = E p(y x;θ (k) )[log p(x, y; θ)] θ (k+1) = arg max Q(θ θ (k) ) θ Đặ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 θ E q [log p(x, y; θ)] = arg max[log g(θ) + η(θ), E q [ 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(θ) + η(θ), E q [ T(x, y)] ] θ Rolf Sundberg (1974): Bước M của thuật toán EM chính là phương pháp MLE sau khi thay thống kê đủ T(x, y) bằng kì vọng của nó theo phâ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 z 1, z 2,, z n độ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, σ 2 1:K) = K p k N (z ; µ k, σk 2 ) Biến ẩn: gọi c ik {0, 1} là biến nhị phân chỉ ra mẫu z i có thuộc phân bố chuẩn thứ k hay không p(z 1:n, c ; µ 1:K, σ 2 1:K) = k=1 n i=1 k=1 K (p k N (z i ; µ k, σk 2 ))c ik } {{ } 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 c ik Thống kê đủ n k = n c ik, t 1,k = i=1 n c ik z i, t 2,k = i=1 n c ik z 2 i i=1 MLE p k = n k n µ k = t 1,k n k σ 2 k = t 2,k n k ( ) 2 t1,k n k 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 c ik Bước E: tính xác suất hậu nghiệm và kì vọng của thống kê đủ r ik = E[c ik z i ; µ, σ 2 ] = p(c ik = 1 z i ; µ, σ 2 p k N (z i µ k, σk 2 ) = ) k p k N (z i µ k, σk 2 ) n n n n k = r ik, t 1,k = r ik z i, t 2,k = r ik z 2 i i=1 Bước M: thế vào công thức MLE p k = n k n µ k = t 1,k n k σ 2 k = t 2,k n k i=1 Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 9 / 19 ( ) 2 t1,k n k i=1
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 ẩn Giớ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 {x 1,, x N } (ẩn) Biến nhãn y {y 1,, y K } (hiện) Tính chất Markov: x(u) x(v) x(t), u > t, v < t x(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 ẩn Tham 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) = x j x(t) = x i ) = a ij Xác suất sinh ra y P(y(t) = y k x(t) = x i ) = b ik 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 ẩn Ví 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, vv Biến quan sát được y là kí hiệu nucleotide ATCG, các từ cụ thể, vv 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, vv Xác suất sinh dữ liệu là xác suất để mỗi đoạn gen sinh ra các nucleotide khác nhau, vv Bài toán: Quan sát được (biến hiện) y, tính tham số của mô hình Markov ẩn A = [a ij ], B = [b ik ] 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 ẩn Ví 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 HMM Giả sử ta biết cả biến trạng thái x = (x(0) = x 1, x(1), x(2),, x(t)) và biến quan sát được y = (y(1), y(2),, y(t)) Đặt δ s t,i {0, 1} là biến nhị phân chỉ ra x(t) = x i (biến ẩn) Đặt δ o t,k {0, 1} là biến nhị phân chỉ ra y(t) = y k (biến hiện) Xác suất chuyển trạng thái x(t 1) x(t) là (chỉ có một số khác 1) N N i=1 j=1 Xác suất sinh dữ liệu x(t) y(t) là N K a δs t 1,i δs t,j ij b δs t,i δo t,k ik i=1 k=1 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 HMM Giả sử ta biết cả biến trạng thái x = (x(0) = x 1, 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ũ) T N P( }{{} δ s, }{{} δ o ; A, B ) = }{{} biến ẩn biến hiện t=1 i=1 tham số θ N j=1 a δs t 1,i δs t,j ij N K i=1 k=1 b δs t,i δo t,k ik Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 12 / 19
Thống kê đủ Mô hình Markov ẩn [ N,N T log P(δ s, δ o ; A, B) = (log a ij ) = i,j=1 N,N i,j=1 t=1 log a ij U ij + δ s t 1,iδ s t,j N,K i,k=1 ] [ N,K T + (log b ik ) i,k=1 log b ik V ik t=1 Thống kê đủ (số đếm trên cạnh đồ thị) δ s t,iδ o t,k ] U ij = T δt 1,i s δt,j s t=1 } {{ } số lần x i x j, V ik = T δt,i s δt,k o t=1 } {{ } số lần x i y k Long (Đại học Công nghệ) Thuật toán EM 30/03/2016 13 / 19
MLE khi biết δ s Tính a ij, b ik Mô hình Markov ẩn Bài toán tối ưu có ràng buộc max a ij,j=1,,n max N log a ij U ij, sao cho j=1 b ik,k=1,,k k=1 K log b ik V ik, sao cho N a ij = 1 j=1 K b ik = 1 k=1 Dùng phương pháp nhân tử Lagrange a ij = b ik = U ij j U ij U ij, j = 1,, N V ik k V ik V ik, 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 δ s Thế vào công thức MLE Tính kì vọng hậu nghiệm U ij = E[U ij δ o ; A, B], V ik = E[V ik δ o ; A, B] Thế vào công thức MLE a ij = với i, j = 1,, N, k = 1,, K U ij j U, b ik = V ik ij k V, ik 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 δ s Kì vọng hậu nghiệm U ij = E[U ij δ o ] = T E[δt 1,i s δt,j s δ o ] t=1 E[δt,i s δt+1,j s δ o ] = P(x(t) = x i, x(t + 1) = x j δ o ) T V ik = E[V ik δ o ] = E[δt,i s δt,k o δo ] E[δ s t,i δ o t,k δo ] = P(x(t) = x i, y(t) = y k δ 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) = x i, x(t + 1) = x j δ o ) γ ik (t) = P(x(t) = x i, y(t) = y k δ o ) t=1 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 δ s Tí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) = x i, x(t + 1) = x j, δ o ) γ ik (t) P(x(t) = x i, y(t) = y k, δ o ) Quy hoạch động α i (t) = P(x(t) = i, δ o 1,, δ o t ) β i (t) = P(δ o t+1,, δ o T x(t) = i) Dùng công thức Bayes P(x(t) = x i, x(t + 1) = x j, δ o ) = α i (t)a ij β j (t + 1) P(x(t) = x i, y(t) = y k, δ o ) = δ o t,k α i(t)β i (t) K k=1 b δo t,k jk 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 δ s Quy 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 1, t = 0, i = 1 α i (t) = 0, t = 0, i 1 [ N ] u=1 α K u(t 1)a ui k=1 bδo t,k ik, t > 0 Thuật toán ngược { 1, t = T β i (t) = N j=1 β j(t + 1)a K ij k=1 bδo t+1,k jk, 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 HMM 1: 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ụ do 4: 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ê đủ U ij, V ik 5: Bước M: cập nhật a (r+1) 6: r r + 1 7: end while ij, b (r+1) ik (thế U ij, V ik vào công thức MLE) 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