在现实世界中,由许多客观现象的发生,就每一次观察和测量来说,即使在基本条件保持不变的情况下也具有不确定性。只有在大量重复的观察下,其结果才能呈现出某种规律性,即对它们观察到的特征具有统计特性。特征值不再是一个确定的向量,而是一个随机向量。此时,只能利用模式集的统计特性来分类,以使分类器发生错误的概率最小。这就是贝叶斯判别的基本出发点。

简介

给定一个输入java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别,我们想要确定它属于java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_02类还是java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_03类。而根据贝叶斯判别思想,我们需要观察或者说,计算java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_04是来自于java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_02类的概率大还是来自java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_03类的概率大。因此,若P(w1x)>P(w2x)

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_07。相反,则java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_08

而由贝叶斯定理可知,后验概率java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_09可由类别的先验概率java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_09java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别的先验概率java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯定理_12得到,

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯定理_13

这里的java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_14也被称为似然函数。因此,原先判别式可改写为,若P(xw1)P(w1)>P(xw2)P(w2)

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_07。相反,则java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_08

贝叶斯最小风险判别

前面说到,贝叶斯判别函数的基本思想或者说优化目标是使得分类器发生的错误率最小。然而,实际任务中,不同的错误所带来的风险也是不同的。比如,将一个身患感冒的病人误诊为肺癌和误诊为肺炎所造成的风险是肯定不同的。因此,当考虑到对于某一类的错误判决要比对另一类的判决更为关键时,就需要把最小错误概率的贝叶斯判别做一些修正,提出条件平均风险。

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_17类问题,我们令java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_18表示将本属于java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_19类的样本判定为java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_20类的条件风险,则有

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_21

这里,java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯定理_22是公共项,可以舍去。java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_23为将样本应属于java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_19类的模式判别成属于java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_20类的代价。因此,上式可简写为,

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_26

这也是贝叶斯分类器,只是它的判别方法不是按错误概率最小作为标准,而是按平均条件风险作为标准。

有意思地是,假设代价java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_27判对失分不计分,判错失分记为1分,则有

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_28

则条件风险可写成
java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_29

假如样本java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_07,由ri(x)<rj(x)可得,P(xwi)P(wi)>P(xwj)P(wj)
。不难看出,当误判风险一致时,贝叶斯最小风险判别与一般的贝叶斯判别是一致的。

正态分布模式的贝叶斯分类器

通过之前的内容,我们现在对贝叶斯判别已经有了一定的认识。因此,我们不妨进一步地从概率分布的角度分析贝叶斯判别。在实际问题中,常常要研究一个随机变量java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯定理_31取值小于某一数值java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_04的概率,这概率是java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_04的函数,称这种函数为随机变量ξ的分布函数,简称分布函数,记作java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯定理_34,即java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_35,由它并可以决定随机变量落入任何范围内的概率。说人话,就是刻画了概率值的分布情况。而常用的有正态分布,均匀分布等。在这里,我们讨论正太分布情况。

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_正态分布_17种模式类别的多变量正态类密度函数为例,

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_37

其中,每一类模式的分布密度都完全被其均值向量java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_38和协方差矩阵java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_39所规定。

而我们已知判别函数可写成如下形式,

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_40

对于正态密度函数,可取自然对数的形式以方便计算(因为自然对数是单调递增的,取对数后不影响相应的分类性能),则有

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_java贝叶斯算法实现条件概率_41

代入正太密度函数,有

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_机器学习_42

去掉常数项,有

java贝叶斯算法实现条件概率 贝叶斯判别的前提条件_贝叶斯判别_43

即为正态分布模式的贝叶斯判别函数。

总结

  1. 优点
  • 朴素贝叶斯基于贝叶斯定理和属性条件独立性假设,具有坚实的理论基础。
  • 朴素贝叶斯简单易懂,模型参数少。
  • 朴素贝叶斯对于缺失数据,无关属性,噪声点等问题不敏感。
  1. 缺点
  • 现实生活中,样本分布往往不满足属性条件独立性假设,而这恰恰是朴素贝叶斯算法的基本出发点

参考文献