朴素贝叶斯

Likelihood :似然

我们首先来讨论下为什么当我们观测到 $D={16,8,2,64}$ 时更倾向于认为假设空间是所有 2 的方幂值的集合,而不是笃定假设空间是所有偶数的集合。虽然两个假设空间都符合我们的观测结果,但是归纳的过程中我们会尽量避免可疑的巧合(Suspicious Coincidences )。如果我们认为假设空间是所有偶数的集合,那么又该如何说服自己这些数字都是 2 的方幂值呢?为了更方便的形式化讨论这个现象,我们假设从某个假设空间中随机取值的概率分布为均匀分布,可以推导出从假设空间中进行 N 次取值得到观测集合的概率为: p(Dh)=[1size(h)]N=[1h]Np(D|h) = [\frac{1}{size(h)}]^N = [\frac{1}{|h|}]^N 对于这个等式最形象化的解释就是奥卡姆剃刀原则(Occam’s razor ),我们倾向于选择符合观测值的最小 / 最简的假设空间。在 $D={16}$ 的情况下,如果假设空间为 2 的方幂值,则仅有 6 个符合条件的数字,推导出 $p(D|h{two}) = 1/6$。而如果是所有的偶数集合,$p(D|h{even}) = 1/50$ 。显而易见 $htwo > h_even$,如果观测序列中有 4 个数值,则 $h{two} = (1/6)^4 = 7.7 10^{-4}$,然而 $h_{even} = (1/50)^4 = 1.610^{-7}$,不同的假设空间的概率值差异越发的大了。因此我们会认为 $D = {16,8 , 2,64}$ 这个观测序列是来自于 2 的方幂值这个假设空间而不是所有的偶数集合这个假设空间。

Prior :先验

前一节我们讨论了所谓似然的概念,当观测到 $D = {16,8 , 2,64}$ 时我们会倾向于认为其采样于 2 的方幂值这个集合,不过为啥不是 $h' = 除了 32 之外的 2 的方幂值 $ 这个似然概率更大的集合呢?直观来看就是 $h' = 除了 32 之外的 2 的方幂值 $ 这个假设与常规思维不符,而对于这样奇特的思维我们可以赋予其较低的先验概率值来降低其最终得到的后验概率。总计而言,贝叶斯理论中概率并不需要频率解释,先验分布也可以称为主观概率,是根据经验对随机现象的发生可能性的一种看法或者信念。统计学家萨维奇曾给出过一个著名的女士品茶的例子:一位常喝牛奶加茶的女士说她可以分辨在杯中先加入的是茶还是奶。连续做了十次实验,她都说对了。显然这来自于她的经验而非猜测。我们在日常生活中也经常使用基于经验或者信念的主观的概率陈述。比如说,天气预报里说明天(8 月 3 日)降水概率 30%,就是关于 “ 明日降水 ” 这个事件的一种信念,因为作为 8 月 3 日的明天是不可重复的,自然也就没有频率意义。再比如说,医生认为对某位病人进行手术的成功可能性为 80%,也是根据自己的经验而具有的的信念,而非在这位病人身上反复进行试验的频率结果。 把 θ 看做随机变量,进而提出先验分布,在许多情况下是合理的。比如工厂产品的合格率每一天都有波动,可以看做随机变量;明天的降水概率虽然是几乎不动的,但这是基于经验和规律提出来的概率陈述,也可以看做随机变量。尽管我们使用后验分布来进行推理,但先验分布的选取也是很重要的。常见的先验分布类型包括:

  • 无信息先验(Noninformative Priors ) 无信息先验只包含了参数的模糊的或者一般的信息,是对后验分布影响最小的先验分布。很多人愿意选取无信息先验,因为这种先验与其它 “ 主观 ” 的先验相比更接近 “ 客观 ”。通常,我们把均匀分布作为无信息先验来使用,这相当于在参数所有的可能值上边指派了相同的似然。但是无先验信息的使用也要慎重,比如有些情况下会导致不恰当的后验分布(如不可积分的后验概率密度)。

  • Jeffreys 先验 (Jeffreys’ Prior) Jeffreys 提出的选取先验分布的原则是一种不变原理,采用 Fisher 信息阵的平方根作为 θ 的无信息先验分布。较好地解决了无信息先验中的一个矛盾,即若对参数 θ 选用均匀分布,则其函数 g(θ) 往往不是均匀分布。

  • 信息先验(Informative Priors ) 根据以前的经验、研究或专家经验得到的先验分布。

  • 共轭先验(Conjugate Priors ) 共轭先验是指先验分布和后验分布来自同一个分布族的情况,就是说先验和后验有相同的分布形式(当然,参数是不同的)。这些共轭先验是结合似然的形式推导出来的。共轭先验是经常被使用的一种先验分布形式,原因在于数学处理和计算上的方便性,同时后验分布的一些参数也可以有很好的解释。

Posterior :后验

后验值即为似然乘以先验再进行归一化,对于这里的数字游戏: p(hD)=p(Dh)p(h)hHp(D,h)=p(h)⨿(Dh)/hNhHp(h)⨿(Dh)/hNp(h|D) = \frac{p(D|h)p(h)}{\sum*{h' \in H}p(D,h')} = \frac {p(h)\amalg(D\in h) / |h|^N} {\sum*{h' \in H}p(h')\amalg(D \in h') / |h'|^N} 其中 $\amalg(D\in h) $ 当且仅当 $D$ 中所有数据都属于假设空间 $h$ 时取 1,其他情况下取 0。 上图展示了观测值为 ${16}$ 情况下对应的先验、似然与后验值,其中后验值是先验乘以似然的结果。对于大部分概念而言,先验都是一致的,此时后验值取决于似然。不过对于上文中提及的 $h' = 除了 32 之外的 2 的方幂值 $,其先验概率取值极地,因此虽然其有着不错的似然,其最终得出的后验概率值还是很小的。而观测值 $D = { 16,8,2,64 }$ 时,其先验、似然与后验如下图所示: 总体而言,当我们具有足够数目的数据时,后验概率 $p(h|D)$ 会在某个概念上达到峰值,求取目标假设空间的过程(预测阶段)就可以引入 MAP(Maximum a Posterior )估计: h^MAP=argmax_hp(Dh)p(h)=argmaxh[logp(Dh)+logp(h)]\hat{h} ^ {MAP} = argmax\_{h} p(D|h)p(h) = argmax_h [log p(D|h) + log p(h)] 而当观测数据足够多时,似然值的影响会远大于先验,此时 MAP 就近似于最大似然估计 MLE(Maximum Likelihood Estimate )。

共轭先验