隐变量又称潜变量,顾名思义就是隐藏着的随机变量,它不能通过观测来得到,或者说它产生的过程是不可观测的,然而它却可以在潜移默化中影响可观测变量。
我们用抛硬币为例来解释什么是隐变量。假设有 A 、 B 、 C A、B、C A、B、C 三枚硬币,正面向上的概率分别为 θ A θ_A θA 、 θ B θ_B θB、 θ C θ_C θC ,我们想求出 θ B θ_B θB 和 θ C θ_C θC ,目前尚不知晓,但可以通过抛硬币的观测结果推测出来。
抛这三枚硬币的游戏规则是:第一步,先抛硬币 A A A ,第二步,如果硬币 A A A 正面向上,则选择硬币 B B B 抛10次,记录这10次的结果;如果硬币 A A A 反面向上,则选择硬币 C C C 抛10次,记录这10次的结果。这样重复5次,则可以得到50个抛硬币的观测数据:
硬币A的结果(已知) | 硬币B的结果(观测数据) | 硬币C的结果(观测数据) |
---|---|---|
反 | 正反反反正正反正反正 | |
正 | 正正正正反正正正正正 | |
正 | 正反正正正正正反正正 | |
反 | 正反正反反反正正反反 | |
正 | 反正正正反正正正反正 |
我们可以利用这个观测结果来估计 θ B θ_B θB 和 θ C θ_C θC。
硬币 B B B 在30次中正面向上出现24次,反面向上出现6次,由极大似然可得出现这种结果的概率为 θ B 24 ( 1 − θ B ) 6 θ_B^{24}(1-θ_B)^{6} θB24(1−θB)6,对应的图像如下:
可以看到在 θ B = 0.8 θ_B=0.8 θB=0.8 时取到最大值,即 θ B = 24 30 = 0.8 θ_B={24\over 30}=0.8 θB=3024=0.8 。
同理可得 θ C = 9 20 = 0.45 θ_C={9\over 20}=0.45 θC=209=0.45 ,至此,我们通过观测数据估计出了硬币 B 、 C B、C B、C 正面向上的概率,然而我们需要知道,得到这组观测数据的前提是每次我们知道该抛的是硬币 B B B 还是硬币 C C C 。
如果我们在上面的抛硬币游戏中,将第一步放入暗箱里操作,也就是说抛硬币 A A A 的结果我们不得而知,只能得到最终50个观测结果:
硬币A的结果(未知) | 硬币B或C的结果(观测数据) |
---|---|
不知道 | 正反反反正正反正反正 |
不知道 | 正正正正反正正正正正 |
不知道 | 正反正正正正正反正正 |
不知道 | 正反正反反反正正反反 |
不知道 | 反正正正反正正正反正 |
那么在这种情况下,如何去估计出 θ B θ_B θB 和 θ C θ_C θC 呢?此时,就不能用最大似然去估计了,因为我们不再知道每组结果是来自硬币 B B B 还是 C C C 。
这里未知的硬币 A A A 的结果,其实就是个隐变量。
关于这种情况下 θ B θ_B θB 和 θ C θ_C θC 的求法,我会在后面的 EM 算法里讲。