持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情
大部分 EM 算法都是通过 3 硬币的例子引入的,简单用语言描述一下,现在手里有 3 硬币,每一个硬币投掷正面朝上事件概率都各不相同,我们用 A、B 和 C 分别表示这个 3 个硬币,他们对应正面朝上概率分别用 π、p 和 q 来表示。

首先投掷硬币 A 然后观测 A 的结果,根据 A 投掷的结果来选择 B 或者 C,如果 A 正面朝上则选择 B 进行投掷,如果结果背面朝上则选择 C 进行投掷,最终观测到值是选择 B 或 C 投掷结果为随机变量 x 值,
| H | T |
|---|
| B | p | 1−p |
| C | q | 1−q |
- 这里 H(Head) 和 T(Tail) 分别用 H 和 T 表示观测投掷硬币的结果为正面朝上和背面朝上。
P(x=H)=πp+(1−π)qP(x=T)=π(1−p)+(1−π)(1−q)
P(x=H) 表示看到正面朝上的概率,首先
条件概率
条件是观测到正面朝上条件下,是投掷硬币 B 的概率
P(B∣x=H)=πp+(1−π)qπpP(C∣x=H)=πp+(1−π)q(1−π)q
条件是观测到背面朝上条件下,是投掷硬币 C 的概率
P(B∣x=T)=π(1−p)+(1−π)(1−q)π(1−p)P(C∣x=T)=π(1−p)+(1−π)(1−q)(1−π)(1−q)
上面 x=H
x1,x2,⋯,xn 做 n 实验后来统计 π,p,q,对于 xi 取值可能是 1 或者 0,其中 1 表示正面朝上,0 表示背面朝上
xi=πpxi(1−p)1−xi+(1−π)qxi(1−q)1−xi
π1,p1,q1maxi=1∏n(πp+(1−π)q)xi(π(1−p)+(1−π)(1−q))1−xi
pmax[pxi(1−p)1−xi]
| x1 | x2 | ⋯ | xi |
|---|
| B:H | πp+(1−π)qπp=a1 | | πp+(1−π)qπp=ai | |
| B:T | πp+(1−π)q(1−π)q=b1 | | πp+(1−π)q(1−π)q=bi | |
| C:H | πp+(1−π)qπp=a1 | | πp+(1−π)qπp=ai | |
| C:T | πp+(1−π)q(1−π)q=b1 | | πp+(1−π)q(1−π)q=bi | |
计算 π
π(1)=n∑xi=1ai+∑xi=0bi
让我们看一看这个公式,进行了 n 次采样,π 也就是做了 n 次实验其中 A 正面朝上的次数,也就是也就是 nB ,我们每次看到不是正面朝上就是背面朝上,这个可以观测的,那么对于 π 每一个看到正面或者背面都是可能由 B 产生,到这里我们就需要抽象来想问题,我们将每一次其实可能是 B 也就是对于 1 可能会有一定概率是 B 也就是 ∑xi=1ai 需要将背面来自 B 也看成概率那么就是每一次当你看到背面的概率为 ∑xi=0bi 所及将 ∑xi=1ai+∑xi=0bi
概率 p
p(1)=∑xi=1ai+∑xi=0bi∑xi=1ai
那么 p 就是 B 硬币投掷正面朝上的概率表示为 p 也就是条件概率,P(B)=n∑xi=1ai+∑xi=0bi 那么做了 n 实验看到正面朝上的 n∑xi=1ai 所以 p(1)=∑xi=1ai+∑xi=0bi∑xi=1ai
概率 q
概率 p
q(1)=∑xi=1ci+∑xi=0di∑xi=1ci
π(1),p(1),q(1)→π(2),p(2),q(2)