二、朴素贝叶斯法
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。
对给定的训练集:
- 首先基于特征条件独立假设学习输入、输出的联合概率分布。
- 然后基于此模型,对给定的输入 ,利用贝叶斯定理求出后验概率最大的输出 。
- 朴素贝叶斯法不是贝叶斯估计,贝叶斯估计是最大后验估计。
2.1 原理
设输入空间 为 维向量的集合 ,输出空间为类标记集合 。
令 为定义在 上的随机向量, 为定义在 上的随机变量。
令 为 和 的联合概率分布,假设训练数据集 由 独立同分布产生。
朴素贝叶斯法通过训练数据集学习联合概率分布 。具体的学习下列概率分布:
- 先验概率分布: 。
- 条件概率分布: 。
朴素贝叶斯法对条件概率做了特征独立性假设: 。
- 这意味着在分类确定的条件下,用于分类的特征是条件独立的。
- 该假设使得朴素贝叶斯法变得简单,但是可能牺牲一定的分类准确率。
根据贝叶斯定理:
考虑分类特征的条件独立假设有:
则朴素贝叶斯分类器表示为:
由于上式的分母 与 的取值无关,则分类器重写为: 。
2.2 期望风险最小化
朴素贝叶斯分类器是后验概率最大化,等价于期望风险最小化。
令损失函数为:
根据 有:
为了使得期望风险最小化,只需要对 中的元素极小化。
令 ,则有:
即:期望风险最小化,等价于后验概率最大化。
2.3 算法
在朴素贝叶斯法中,学习意味着估计概率:, 。
可以用极大似然估计相应概率。
先验概率 的极大似然估计为:
设第 个特征 可能的取值为 ,则条件概率 的极大似然估计为:
其中: 为示性函数, 表示第 个样本的第 个特征。
朴素贝叶斯算法 :
输入 :
训练集 。
, 为第 个样本的第 个特征。其中 , 为第 个特征可能取到的第 个值。
实例 。
输出 :实例 的分类
算法步骤:
- 计算先验概率以及条件概率:
- 对于给定的实例 ,计算: 。
- 确定实例 的分类: 。
2.4 贝叶斯估计
在估计概率 的过程中,分母 可能为 0 。这是由于训练样本太少才导致 的样本数为 0 。而真实的分布中, 的样本并不为 0 。
解决的方案是采用贝叶斯估计(最大后验估计)。
假设第 个特征 可能的取值为 ,贝叶斯估计假设在每个取值上都有一个先验的计数 。即:
它等价于在 的各个取值的频数上赋予了一个正数 。
若 的样本数为0,则它假设特征 每个取值的概率为 ,即等可能的。
采用贝叶斯估计后, 的贝叶斯估计调整为:
- 当 时,为极大似然估计当 时,为拉普拉斯平滑
- 若 的样本数为 0,则假设赋予它一个非零的概率 。