Powerpoint-đồ-án - thuật Toán Expectation Maximization

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 66

Expectation 

Maximization
Algorithm
HELLO!
Thành viên:

• Nguyễn Anh Tuấn -20522114


• Trần Duy Thanh -20521925
Mục Lục
2

Bối cảnh & thuật ngữ Thuật toán EM với mô hình


1 3 5 Gaussian(GMM)

Thuật toán EM là gì? Thuật toán EM với mô hình


2 6 Markov ẩn
4

Hoạt động của thuật toán Ưu và nhược điểm


3 5 7
4
Thuật toán EM trong MLE Ứng dụng
4 8
1

Bối cảnh và thuật ngữ


Bối cảnh và thuật ngữ
Có 2 đồng xu bị dị tật ,nghĩa là xác suất ra mặt ngửa của mỗi đồng không phải là
0.5.
Để xác định tinh dị tật, ta làm thí nghiệm:
+chọn ngẫu nhiện 1 xu (a hoặc b). Việc chọn là ngẫu nhiên nên xác suất chọn
trúng a hay b đều như nhau.
+Gieo đồng xu đã chọn 10 lần, ghi lại số lần đồng xu ra mặt ngửa.
Lặp lại 2 bước trên 5 lần. Data thu được như sau:
++Round 1: 4/10 lần đồng xu ra mặt ngữa
++Round 2: 5/10 lần đồng xu ra mặt ngữa
++Round 3: 1/10 lần đồng xu ra mặt ngữa
++Round 4: 2/10 lần đồng xu ra mặt ngữa
++Round 5: 3/10 lần đồng xu ra mặt ngữa
---
Bối cảnh và thuật ngữ
Gọi Z là biến chọn đồng xu, Z có hai giá trị là a hoặc
b
Theo đề thì:
P(Z = a) = P(Z = b)=0.5
*Gọi a ,b là xác suất mặt ngữa của đồng a,b, H là sự
kiện ra mặt ngua
vậy thì:
P(H |Z = a) =
P(H |Z = b) =
Bối cảnh và thuật ngữ
Cách 1
Cách dễ nhất là tìm sao cho chúng là maximum:

Cách này có tên Maximum a posterior estimation (MAP).


Bối cảnh và thuật ngữ
Cách 2:
Nếu ta không tìm được  , để maximum 
Thì ta tìm p(X| , ). Cách này có tên là Maximum likelihood (MLE) Căn bản thì MLE
tìm   bằng cách
, =argmax , p(X| , )
Lợi thế đây là mình khai triển cái p(X| , )  dễ dàng với giả định là biết được cách
dữ liệu được sinh ra. Thử như sau:

p(X|, b) =


= ¿ ¿
i
5


= ¿ ¿
i
Bối cảnh và thuật ngữ
Thử tính với i=1:
p(X1|Z=a,,)p(Z=a| ,)+p(X1|Z= b,)p(Z= b)]
= (1- ) 6 x 0.5 + (1- ) 6 x 0.5
Một mô hình
=0.5 [(1-biến tiềm
) 6 + (1- )6 ] ẩn bao gồm các biến quan sát
được Với
và i=
không
2,3,4,5thể quan sát được.
ta được

Các biến quan sát là những biến có thể được đo lường


xhoặc ghi lại, và biến tiềm ẩn / ẩn là những biến không
….x tiếp thay vì cần phải suy ra từ
thể được quan sát trực
các biến quan sát.

𝑑 [log 𝑝( 𝑋 |𝜃𝑎 , 𝜃 𝑏 )]
Giải hệ phương trinh với biến , : =0
𝑑 (𝜃 𝑎 , 𝜃𝑏 )
2

Thuật toán EM là gì?


Thuật toán EM là gì?
Thuật toán EM (hay còn gọi là thuật toán cực đại hóa kỳ vọng) là một phương
pháp để giải bài toán tìm hợp lý cực đại hoặc hậu nghiệm cực đại (MAP) của một
mô hình xác suất có các biến ẩn.(Biến ẩn ở đây là các biến không thể nhìn thấy )
EM sở dĩ được gọi vậy một phần do thuật toán này bao gồm việc thực hiện liên
tiếp tại mỗi vòng lặp 2
+quá trình (E): tính kỳ vọng của hàm hợp lý của giá trị các ẩn biến dựa theo
ước lượng đang có về các tham số của mô hình
+quá trình(M): ước lượng tham số của mô hình để cực đại hóa giá trị của hàm
tính được ở (E). Các giá trị tìm được ở (E) và (M) tại mỗi vòng lặp sẽ được
dùng cho việc tính toán ở vòng lặp kế tiếp.
Trong bối cảnh của EM, có 2 loại MLE: complete-data likelihood và incomplete-
data likelihood
3

