数学 · 朴素贝叶斯(零)· 贝叶斯决策论

数学 · 朴素贝叶斯(零)· 贝叶斯决策论

(假期的事比我想的要多了 100 倍,b 站视频录制计划宣告破产,呜呼 (ノへ ̄、))

(朴素贝叶斯能扯的东西也比我想的要多了 100 倍,呜呼 (ノへ ̄、))

本章大部分内容比较不友好且和朴素贝叶斯模型本身的算法没啥太大联系,然而由于种种原因、我还是把它们写了出来……鉴于我本人对它们也没有完全理解,如果有这方面专长的观众老爷发现我哪里写错了、还请不吝赐教!( σ'ω')σ

我会先把朴素贝叶斯算法写在最前面,然后会在分割线后开始扯它的来源。只关心算法的观众老爷们大可不必纠结于分割线后的东西!( σ'ω')σ

首先要叙述朴素贝叶斯算法的基本假设:

  • 独立性假设:假设单一样本X_i的 n 个维度X_i^{(1)},...,X_i^{(n)}彼此之间在各种意义上相互独立

这当然是很强的假设,在现实任务中也大多无法满足该假设。由此会衍生出所谓的半朴素贝叶斯和贝叶斯网,这里就不展开说了

然后就是算法。作为第零章,我们先暂时只叙述它的基本思想和各个公式;相关的定义和证明会放在以后的章节,但其实仅对着接下来的公式敲代码的话、就已经可以实现一个朴素贝叶斯模型了

  • 基本思想:后验概率最大化、然后通过贝叶斯公式转换成先验概率乘条件概率最大化
  • 各个公式(假设输入有 N 个、单个样本是 n 维的、一共有 K 类:c_1,...,c_K

    • 计算先验概率的极大似然估计:
    • 计算条件概率的极大似然估计:
      其中样本x_i第 j 维x_i^{(j)}的取值集合为\{a_{j1},...,a_{jS_j}\}
    • 得到最终的分类器:

接下来就简单(并不简单!)讲讲朴素贝叶斯背后的数学基础

========== 不友善的分割线 ==========

既然题目里面有个贝叶斯决策论,相信聪明的观众老爷们已经猜到:朴素贝叶斯算法背后的理论支撑就是贝叶斯决策论。囿于水平,我无法详细地进行展开、而只能做一个概括性的介绍。可能有些观众老爷也有所耳闻,除了传统的、我们可能比较熟悉的频率学派以外,还有一个叫贝叶斯学派的统计学派,我们首先要简要介绍一下它

贝叶斯学派和频率学派相比最富有区分性的一点是,它强调概率的“主观性”。直观地说:

  • 频率学派强调频率的“自然属性”,认为应该使用事件在重复试验中发生的频率作为其发生的概率的估计
  • 贝叶斯学派不强调事件的“客观随机性”,认为仅仅只是“观察者”不知道事件的结果。换句话说,贝叶斯学派认为:事件之所以具有随机性仅仅是因为“观察者”的知识不完备,对于“知情者”来说、该事件其实不具备随机性。随机性的根源不在于事件,而在于“观察者”对该事件的知识状态

举个例子:假设一个人抛了一枚均匀硬币到地上并迅速将其踩在脚底而在他面前从近到远坐了三个人。他本人看到了硬币是正面朝上的,而其他三个人也多多少少看到了一些信息,但显然坐得越远、看得就越模糊。频率学派会认为,该硬币是正是反、各自的概率都应该是50%;但是贝叶斯学派会认为,对抛硬币的人来说、硬币是正面的概率就是100%,然后可能对离他最近的人来说是80%、对离他最远的人来说就可能还是50%

所以相比起把模型参数固定、注重样本的随机性的频率学派而言,贝叶斯学派将样本视为是固定的、把模型的参数视为关键。在上面这个例子里面,样本就是抛出去的那枚硬币,模型的参数就是每个人从中获得的“信息”。对于频率学派而言,每个人获得的“信息”不应该有不同,所以自然会根据“均匀硬币抛出正面的概率是50%”这个“样本的信息”来导出“硬币是正面的概率为50%”这个结论。但是对贝叶斯学派而言,硬币抛出去就抛出去了,问题的关键在于模型的参数、亦即“观察者”从中获得的信息,所以会导出“对于抛硬币的人而言,硬币是正面的概率是100%”这一类的结论

大致知道贝叶斯学派的思想后,我们就可以介绍贝叶斯决策论了。这里不可避免地要牵扯到概率论和数理统计的相关定义和知识,但幸运的是它们都是比较基础且直观的部分、无需太多数学背景就可以知道它们的含义:

  • 行动空间 A,它是某项实际工作中可能采取的各种“行动”所构成的集合。
    (注意:正如前文所提到的、贝叶斯学派注重的是模型参数,所以通常而言我们想要做出的“行动”是“决定模型的参数”。因此我们通常会将行动空间取为参数空间,亦即A=\Theta
  • 决策\delta(\tilde X),它是样本空间 X 到行动空间 A 的一个映射。换句话说,对于一个单一的“样本”\tilde X\tilde X\in X),决策函数可以利用它得到 A 中的一个行动
    (注意:这里的“样本”通常是高维的随即向量:\tilde X = (X_1, ..., X_n);尤其需要分清的是,这个\tilde X其实是一般意义上的“训练集”、X_i才是一般意义上的“样本”。这是因为本小节主要在叙述数理统计相关知识,所以在术语上和机器学习术语会有所冲突,需要分辨清它们的关系)
  • 损失函数L(\theta,a)=L(\theta,\delta(\tilde X)),它表示参数是\theta\in\Theta时采取行动a\in A所引起的损失
  • 决策风险R(\theta,\delta),它是损失函数的期望:R(\theta,\delta)=EL(\theta,\delta(\tilde X))
  • 平均风险\rho(\delta),它是决策风险在先验分布\xi下的期望:\rho(\delta)=E_\xi R(\theta,\delta)
  • 贝叶斯决策\delta^*,它满足:\rho(\delta^*)=\inf_\delta\rho(\delta)
    换句话说,贝叶斯决策\delta^*是在某个先验分布下使得平均风险最小的决策

相信看到最后一个概念时、聪明的观众老爷们心里也有些感觉了。没错,我们可以证明:

  • 应用朴素贝叶斯算法得到的模型所做的决策就是 0-1 损失函数下的贝叶斯决策

首先要叙述一个定理:令\rho(x_1,...,x_n)满足:

亦即 \rho(x_1,...,x_n) 是训练集 \tilde X=(x_1,...,x_n) 的最小后验期望损失。那么如果一个决策 \delta^*=\delta^*(x_1,...,x_n) 能使任意一个含有 n 个样本的训练集的后验期望损失达到最小、亦即:

的话,那么\delta^*就是贝叶斯决策。该定理的数学证明要用到比较深的数学知识、这里从略(也就是说我不会)(喂),但从直观上来说是可以理解的

是故如果我们想证明朴素贝叶斯算法能导出贝叶斯决策、我们只需证明它能使任一个训练集\tilde X上的后验期望损失R(\theta,\delta(\tilde X))最小即可,为此我们要先计算它。由于这里的期望是对联合分布取的,所以可以取成条件期望:

这里的损失函数\tilde L(c_k, f(\tilde X))是 0-1 损失函数,c_k \ne f(X)时取 1、否则取 0

为使上式达到最小,只需要逐个对X=x最小化,从而有:

既而:

此即后验概率最大化、亦即朴素贝叶斯算法采取的思想,由此完成了证明

========== 分割线的说 ==========

以上的知识对我来说也挺新的、最后那部分的推导更只是我突然开脑洞之后自己尝试做的、不能保证其正确性(喂

希望观众老爷们能够喜欢~

猛戳我进入下一章! ( σ'ω')σ

编辑于 2017-01-23

文章被以下专栏收录