机器学习-朴素贝叶斯
先验概率与后验概率、贝叶斯区别与联系
条件概率P(A|B)表示在B事件发生的情况下,A事件发生的概率。
教科书上的解释总是太绕了。其实举个例子大家就明白这两个东西了。
假设我们出门堵车的可能因素有两个(就是假设而已,别当真):车辆太多和交通事故。
堵车的概率就是先验概率 。
那么如果我们出门之前我们听到新闻说今天路上出了个交通事故,那么我们想算一下堵车的概率,这个就叫做条件概率 。也就是P(堵车|交通事故)。这是有因求果。
如果我们已经出了门,然后遇到了堵车,那么我们想算一下堵车时由交通事故引起的概率有多大,
那这个就叫做后验概率 (也是条件概率,但是通常习惯这么说) 。也就是P(交通事故|堵车)。这是有果求因。
先验概率是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题的体现.
后验概率是指依据得到"结果"信息所计算出的最有可能是那种事件发生,如贝叶斯公式中的,是"执果寻因"问题中的"因".
贝叶斯公式(又称逆概公式)
贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一则定理。其中P(A|B)是在B发生的情况下A发生的可能性。
朴素贝叶斯
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法 。最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。
朴素贝叶斯直观理解
朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布P(X,Y),然后求得后验概率分布P(Y|X)。具体来说,利用训练数据学习P(X|Y)和P(Y)的估计,得到联合概率分布:P(X,Y)=P(Y)P(X|Y)。概率估计方法可以是极大似然估计或贝叶斯估计。
条件独立假设
由于这一假设,模型包含条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯高效,且易于实现。其缺点是分类的性能不一定很高。
-
如果没有独立假设会怎么样?
答:参数数量是指数级别,模型将变得极其复杂。 -
在没有独立假设的情况下,参数数目是多少?
答:参数有,表示第j个特征的取值数目,K表示类别数目。【即各个特征的取值空间和类别的取值空间的笛卡尔乘积的集合大小】 -
在有独立假设的情况下,参数数目是多少?
而朴素贝叶斯模型参数总数是线性增长的,可行 -
怎么理解为什么可以进行独立假设?
各类条件特征之间的解耦意味着每个特征的分布都可以独立地被当做一维分布来估计。这样减轻了由于维数灾带来的阻碍,当样本的特征个数增加时就不需要使样本规模呈指数增长(所要学习的参数个数越多,需要的样本数目也就越多)。朴素贝叶斯在大多数情况下不能对类概率做出非常准确的估计,但在许多应用中这一点并不要求。例如,朴素贝叶斯分类器中,依据最大后验概率决策规则只要正确类的后验概率比其他类要高就可以得到正确的分类。所以不管概率估计轻度的甚至是严重的不精确都不影响正确的分类结果。在这种方式下,分类器可以有足够的鲁棒性去忽略朴素贝叶斯概率模型上存在的缺陷。 -
连续值的处理
如果要处理的是连续数据一种通常的假设是这些连续数值为高斯分布。 例如,假设训练集中有一个连续属性,x。我们首先对数据根据类别分类,然后计算每个类别中x的均值和方差。令\mu_c 表示为x在c类上的均值,令\sigma^2_c为 x在c类上的方差。在给定类中某个值的概率,P(x=v|c),可以通过将v表示为均值为\mu_c方差为\sigma^2_c正态分布计算出来。如下, P(x=v|c)=\tfrac{1}{\sqrt{2\pi\sigma2_c}},e{ -\frac{(v-\mu_c)2}{2\sigma2_c} }, 处理连续数值问题的另一种常用的技术是通过离散化连续数值的方法。通常,当训练样本数量较少或者是精确的分布已知时,通过概率分布的方法是一种更好的选择。在大量样本的情形下离散化的方法表现更优,因为大量的样本可以学习到数据的分布。由于朴素贝叶斯是一种典型的用到大量样本的方法(越大计算量的模型可以产生越高的分类精确度),所以朴素贝叶斯方法都用到离散化方法,而不是概率分布估计的方法