Hoạt động của thuật toán


Bắt đầu Xác định biến tiềm ẩn

Phỏng đoán ban đầu

Sai Đúng
Ngừng lặp lại?
E-Step Xuất kết quả
(điều kiện dừng)

M-Step Kết thúc


Hoạt động của thuật toán
-Bước 1: Khi có một bộ dữ liệu bị thiếu hoặc không đầy đủ
và một bộ thông số bắt đầu khác, chúng tôi giả định rằng dữ
liệu quan sát hoặc giá trị ban đầu của các thông số được tạo
ra từ mô hình cụ thể.
Do đó, toàn bộ tập hợp dữ liệu quan sát không đầy đủ được
cung cấp cho hệ thống, giả sử rằng dữ liệu quan sát đến từ
một mô hình cụ thể.
-Bước 2: Tùy thuộc vào giá trị quan sát được của các trường có thể dữ liệu có sẵn, tiếp theo,
giá trị của các trường hợp không thể quan sát được hoặc dữ liệu bị thiếu được dự đoán hoặc
ước tính. Bước này được gọi là bước Kỳ vọng, hoặc bước E.
Về cơ bản, trong bước này, dữ liệu quan sát được sử dụng để ước tính hoặc đoán các giá trị
dữ liệu bị thiếu hoặc không đầy đủ được sử dụng để cập nhật các biến.
-Bước 3: Với dữ liệu được sản xuất từ E-step, tiếp theo chúng ta cập nhật các thông số và hoàn thiện bộ dữ
liệu. Bước này được gọi là bước Tối đa hóa, hoặc bước M. Và chúng tôi cập nhật giả thuyết.
-Bước cuối cùng, chúng ta kiểm tra xem các giá trị có hội tụ hay không, nếu có thì dừng quá trình.
Nếu không, thì bước 2 và bước 3 sẽ được bắt chước cho đến khi đạt được trạng thái hội tụ, hoặc đơn giản
hơn, chúng ta sẽ lặp lại bước E và bước M nếu các giá trị không hội tụ.
34

Thuật toán EM trong MLE


Thuật toán EM trong MLE
Bài Toán :cho mẫu ,tìm tham số để xấp xỉ .
Sự hợp lý của
MLEtham số (likehood
là phương pháp function) :
dự đoán tham số của một
mô hình thống kê dựa trên những “quan sát” có
Là hàm của.sẵn, bằng cách tìm bộ tham số sao cho có thể tối
Ước lượng hợp lý cực
đa hoá khảđại:
năng mà mô hình với bộ tham số đó
sinh ra các “quan sát” có sẵn.
Thuật toán EM trong MLE
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,
Sự hợp lý của tham số
2
𝑛 ( 𝓏 𝑖 −𝜇)
1 −

(
⏟ 1 : 𝑚 =∑
)
2
2

2𝜎
ℒ 𝜇 ,𝜎 ; 𝓏 𝑒
𝜃 𝑥
𝑖 =1 √2 𝜋 𝜋 2

Lấy đạo hàm và đặt bằng 0 được


𝑛
1 1
log ℒ ( 𝜇, 𝜎 ; 𝓏 1: 𝑛 ) =𝑛log
2
− ∑ (𝓏 − 𝜇)
2

√ 2 𝜋 𝜎 2 2 𝜎 2 𝑖=1
𝑖

1
𝑛 ∑ 𝓏 2𝑖
𝜇= 𝓏 = ∑
𝑛 𝑖 =1
𝓏 𝑖 ; 𝜎 2= 𝑖 =1
𝑛
− 𝓏2
Thuật toán EM trong MLE
Thuật toán EM được thiết kế để tận dụng lợi thế của quan sát này. Nó lặp lại
giữa bước kỳ vọng(E-step) và bước tới đa hóa(M-step) để tìm MLE.
Giả sự ới chỉ số trên của (n) là ước lượng thu được ở lần lập thứ n, thuật toán
lặp lại giữa hai bước như sau:

+Bước E: xác định là kỳ vọng có điều kiện của khả năng xảy ra trong nhật ký dữ
liệu đầy đủ với các biến ẩn, dũ liệu quan sát đã cho và ước tinh tham số hiện tại,
tức là

