系列文章目录
统计计算一|非线性方程的求解
统计计算二|EM算法(Expectation-Maximization Algorithm,期望最大化算法)
文章目录
一、两枚硬币正面概率估算
问题背景
- 假设有 A, B 两枚硬币,设计了六组试验,每次试验投掷5 次硬币,需要根据投掷出的结果判断两枚硬币正面朝上的概率。
- 待估参数: 两枚硬币正面朝上的概率 p A p_A pA, p B p_B pB
- 观测数据: 第 i i i 组试验结果为 X i = ( x i 1 , x i 2 , x i 3 , x i 4 , x i 5 ) ( i = 1 , . . . , 6 ) X_i = (x_{i1}, x_{i2}, x_{i3}, x_{i4}, x_{i5})(i = 1,..., 6) Xi=(xi1,xi2,xi3,xi4,xi5)(i=1,...,6), x i j = 1 x_{ij} = 1 xij=1 表示硬币出现正面, x i j = 0 x_{ij} = 0 xij=0 表示硬币出现反面
- 可能未观测到的缺失数据: Z i = 1 Z_i = 1 Zi=1 表示 A 硬币投的结果, Z i = 0 Z_i = 0 Zi=0 表示 B 硬币投的结果
1、完全数据的对数似然函数
基于完整数据
Y
i
=
(
X
i
,
Z
i
)
,
i
=
1
,
2
,
.
.
.
,
6
Y_i = (X_i, Z_i), i = 1, 2,... , 6
Yi=(Xi,Zi),i=1,2,...,6 的对数似然函数为:
若
z
k
z_k
zk已知,就不需要用条件期望,直接对似然函数求偏导即可:
也就是参数
p
A
p_A
pA,
p
B
p_B
pB 的估计,只需分别统计 A, B 硬币投的结果出现正面的次数,然后除以分别投的总次数。
2、Q函数(对数似然的条件期望)
若
z
k
z_k
zk未观测到,则需要计算对应的Q函数:
3、极大化Q函数得到参数的估计
关于
p
A
,
p
B
p_A,p_B
pA,pB,极大化Q函数可得:
其中
E
(
Z
k
∣
X
;
p
A
(
i
−
1
)
,
p
B
(
i
−
1
)
)
E(Z_k|X;p_A^{(i-1)},p_B^{(i-1)})
E(Zk∣X;pA(i−1),pB(i−1))计算可得:
二、多项分布参数的 EM 算法
问题背景
- 假设
x
=
(
x
1
,
.
.
.
,
x
m
)
x=(x_1,...,x_m)
x=(x1,...,xm)服从多项分布,也就是:
p ( x ∣ p 1 , . . . , p m ) = n ! x 1 ! . . . x m ! p 1 x 1 . . . p m x m p(x|p_1,...,p_m)=\frac{n!}{x_1!...x_m!}p_1^{x_1}...p_m^{x_m} p(x∣p1,...,pm)=x1!...xm!n!p1x1...pmxm
如果 m = 4 m=4 m=4, ( p 1 , . . . , p 4 ) = ( 0.5 − θ / 2 , θ / 4 , θ / 4 , 0.5 ) (p_1,...,p_4)=(0.5-\theta/2,\theta/4,\theta/4,0.5) (p1,...,p4)=(0.5−θ/2,θ/4,θ/4,0.5) - 待估参数: θ \theta θ
- 观测数据: x = ( x 1 , x 2 , x 34 ) τ x=(x_1,x_2,x_{34})^{\tau} x=(x1,x2,x34)τ,其中 x 34 = x 3 + x 4 x_{34}=x_3+x_4 x34=x3+x4
1、完全数据的对数似然函数
潜变量
x
3
,
x
4
x_3,x_4
x3,x4没有观测到,基于完整数据
y
=
(
x
,
z
)
y=(x,z)
y=(x,z),即
(
x
1
,
x
2
,
x
3
,
x
4
)
τ
(x_1,x_2,x_3,x_4)^{\tau}
(x1,x2,x3,x4)τ,对数似然函数为:
2、Q函数(对数似然的条件期望)
基于观测到的数据和上次迭代估计
θ
(
i
−
1
)
θ^{(i−1)}
θ(i−1),计算对数似然的条件期望:
关键步骤的补充说明:
此时可得对数似然的条件期望为:
3、极大化Q函数得到参数的估计
对Q函数求导可得:
通过不断迭代,最终得到
θ
θ
θ 的估计。
如果数据完全观测到,也就是
x
3
x_3
x3 被观测,则参数
θ
θ
θ 的极大似然估计为:
θ
^
=
x
2
+
x
3
x
1
+
x
2
+
x
3
\hat{\theta}=\frac{x_2+x_3}{x_1+x_2+x_3}
θ^=x1+x2+x3x2+x3
对比完全数据的极大似然估计 θ ^ \hat{θ} θ^ 和 EM 算法第 i i i 次迭代估计 θ ( i ) θ^{(i)} θ(i), EM算法本质上相当于把基于完整数据得到的极大似然估计量中没有观测到的数据,采用观测到的数据和上次迭代估计 θ ( i − 1 ) θ^{(i−1)} θ(i−1) 预测。
三、多项式分布的特点
1、多项式分布其中两个类别合在一起,新分布也是多项式分布。
设
x
=
(
x
1
,
.
.
.
,
x
m
)
x=(x_1,...,x_m)
x=(x1,...,xm)服从多项分布,即:
p
(
x
1
∣
p
1
,
.
.
.
,
p
m
)
=
n
!
x
1
!
.
.
.
x
m
!
p
1
x
1
.
.
.
p
m
x
m
p(x_1|p_1,...,p_m)=\frac{n!}{x_1!...x_m!}p_1^{x_1}...p_m^{x_m}
p(x1∣p1,...,pm)=x1!...xm!n!p1x1...pmxm
则
x
∗
=
(
x
1
+
x
2
,
x
3
,
.
.
.
,
x
m
)
x^*=(x_1+x_2,x_3,...,x_m)
x∗=(x1+x2,x3,...,xm)也服从多项分布:
p
(
x
∗
∣
p
1
,
.
.
.
,
p
m
)
=
n
!
(
x
1
+
x
2
)
!
.
.
.
x
m
!
(
p
1
+
p
2
)
x
1
+
x
2
.
.
.
p
m
x
m
p(x^*|p_1,...,p_m)=\frac{n!}{(x_1+x_2)!...x_m!}(p_1+p_2)^{x_1+x_2}...p_m^{x_m}
p(x∗∣p1,...,pm)=(x1+x2)!...xm!n!(p1+p2)x1+x2...pmxm
证明:
2、多项式分布的其中两个类别,他们加起来等于一个常数的话,那么他们两个在这个常数下的条件概率分布成比例于他们在原有的多项式分布中各自的概率,然后他们在这个二项式分布真实的概率为它们在联合概率中的这个概率除以它们的求和。
设
x
=
(
x
1
,
.
.
.
,
x
m
)
x=(x_1,...,x_m)
x=(x1,...,xm)服从多项分布,即:
p
(
x
1
∣
p
1
,
.
.
.
,
p
m
)
=
n
!
x
1
!
.
.
.
x
m
!
p
1
x
1
.
.
.
p
m
x
m
p(x_1|p_1,...,p_m)=\frac{n!}{x_1!...x_m!}p_1^{x_1}...p_m^{x_m}
p(x1∣p1,...,pm)=x1!...xm!n!p1x1...pmxm
则
x
1
,
x
2
∣
x
1
+
x
2
=
y
x_1,x_2|x_1+x_2=y
x1,x2∣x1+x2=y也服从多项分布:
p
(
x
1
,
x
2
∣
x
1
+
x
2
=
y
,
p
)
=
C
y
x
1
(
p
1
p
1
+
p
2
)
x
1
(
p
2
p
1
+
p
2
)
y
−
x
1
,
x
1
=
0
,
1
,
.
.
.
,
y
p(x_1,x_2|x_1+x_2=y,p)=C_y^{x_1}(\frac{p_1}{p_1+p_2})^{x_1}(\frac{p_2}{p_1+p_2})^{y-x_1},x_1=0,1,...,y
p(x1,x2∣x1+x2=y,p)=Cyx1(p1+p2p1)x1(p1+p2p2)y−x1,x1=0,1,...,y
四、正态分布参数 EM 估计
问题背景
来自正态总体 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2)的完整数据 y = ( x 1 , x 2 , . . . , x n ) τ y=(x_1,x_2,...,x_n)^{\tau} y=(x1,x2,...,xn)τ,观测到的数据为 x = ( x 1 , . . . , x m ) x=(x_1,...,x_m) x=(x1,...,xm),隐含数据为 z = ( x m + 1 , . . . , x n ) z=(x_{m+1},...,x_n) z=(xm+1,...,xn)。
1、完全数据的对数似然函数
基于完整数据
y
y
y的极大似然函数为:
2、Q函数(对数似然的条件期望)
基于观测数据的条件对数似然为:
3、极大化Q函数得到参数的估计
对Q函数求导可得:
给定第
i
−
1
i − 1
i−1 步的
(
µ
(
i
−
1
)
,
σ
2
(
i
−
1
)
)
(µ^{(i−1)}, σ^{2^{(i−1)}})
(µ(i−1),σ2(i−1)),且未观测到的隐含数据和观测到的数据独立,则
若未观测的隐含数据和观测数据相关,则根据变量相关性计算。
五、二项泊松混合模型的 EM 估计
问题背景
观测 n n n个人的B站用户等级,等级为 i ( i = 0 , 1 , , . . . , 6 ) i(i=0,1,,...,6) i(i=0,1,,...,6)的人数是 n i n_i ni, n = ∑ i = 0 6 n i n=\sum_{i=0}^6n_i n=∑i=06ni。假定已注册的人的B站等级服从参数为 λ \lambda λ的泊松分布,且刚注册和没有注册的用户等级均为0,观测得到的数据为:
用户等级 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
人数 | n 0 n_0 n0 | n 1 n_1 n1 | n 2 n_2 n2 | n 3 n_3 n3 | n 4 n_4 n4 | n 5 n_5 n5 | n 6 n_6 n6 |
- 待估参数:参数 λ \lambda λ和没有注册的概率 ξ \xi ξ
- 观测数据: x = ( n 0 , n 1 , . . . n 6 ) x=(n_0,n_1,...n_6) x=(n0,n1,...n6)
- 令 n A n_A nA表示没有注册的人数,则 n B = n 0 − n A n_B=n_0-n_A nB=n0−nA表示刚注册等级为0的用户。
- 隐含数据: z = n A z=n_A z=nA
1、完全数据的对数似然函数
基于完整数据
y
=
(
x
,
z
)
y=(x,z)
y=(x,z)的极大似然函数为:
相当于先随机分组,再乘以每个人出现在这个组别的概率(多项式分布)。这是从整体考虑的似然函数,而非从个体出发。
2、Q函数(对数似然的条件期望)
基于观测数据 x x x 和上次迭代估计 ξ ( i − 1 ) ξ^{(i−1)} ξ(i−1), λ ( i − 1 ) λ^{(i−1)} λ(i−1), 对数似然的条件期望为:
3、极大化Q函数得到参数的估计
对
Q
(
ξ
,
λ
;
ξ
(
i
−
1
)
,
λ
(
i
−
1
)
)
Q(ξ, λ; ξ^{(i−1)}, λ^{(i−1)})
Q(ξ,λ;ξ(i−1),λ(i−1)) 关于
ξ
ξ
ξ,
λ
λ
λ 求导, 可得