【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [4] 朴素贝叶斯

本篇内容为西瓜书第 7 章贝叶斯分类器 7.37.17.2 的内容:

  • 7.3 朴素贝叶斯分类器
  • 7.1 贝叶斯决策论
  • 7.2 极大似然估计

如移动端无法正常显示文中的公式,右上角跳至网页即可正常阅读。


贝叶斯法

在对机器学习中的贝叶斯分类器进行介绍前,我们先来看一个统计学中参数估计的贝叶斯法。以方便对后面的知识进行更好的理解。

贝叶斯法的出发点是在进行抽样之前,我们已对 $\theta$ 有一定的知识,叫做先验知识。这种先验知识必须用 $\theta$ 的某种概率分布表达出来,这概率分布叫做 $\theta$ 的“先验分布”或“验前分布”。这个分布总结了我们试验之前对未知参数 $\theta$ 的知识。这是贝叶斯学派处理统计问题的一个基本思想。

而其它参数估计的方法,在我们心目中,未知参数 $\theta$ 就简单的是一个未知数,在抽取样本之前,我们对 $\theta$ 没有任何的了解,所有的信息全来自样本。

贝叶斯学派是数理统计学中的一大学派。

设总体有概率密度 $f(x,\theta)$(或概率函数,若总体分布为离散的),从这总体抽样本 $x_1, x_2, ···,x_n$,则样本密度为 $f(x_1, \theta), f(x_2, \theta), ···, f(x_n, \theta)$。它可视为在给定 $\theta$ 值时 $(x_1, x_2, ···,x_n)$ 的密度,由式 $f(x_1, x_2) = f_2(x_2)f_1(x_1 | x_2)$ 得 $(\theta, x_1, x_2, ···, x_n)$ 得联合密度为

$$ h(\theta)f(x_1,\theta)···f(x_n, \theta) $$

关于式 $f(x_1, x_2) = f_2(x_2)f_1(x_1 | x_2)$:设二维随机变量 $X=(X_1, X_2)$ 有概率密度函数 $f(x_1, x_2)$。

由此,算出 $(x_1, x_2, ···,x_n)$ 的边缘密度为

$$ p(x_1, x_2, ···,x_n)=\quad\int_{}{}h(\theta)f(x_1,\theta)···f(x_n, \theta)d\theta $$

再由 $f_1(x_1 | x_2)=f(x_1, x_2)/f_2(x_2)$ 得在给定 $x_1, x_2, ···,x_n$ 的条件下,$\theta$ 的条件密度为

$$ h(\theta|x_1, x_2, ···, x_n)=\frac{h(\theta)f(x_1,\theta)···f(x_n, \theta)}{p(x_1, x_2, ···,x_n)} $$

这个条件密度代表了我们现在(取得样本 $x_1, x_2, ···,x_n$ 后)对 $\theta$ 的知识,它综合了 $\theta$ 的先验信息与由样本带来的信息。上式称为 $\theta$ 的“后验密度”。

贝叶斯学派的另一个重要观点是:在得出后验分布后,对参数 $\theta$ 的任何统计推断,都只能基于这个后验分布。

那么,如何选择上面提到的先验分布 $h(\theta)$?贝叶斯本人曾提出“同等无知”原则,即事先认为 $\theta$ 取 $[0,1]$ 内一切值都是同等可能,就是说取 $[0,1]$ 内均匀分布 $R(0, 1)$ 作为 $\theta$ 的先验分布。又称贝叶斯原则。被广泛应用到其它情况,不过随着所估计参数的范围和性质不同,具体表现形式也不同。


前面铺垫了这么多,就是为了更好了理解贝叶斯学派的思想,下面我们开始介绍机器学习中的贝叶斯分类器。

朴素贝叶斯分类器

朴素贝叶斯的假设

  • 特征独立性:一个特征出现的概率,与其它特征(条件)独立。即对于给定分类的条件下,特征独立。
  • 特征均衡性:每个特征同等重要。

基本方法

朴素贝叶斯(naive Bayes) 法是基于贝叶斯定理与特征条件独立假设的分类方法,对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布:然后基于此模型,对给定的输入 $x$,利用贝叶斯定理求出后验概率最大的输出 $y$。

对于给定的特征向量 $x_1, x_2, ···,x_n$,类别 $c$ 的概率可以根据贝叶斯公式得到:

$$ P(c | x_1, x_2, ···,x_n)=\frac{P(c)P(x_1, x_2, ···,x_n|c)}{P(x_1, x_2, ···,x_n)} $$

贝叶斯公式:$P(B_i|A)=\frac{P(B_i)P(A|B_i)}{\sum_{j=1}^{n}P(B_j)P(A|B_j)}$

其中,$P(c)$ 是先验概率,$P(x_1, x_2, ···,x_n|c)$ 是样本 $x$ 相对于类标记 $c$ 的类条件概率 (class-conditional probability)。

有了先验概率分布和条件概率分布,学习到联合概率分布。

条件概率分布 $P(x_1, x_2, ···,x_n|c)$ 有指数级数量的参数,其估计是不可行的。因此,基于条件独立性假设,上式可重写为:

