朴素贝叶斯
背景介绍
20世纪80年代发展起来,最早由Judea Pearl于1986年提出,多用于专家系统,是处理不确定性
知识和推理问题的最流行的方法。
贝叶斯算法基于贝叶斯统计分析的数学原理,是概率论和图论相结合的产物。
朴素贝叶斯模型的泛化能力要比线性分类器(如LogisticRegression 和 LinearSVC)稍差。
朴素贝叶斯模型如此高效的原因在于,它通过单独查看每个特征来学习参数,并从每个特征中收集简单的类别统计数据。
scikit-learn 中实现了三种朴素贝叶斯分类器:GaussianNB、 BernoulliNB 和 MultinomialNB。 GaussianNB 可 应 用 于 任 意 连 续 数 据, 而BernoulliNB 假定输入数据为二分类数据, MultinomialNB 假定输入数据为计数数据(即每个特征代表某个对象的整数计数,比如一个单词在句子里出现的次数)。 BernoulliNB 和MultinomialNB 主要用于文本数据分类。
概念及原理
频率 & 概率
频率:是指事件发生的频繁程度。严格定义是:在相同的条件下,进行n次试验,事件A发生的次数a称为事件A的频数,比值a/n 称为事件A发生的频率。
概率:是指某事件出现的可能性大小。严格定义是:设E是随机试验(一定是要随机的),S是样本空间(说白了就是可能出现的每种情况),对于E的每一个事件A赋予一个实数,记作P(A),称为事件A的概率,如果集合函数P(·)满足以下条件:
1.非负性:P(A)≥0;
2.规范性:对必然事件S,有P(S)=1
3.可列可加性:对于两两互不相容事件,或事件的概率=各单独事件的概率之和
先验概率 & 后验概率 & 条件概率
先验概率:事件发生前的预判概率。可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。一般都是单独事件概率,如P(x),P(y)。
条件概率:一个事件发生后另一个事件发生的概率。一般的形式为P(x|y)表示y发生的条件下x发生的概率。
后验概率:结果发生后反推事件发生原因的概率;或者说,基于先验概率求得的反向条件概率。概率形式与条件概率相同。
感觉又回到了大学里面的概率论与数理统计的课程,其实基本的思想就是如此
贝叶斯公式
P(A|B)表示在B发生的条件下A发生的概率是多少?
全概率公式
贝叶斯公式的意义
案例:
某地区居民肝癌的发病率为0.0004,现用甲胎蛋白法进行普查。医学研究表明,化验结果是有错检的可能性。已知患有肝癌的人其化验结果99%呈阳性(有病),而没患肝癌的人其化验结果99.9%呈阴性(无病)。
现某人的检查结果呈阳性,问他真正得肝癌的概率有多大?
解答:
设A=“结果检查呈阳性”,B=“被检查患者确实有肝癌”,已知P(B)=0.0004, P(B-)=0.9996 , P(A|B)=0.99,P(A|B-)=0.001.由贝叶斯公式可得到:
复检能够大大提高化验的准确率
如果某人首次化验,成果呈阳性。第二次复检,仍然呈阳性。请问该患者患肝癌的概率有多大?
首次检查呈阳性的患者,他的P(B)=0.284,复检仍然呈阳性,则患肝癌的概率为:
贝叶斯算法
朴素贝叶斯( Naive Bayes)模型是一种基于概率的学习方法
“朴素”不是指艰苦朴素的“朴素”,是指假设每个属性条件都是相互独立的,没有相关性
经典案例
现在给我们的问题是,如果一对男女朋友,男生想女生求婚,男生的四个特点分别是不帅,性格不好,身高矮,不上进,请你判断一下女生是嫁还是不嫁?
看到上述规则的男同胞们,及时你被上帝关上了一扇窗,那你也可以自己撬开一扇门
朴素贝叶斯案例
这是一个典型的分类问题
数学问题就是比较
p(嫁|(不帅、性格不好、身高矮、不上进))
p(不嫁|(不帅、性格不好、身高矮、不上进))
下面我将一个一个的进行统计计算(在数据量很大的时候,中心极限定理,频率是等于概率的)
p(嫁)=?
首先我们整理训练数据中,嫁的样本数如下:则 p(嫁) = 6/12(总样本数) = 1/2
则 p(嫁) = 6/12(总样本数) = 1/2
p(不帅|嫁)=?统计满足样本数如下
则p(不帅|嫁) = 3/6 = 1/2 在嫁的条件下,看不帅有多少
带入其他统计量
= (1/2*1/6*1/6*1/6*1/2)/(5/12*1/3*7/12*5/12)
贝叶斯分类器
分母对于所有类别为常数,我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:
1、设x={a1,a2,a3,......am}为一个待分类项,而每个a为x的一个特征属性。
2、有类别集合C={y1,y2,......yn}。
3、计算P(y1|x),P(y2|x),......,P(yn|x),。
4、如果,P(yk|x)=max{P(y1|x),P(y2|x),......,P(yn|x)},则x属于yk。
常见的三种贝叶斯模型