+Bước M: tìm một mới tối đa hóa kỳ vọng ở trên và đặt nó thành
Thuật toán EM trong MLE
Vấn đề biến ẩn:
+Trong đa số trường hợp, ta không có đầy đủ dữ lieu, 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 độ với lớp hàm phân bố
+Ước lương hợp lý cực đại (MLE)
Thuật toán EM trong MLE
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ó

=
=

: kì vọng theo phân bố q(y)


:khoảng cách Kullback-Leibler
entropy của phân bố q(y)
Thuật toán EM trong MLE
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ó

Sự hợp lý bị chặn dưới bởi kì vọng


Cận dưới này chặt nhất (dấu bằng xảy ra) khi

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 EM trong MLE
Thuật toán 1 cực đại hóa kì vong (EM)

1.Input: mẫu x(thông tin về y bị ẩn).


2.Khởi tạo: chon tham số của phân bố và k=0
3.While: chưa hội tụ
4.Bước E: Tính phân bố hậu nghiệm và biểu tượng kì vọng

5.Bước M: cực đại hóa kì vọng

6.
7.End while
Thuật toan EM trong MLE
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; (x,y)g() exp{⟨ , ⟩}

Vec-to 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

log p(x,y; ) = ⟨ , ⟩]

Thuật toan EM khi y bị ẩn đi