$$ P(c | x_1, x_2, ···,x_n)=\frac{P(c)P(x_1, x_2, ···,x_n|c)}{P(x_1, x_2, ···,x_n)} \\ =\frac{P(c)}{P(x)}\prod_{i=1}^{d}P(x_i|c) $$

其中,$d$ 为特征数目,$x_i$ 为 $x$ 在第 $i$ 个特征上的取值。

对条件独立性假设通俗的理解就是给定类别 $c$ 时,给不给出 $x_1, ···,x_{i-1},x_{i+1},···,x_n$ 不影响 $x_i$ 的取值。

在给定样本的前提下,$P(x_1, x_2, ···,x_n)$ 是常数,所以有:

$$ P(c | x_1, x_2, ···,x_n) \propto P(c)\prod_{i=1}^{d}P(x_i|c) $$

从而,得到朴素贝叶斯分类器的表达式:

$$ h_{nb}(x)= \begin{equation} \mathop{\arg\max}_{c\in{y}}P(c)\prod_{i=1}^{d}P(x_i|c) \end{equation} $$

显然,朴素贝叶斯分类器的训练过程就是基于训练集 $D$ 来估计类先验概率 $P(c)$,并为每个特征估计条件概率 $P(x_i|c)$。


朴素贝叶斯算法

  • 输入:训练数据;实例 x。
  • 输出:实例 x 的分类。

1、计算先验概率 $P(c)$ 及条件概率 $P(x_1, x_2, ···,x_n|c)$
2、对于给定的实例 $x$,计算

$$ P(c)\prod_{i=1}^{d}P(x_i|c) $$

3、确定实例 $x$ 的类:

$$ h_{nb}(x)=\mathop{\arg\max}_{c\in{y}}P(c)\prod_{i=1}^{d}P(x_i|c) $$


下面我们看一个例题,就能很好的理解这个过程了。

clipboard.png
clipboard.png


在学完贝叶斯估计后,我们引入拉普拉斯 (Laplace) 平滑来进行计算:

clipboard.png

贝叶斯决策论

后验概率最大化的含义

朴素贝叶斯法将实例分到后验概率最大的类中。这等价与期望风险最小化。

假设有 $N$ 种可能的类别标记,即 $y=\{c_1, c_2, ···, c_N\}$,$\lambda_{ij}$ 是将一个真实标记为 $c_j$ 的样本误分类为 $c_i$ 所产生的期望损失。具体来说,若目标是最小化分类错误率,则误判损失 $\lambda_{ij}$ 可写为

$$ \lambda_{ij}= 0, if i=j \\ \lambda_{ij}=1, otherwise $$

即 0-1 损失函数。

由此可得到期望风险函数。依据贝叶斯判定准则,得到最小化分类错误率的贝叶斯最优分类器为

$$ h^*(x)=\mathop{\arg\max}_{c\in{y}}P(c|x) $$

即对每个样本 $x$,选择能使后验概率 $P(c|x)$ 最大的类别标记。

以上,根据期望风险最小化准则得到了后验概率最大化准则。这就是朴素贝叶斯法所采用的原理。

贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择那个能是条件风险最小的类别标记。
具体推导过程可参照《机器学习》147 页和统计学习方法 49 页,这里不再赘述。

极大似然估计

前面我们介绍了对于参数估计统计学界有两种解决方法。在本篇中对应的为极大似然估计贝叶斯估计


极大似然估计的简单介绍

对于极大似然估计来说,首先假设所得样本服从某一分布,为估计出这个分布中的参数,给出似然函数,然后用似然程度最大的那个点去作为真实参数的估计值,即在给定样本的条件下,这个值“看来最像”是真参数值。由于计算过程中的连乘操作易造成下溢,通常使用对数似然函数。

似然函数:当样本固定而将其分布(即概率密度函数或概率函数)看作参数的函数时,它称为“似然函数”。

贝叶斯估计

用极大似然估计可能会出现所要估计的概率值为 0 的情况。这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。

令 $D_c$ 表示训练集 $D$ 中第 $c$ 类样本组成的集合,若有充足的独立同分布样本,估计出类先验概率

$$ P(c)=\frac{|D_c|+\lambda}{|D|+N\lambda} $$

条件概率 $P(x_i|c)$ 的贝叶斯估计是

$$ P(x_i|c)=\frac{|D_{c,x_i}|+\lambda}{|D_c|+N_i\lambda} $$

其中,$N$表示训练集 $D$ 中可能的类别数,$N_i$ 表示第 $i$ 个特征可能的取值数。

式中 $\lambda\ge0$,等价于在随机变量各个取值的频数上赋予一个正数 $\lambda>0$。

当 $\lambda=0$ 时,就是极大似然估计。
当 $\lambda=1$ 时,称为 Laplace 平滑,也是常取的数值。
当 $\lambda<1$ 时,称为 Lidstone 平滑。

总结

对上述内容进行简单的总结就是:朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测,将输入 $x$ 分到后验概率最大的类 $y$。其原理为后验概率最大等价于 0-1 损失函数时的期望风险最小化。


参考链接:
概率论与数理统计
全概公式和贝叶斯公式的理解
最大似然函数估计

不足之处,欢迎指正。

$$$$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值