MLE算法
Maximum Likelihood Estimate (MLE) 中文名叫做极大似然估计。其核心思想是求解能够最大化拟合观测分布
D
D
D 的参数
θ
^
\hat\theta
θ^
θ
^
=
a
r
g
m
a
x
(
P
(
D
)
∣
θ
)
\hat\theta = argmax(P(D)|\theta)
θ^=argmax(P(D)∣θ)
例如,假设抛硬币正面朝上的概率值
P
(
u
p
)
=
θ
P(up) = \theta
P(up)=θ, 反面朝上的概率值为
P
(
d
o
w
n
)
=
1
−
θ
P(down) = 1 - \theta
P(down)=1−θ 。假设每次抛硬币的过程是条件独立的,且符合(0-1)分布。用
α
u
\alpha_{u}
αu和
α
d
\ \alpha_d
αd 分别表示抛了若干次硬币之后观察到的正面朝上和反面朝上的次数。则
P
(
D
∣
θ
)
=
P
(
α
u
,
α
d
∣
θ
)
=
θ
α
u
(
1
−
θ
)
α
d
P(D|\theta) = P(\alpha_u, \alpha_d|\theta) = \theta^{\alpha_u} (1 - \theta)^{\alpha_d}
P(D∣θ)=P(αu,αd∣θ)=θαu(1−θ)αd
利用MLE算法求解上述表达式:
θ
^
M
L
E
=
a
r
g
m
a
x
(
P
(
D
)
∣
θ
)
θ
^
M
L
E
=
a
r
g
m
a
x
(
l
n
(
P
(
D
∣
θ
)
)
)
θ
^
M
L
E
=
a
r
g
m
a
x
(
l
n
(
θ
α
u
(
1
−
θ
)
α
d
)
)
\hat\theta_{MLE} = argmax(P(D)|\theta) \\ \hat\theta_{MLE} = argmax(ln(P(D|\theta))) \\ \hat\theta_{MLE} = argmax(ln(\theta^{\alpha_{u}}(1-\theta)^{\alpha_d}))
θ^MLE=argmax(P(D)∣θ)θ^MLE=argmax(ln(P(D∣θ)))θ^MLE=argmax(ln(θαu(1−θ)αd))
令其导数为0,求解极值点:
d
d
θ
l
n
(
θ
α
u
(
1
−
θ
)
α
d
)
=
α
u
1
θ
−
α
d
1
1
−
θ
=
0
\frac{d}{d\theta }ln(\theta^{\alpha_{u}}(1-\theta)^{\alpha_d}) = \alpha_u \frac{1}{\theta} - \alpha_d \frac{1}{1-\theta} = 0
dθdln(θαu(1−θ)αd)=αuθ1−αd1−θ1=0
解得 θ ^ M L E = α u α u + α d \hat\theta_{MLE} = \frac{\alpha_u}{\alpha_u + \alpha_d} θ^MLE=αu+αdαu 这符合我们的认知,概率值近似等于频率。
MAP 算法
Maximum a Posterior (MAP) 中文名叫最大后验概率估计。其核心思想是在极大似然估计(MLE)算法的基础上,假设参数
θ
\theta
θ符合某先验分布
g
(
θ
)
g(\theta)
g(θ)则根据贝叶斯公式:
P
(
θ
∣
D
)
=
P
(
D
∣
θ
)
P
(
θ
)
P
(
D
)
P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)}
P(θ∣D)=P(D)P(D∣θ)P(θ)
由于P(D) 是已知的观测分布可以忽略,因此
P
(
θ
∣
D
)
∝
P
(
D
∣
θ
)
P
(
θ
)
P(\theta|D) \propto P(D|\theta)P(\theta)
P(θ∣D)∝P(D∣θ)P(θ)(这里的
∝
\propto
∝表示“正比于”),因此MAP的求解过程如下:
θ
^
M
A
P
=
a
r
g
m
a
x
(
P
(
D
)
∣
θ
)
P
(
θ
)
=
θ
^
M
L
E
g
(
θ
)
\hat \theta_{MAP} = argmax(P(D)|\theta)P(\theta) = \hat \theta_{MLE} \space g(\theta)
θ^MAP=argmax(P(D)∣θ)P(θ)=θ^MLE g(θ)
当参数 θ \theta θ的分布为常数分布时,最大后验概率估计等价于极大似然估计,即 θ ^ M A P = θ ^ M L E \hat \theta_{MAP} = \hat \theta_{MLE} θ^MAP=θ^MLE
EM 算法
Expectation-maximization algorithm (EM) 中文名叫期望最大化算法,其核心思想是当求解MLE算法或MAP算法的过程中依赖于某些不可观测的隐变量 Z Z Z(不同于常规的可观测数据分布D,现在待计算的分布中有一些数据是不可观测的(例如缺失值),就需要使用EM算法)。则通过以下步骤进行参数估计:
- 初始化分布参数 ( θ \theta θ)
- E步骤: 根据参数的假设值,给出未知变量(隐变量)的期望估计,应用于缺失值。
- M步骤: 根据未知变量(隐变量)的估计值,给出当前的参数的极大似然估计 θ ^ M L E \hat \theta_{MLE} θ^MLE。
重复2,3过程,直到收敛。