arg max Eq[log p(x,y; )] = [log g(⟨ ,Eq[]⟩}


Thuật toan EM trong MLE

MLE:

EM:

Rolf Sundberg(1974): Bước M của thuật toán EM chính là


phương pháp MLE sau khi thống kê đủ T(x,y) bằng kì vọng của
nó theo phân bố q(y)
15

Thuật toán EM cho mô


hình Gaussian
Mô hình Gaussian
Gaussian Mixture Model (viết tắt GMM) là một mô hình phân cụm
thuộc lớp bài toán học không giám sát mà phân phối xác suất của mỗi
một cụm được giả định là phân phối Gassian đa chiều. Sở dĩ mô hình
được gọi là Mixture là vì xác suất của mỗi điểm dữ liệu không chỉ phụ
thuộc vào một phân phối Gaussian duy nhất mà là kết hợp từ nhiều
phân phối Gaussian khác nhau từ mỗi cụm.
Thuật toán EM cho mô hình Gaussian
Bắt đầu với các giá trị: C( , ), size
Cho t =0,1,2,3,………….

Expectation step(E-step)
Với tập giá trị xi
Mục tiêu của bước E-Step là tính xác suất của mỗi điểm dữ liệu dựa vào phân phối
Gaussian đa chiều dựa trên tham số  t của vòng lặp gần nhất. Xác suất này được tính như sau
ric = P
(x;,)

r , r .66
(x;,) 1 2
Xác suất πj chính là xác suất tiên nghiệm (posteriori probability) bằng với tỷ lệ các quan sát
thuộc về cụm j ở vòng lặp thứ t. Trong khi N(μjt,Σjt|xi) là xác suất của xi rơi vào cụm
thứ j được tính theo phân phối Gaussian đa chiều. Hai xác suất này có thể tính được và sau
cùng ta thu được xác suất rơi vào mỗi cụm tại mỗi một quan sát 
Thuật toán EM cho mô hình Gaussian
Maximization step(M-step)
Bắt đầu với xác suất
Cập nhật thông số : trung bình ,Hiệp phương sai
M-step (“Cực đại hóa”)
- Đối với mỗi cụm (Gaussian) z=c.
- Cập nhật các tham số của nó bằng cách sử dụng các điểm dữ liệu (có trọng số)

 Tổng trách nhiệm được phân bổ cho cụm C

 Một phần của tổng số được chỉ định cho cụm C

1
c =
𝑚𝑐 𝑖
∑ ❑
𝑟 𝑖𝑐 𝑥  Giá trị trung bình của dữ liệu được chỉ định
= 1 𝑟 (𝑥¿¿(i) −𝜇c)T (𝑥¿¿(i) −𝜇c)¿¿
𝑚𝑐 ∑𝑖 𝑖𝑐
Thuật toán EM cho mô hình Gaussian
Mỗi step làm tăng log-likelihood của mô hình out

(Tuy nhiên, chúng tôi sẽ không lấy được điều này ở đây)
Như vậy chúng ta đã tìm ra được tham số tối ưu của thuật toán GMM sau mỗi vòng lặp. Việc
giải trực tiếp bài toán tối ưu hàm hợp lý theo ước lượng MLE là bất khả thi trong điều kiện có
nhiều cụm dữ liệu. Chính vì thế thuật toán EM được áp dụng để cập nhật dần dần tham số
của mô hình. Thuật toán sẽ dần dần hội tụ sau một hữu hạn bước. Về lý thuyết của thuật
toán GMM chúng ta sẽ phải trải qua nhiều tính toán đạo hàm tương đối phức tạp.
Model
Tập dữ liệu bao gồm một nhóm bệnh nhân
binh thường và một nhôm bệnh nhân thiếu
máu dựa vào lượng hemoglobin
Model
class Expectation_Maximization:
def __init__(self, num_cluster, max_iter=5):
self.num_cluster = num_cluster
self.max_iter = (max_iter)
def initialize(self, X):
self.shape = X.shape
self.n, self.m = self.shape
Model
def e_step(self, X):
self.weights = self.predict_proba(X)
#Cập nhập trọng số
self.phi = self.weights.mean(axis=0)
#Updating phi
# here mu and sigma is constant
def m_step(self, X):
# Updating mu and sigma but weight and phi is constant
for i in (self.num_cluster):
weight = self.weights[:, [i]]
total_weight = weight.sum()
self.mu[i] = (X * weight).sum(axis=0) / total_weight
self.sigma[i] = np.cov(X.T,
aweights=(weight/total_weight).flatten(), bias=True)
Model
def fit(self, X): # fit the model self.initialize(X)
for iteration in (self.max_iter):
self.e_step(X) self.m_step(X)
Model
def predict_proba(self, X):
# Function for calculating pdf
likelihood = np.zeros( (self.n, self.num_cluster) )
for i in (self.num_cluster):
distribution = multivariate_normal(
mean=self.mu[i],
cov=self.sigma[i])
likelihood[:,i] = distribution.pdf(X)
numerator = likelihood * self.phi
denominator = numerator.sum(axis=1)[:, np.newaxis]
weights = numerator / denominator
return weights
Model
def predict(self, X):
# Predict the cluster
weights =self.predict_proba(X)
return np.argmax(weights, axis=1)
6

Thuật toán EM cho mô


hình Markov ẩn
0.2

0.6
0.8

0.4

0.6 0.4
0.8 0.2
Thuật toan EM với Mô hình Markov
ẩn
Biến trạng thái
Biến nhãn
Tính chất Markov:

Tính chất Markov nói rằng phân bố xác


suất có điều kiện của hệ ở bước tiếp theo
(và tất cả các bước trong tương lai) chỉ
phụ thuộc vào trạng thái hiện tại của hệ,
chứ không phụ thuộc vào trạng thái của
hệ ở những bước trước.
Thuật toan EM với Mô hình Markov
ẩn
Xác suất chuyển trạng thái

𝑃 ( 𝑥 (𝑡 +1 ) )=𝑥 𝑗|𝑥 ( 𝑡 )=𝑥 𝑖 ¿ ¿𝒂 𝒊𝒋


Xác suất sinh ra y

𝑃 ( 𝑦 ( 𝑡 ) =𝑦 𝑙|𝑥 ( 𝑡 ) =𝑥𝑖 ) =𝒃𝒊𝒌


Xác suất đầy đủ HMM
Giả sử ta biết cả biến trạng thái x=(x(0)=x1,x(2),….,x(T)) và biến quan sát được
y=(y(1),y(2),…,y(T)).
Đặt là biến nhị phân chỉ ra (biến ẩn)
Đặt là biến nhị phân chỉ ra (biến hiện)
Xác suất chuyển trạng tháilà

(chỉ có một số khác 1)


Xác suất sinh ra dữ liệu là
Xác suất đầy đủ HMM
Giả sử ta biết cả biến trạng thái x=(x(0)=x1,x(2),….,x(T)) và biến quan sát được
y=(y(1),y(2),…,y(T)).
Xác suất đầy đủ (phân phối dạng mũ)

[∏ ∏ ]
𝑇 𝑁 𝑁 𝑁 𝐾
𝑃 ( 𝛿 , 𝛿 ; 𝐴 , 𝐵 )=∏ ∏∏ 𝑏
𝑠 𝑠 𝑠 𝑜
𝑠 𝑜 𝛿𝑡 −1 , 𝛿𝑡 , 𝑗 𝛿𝑡 −1 ,𝑖 , 𝛿𝑡 , 𝑗
𝑎
𝑖𝑗 𝑖𝑘
𝑡 =1 𝑖=1 𝑗=1 𝑖=1 𝑘=1

là biến ẩn
là biến hiện
A,B là tham số
Thống kê đủ

𝑁 ,𝑁 𝑁,𝐾
¿ ∑ log 𝑎𝑖𝑗 .𝑈 𝑖𝑗 + ∑ log 𝑏𝑖𝑘 .𝑉 𝑖𝑘
𝑖, 𝑗=1 𝑖, 𝑘=1

Thống kê đủ (số đếm trên cạnh đồ thị)

𝑇 𝑇
𝑈 𝑖𝑗 =∑ 𝛿𝑡−1, 𝑖 𝛿𝑡 , 𝑗 , 𝑉 𝑖𝑘=∑ 𝛿𝑡 ,𝑖 𝛿𝑡 , 𝑘
𝑠 𝑠 𝑠 𝑜

𝑡=1 𝑡=1
MLE khi biết
tinh aij, bik
Bài toan tối ưu có ràng buộc

Dùng phương pháp phân tử Larange


aij = , j=1,……,N

bik= , k=1,……,K
EM khi không biết
Thế vào công thức
Tính kì vọng hậu nghiệm
= E[Uij| ; A,B], = E[Vij| ; A,B]

Thế vào công thức MLE



V𝑖k
aij = ,                    𝐛 𝐢𝐤 = 
∑k ⃗

V 𝑖 k′
với i,j =1,………..,N,k =1,……..K.
Thuật toan EM với Mô hình Markov
ẩn
= E [Uij| ]= | ]

