统计学习方法笔记 -- 朴素贝叶斯

简介:

贝叶斯定理(Bayes theorem) 
这是关于“逆概”或“后验概率”的定理,之所以需要这个定理是因为后验概率是以“果”来推导“因”,所以往往难以直接统计出。 
但是后验概率却非常重要,因为在现实生活中,往往都只能观测到一些表面的“果”,需要去推断“因”。 
而bayes定理就给出一种计算后验概率的方法。

以例子来说明,一个班级中n个学生,有男生也有女生 
两个features,短发;长发,穿裤子;穿裙子 
如果在知道所有数据的情况下,即知道“因”去推“果” 
随机抽取一个女生,穿裤子和留长发的概率是多少? 
设 A=女生,B=(长发,裤子),求P(B|A),这个很容易,直接统计一下就可以得到

但在现实中,“因”总是晦涩的,如果你不知道具体的数据情况,而只是根据抽样“果”来推导“因”。 
比如在抽取10个训练样本点后,问“如果一个同学穿裤子和留长发,那是一个女生的概率多大?”,即求P(A|B),假设这个很难统计出 
先看下贝叶斯定理的推导, 
P(A|B) = P(AB)/P(B) 
P(B|A) = P(AB)/P(A) 
故,P(A|B) = P(B|A)P(A)/P(B) 
这样就可以通过观测数据的P(B|A)来求出P(A|B) 
其中, 
P(A|B),后验概率(posterior),是用果来推导出因 
P(B|A),观测到的数据的可能性大小(似然,Likelihood)概率 
P(A)或P(B),先验概率(Prior),即不考虑任何条件下,该事件出现的概率,取决于之前的先验经验, 比如之前知道男女比例为1:2,那么P(A)=2/3,即从先验上出现女生的概率要大些 
然后对于P(B|A),因为B包含两个feature,B1 长发,B2 裤子 
基于朴素贝叶斯的特征条件独立假设, 
P(B|A) = P(B1|A)P(B2|A), 这个可以分别从样本数据中统计出

 

朴素贝叶斯分类 
对于分类问题,其实就是把上面的问题变一下,问“如果一个同学穿裤子和留长发,那是男生还是女生了?” 
假设C = 男生,那么这个问题就变成求解Max(P(A|B), P(C|B)) 
由于P(B)是个常量,在比较中没有作用,故变成求 
Max(P(B|A)P(A), P(B|C)P(C)) 
这种方法称为最大似然估计

最大似然估计 
参考,http://zh.wikipedia.org/w/index.php?title=%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1&variant=zh-cn 
拿里面抛硬币的例子, 
3枚硬币,抛出正面的概率为1/3, 1/2, 2/3,硬币外观一样无法直接分出 
假设,正面H,负面T,在用一面硬币抛出49次H和31次T的情况下,会是哪枚硬币? 
这里需要求P(p=1/3|H=49,T=31), P(p=1/2|H=49,T=31), P(p=2/3|H=49,T=31) 
明显,这个很难统计出来,所以使用Bayse定理,计算

image 
可以看出这p=2/3的情况下的概率最大 
这里没有使用先验概率,是因为在3枚硬币的情况下,每枚硬币的先验概率都是一样的 
所以最大似然估计,就是根据训练集中最有可能出现的哪种case作为估计结果

 

朴素贝叶斯算法

image

这种方法中P(Y)和P(X|Y)都是由训练集中直接统计出来的,但是如果训练集中不存在这种case,会导致概率为0,从而使分类产生偏差。所以会使用贝叶斯估计来解决这个问题,

image 
image


本文章摘自博客园,原文发布日期:2014-03-20

相关文章
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
183 0
【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)
【Python机器学习】多项式回归、K近邻KNN回归的讲解及实战(图文解释 附源码)
148 0
【机器学习】解释对偶的概念及SVM中的对偶算法?(面试回答)
解释了对偶的概念,指出对偶性在优化问题中的重要性,尤其是在强对偶性成立时可以提供主问题的最优下界,并且详细阐述了支持向量机(SVM)中对偶算法的应用,包括如何将原始的最大间隔优化问题转换为对偶问题来求解。
158 2
【机器学习】简单解释贝叶斯公式和朴素贝叶斯分类?(面试回答)
简要解释了贝叶斯公式及其在朴素贝叶斯分类算法中的应用,包括算法的基本原理和步骤。
117 1
使用Python实现K近邻算法
使用Python实现K近邻算法
83 3
|
11月前
|
使用Python实现朴素贝叶斯算法
使用Python实现朴素贝叶斯算法
144 0
机器学习:基于概率的朴素贝叶斯分类器详解--Python实现以及项目实战
机器学习:基于概率的朴素贝叶斯分类器详解--Python实现以及项目实战
448 0
机器学习:基于概率的朴素贝叶斯分类器详解--Python实现以及项目实战
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等