关于贝叶斯的一些介绍
所谓「逆向概率」是相对「正向概率」而言。正向概率的问题很容易理解,如「假设袋子里面有 N 个白球,M 个黑球,你伸手进去摸一把,摸出黑球的概率是多大」。但是实际场景中,这个问题往往相反:「如果事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一些球,观察这些取出来的球的颜色,我们可以对袋子里面黑白球的比例作出什么样的推测」。贝叶斯推断与其他统计学推断方法截然不同。它建立在主观判断的基础上,也就是说,你可以不需要客观证据,先估计一个值,然后根据实际结果不断修正。
贝叶斯推断与其他统计学推断方法截然不同。它建立在主观判断的基础上,也就是说,你可以不需要客观证据,先估计一个值,然后根据实际结果不断修正。
贝叶斯定理(Bayes’ theorem)告知我们如何利用新证据修改已有的看法。在事件 B 出现的前提下,事件 A 出现的概率,等于 A 和 B 都出现的概率,除以 B 出现的概率。用公式表示就是:
p
的概率分布A
在另外一个事件 B
已经发生条件下的发生概率,表示位 P(A|B)
假设每个输入变量都是独立的。
这是一个强硬的假设,实际情况并不一定,但是这项技术对于绝大部分的复杂问题仍然非常有效。
贝叶斯原理是最大的概念,它解决了概率论中“逆向概率”的问题,在这个理论基础上,人们设计出了贝叶斯分类器,朴素贝叶斯分类是贝叶斯分类器中的一种,也是最简单,最常用的分类器。朴素贝叶斯之所以朴素是因为它假设属性是相互独立的,因此对实际情况有所约束,如果属性之间存在关联,分类准确率会降低。不过好在对于大部分情况下,朴素贝叶斯的分类效果都不错。
朴素贝叶斯分类常用于文本分类,尤其是对于英文等语言来说,分类效果很好。它常用于垃圾文本过滤、情感预测、推荐系统等。
在这个阶段我们需要确定特征属性,比如上面案例中的“身高”、“体重”、“鞋码”等,并对每个特征属性进行适当划分,然后由人工对一部分数据进行分类,形成训练样本。对于连续型的数据,可能需要转化为概率密度。如果身高值为180
,
假设男性的身高是均值 179.5
、标准差为 3.697
的正态分布。所以男性的身高为 180
的概率为 0.1069
。
这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。
这个阶段就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率。
输入是特征属性和训练样本,输出是分类器。
这个阶段是使用分类器对新数据进行分类。输入是分类器和新数据,输出是新数据的分类结果。
sklearn
中的 3
个朴素贝叶斯算法:
高斯朴素贝叶斯算法(GaussianNB
):特征变量是连续变量,符合高斯分布,比如说人的身高,物体的长度。
多项式朴素贝叶斯(MultinomialNB
):特征变量是离散变量,符合多项分布,在文档分类中特征变量体现在一个单词出现的次数,或者是单词的 TF-IDF
值等。
伯努利朴素贝叶斯算法(BernoulliNB
):特征变量是布尔变量,符合 0/1 分布,在文档分类中特征是单词是否出现。
TF-IDF
是一个统计方法,用来评估某个词语对于一个文件集或文档库中的其中一份文件的重要程度。
TF-IDF
实际上是两个词组 Term Frequency
和 Inverse Document Frequency
的总称,两者缩写为 TF
和 IDF
,分别代表了词频和逆向文档频率。
TF-IDF=TF*IDF。
本文首发于公众号:柠檬培养师(ID: yantinger90),欢迎关注!