E [| ] = P(x(t)= xi, x(t+1)= xj | )


= E [Vik| ]= | ]

E [| ] = P(x(t)= xi, y(t) = yk | )


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ị)
(t) = P(x(t) = xi, x(t+1) = xj | )

(t)= P(x(t) = xi, y(t) =yk | )


EM khi không biết
Tính các xác suất hậu nghiệm
Do biến thiên là hằng số, nhân 2 vế với P() = const
(t) P(x(t) = xi, x(t+1) = xj | )

(t) P(x(t) = xi, y(t) =yk | )


Quy hoạt động
) = P(x(t) =i, ,…………,
(t) = P(,………,|x(t) = i )
Thuật toan EM với 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 )
2.Khởi tạo: chọn tham số A(0), B(0) và r=0
3.While chưa hội tu do
4. Bước E:
Tính ), (t) bằng quy hoạch động
Tính xác suất hậu nghiêm (t), (t)
Tính kì vọng của thống kê đủ ,
5.Bước M: cập nhập (thế vào , vào công thức MLE)
6:r  r+1
7.end while
7

Ưu nhược điểm của thuật


toán EM
Ưu nhược điểm của thuật toán EM
Ưu điểm
• Hai bước cơ bản của thuật toán EM, tức là E-step và M-step thường khá
dễ dàng đối với nhiều vấn đề về máy học về mặt thực hiện.
• Lời giải cho bậc M thường tồn tại ở dạng đóng.
• Nó luôn được đảm bảo rằng giá trị của khả năng sẽ tăng lên sau mỗi
lần lặp lại.
Ưu nhược điểm của thuật toán EM

Nhược điểm
• Không thể đưa ra các ước lượng tự động về ma trận hiệp phương sai
của các ước lượng tham số, nhưng nhược điểm đó có thể được loại bỏ
bằng cách áp dụng phương pháp luận thích hợp, liên quan đến thuật
toán EM.
• Đôi khi, nó trở nên rất chậm khi hội tụ và chỉ làm cho hội tụ đến
optima cục bộ.
• Trong một số trường hợp, bước E và bước M có thể không thể quản lý
được về mặt phân tích. 
• Nó yêu cầu cả xác suất chuyển tiếp và xác suất lùi (vì tối ưu hóa số chỉ
cần xác suất chuyển tiếp
78

Ứng dụng
Ứng dụng
• Được chọn trong phân tích nhóm dữ liệu và phân tích tâm thần không
giám sát.
• Nó được sử dụng nhiều trong các lĩnh vực khác nhau như Xử lý ngôn ngữ
tự nhiên (NLP) , Thị giác máy tinh
• Được sử dụng rộng rãi trong việc tái tạo hình ảnh trong lĩnh vực y học và
kỹ thuật cấu trúc.(cho ví dụ xứ lý hình siêu âm (PDF) Expectation
Maximization for Joint Deconvolution and Statistics Estimation
(researchgate.net))
• Được sử dụng để đo mật độ Gaussian của một hàm.
• Được sử dụng để dự đoán các tham số Mô hình Markov ẩn (HMM) và các
mô hình hỗn hợp tương tự.
• Được sử dụng để điền vào dữ liệu bị thiếu trong một mẫu.()
• Khám phá giá trị của các biến tiềm ẩn.(MLE)

You might also like