统计学习方法 | 朴素贝叶斯法

96
邓莎
2018.05.23 20:10* 字数 1220

01 分类方法

之前我们学习了一种分类方法——K近邻法(KNN),今天我们再学习一种更常用的分类方法

朴素贝叶斯法

这里,我们先区分一下“分类”和“聚类”

  • 分类的目的是学会一个分类函数或分类模型(也常常称作分类器 ),该模型能把新输入的数据映射到给定类别中的某一个类中。

  • 聚类(clustering)是指根据“物以类聚”原理,将本身没有类别的样本聚集成不同的组(簇),并且对每一个这样的簇进行描述的过程。它的目的是使得属于同一个簇的样本之间应该彼此相似,而不同簇的样本应该足够不相似。

我们在上一篇文章中讲到的K-Means就属于聚类算法,KNN、朴素贝叶斯则属于分类方法。

下面详细讲解朴素贝叶斯方法。

02 相关概念

学习朴素贝叶斯之前,先理清下面三个概念,要不然你的脑袋会晕掉的。

  1. 先验概率
    事件发生前的预判概率。可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。一般都是单独事件概率,如P(X),P(Y)。

  2. 条件概率
    一个事件发生后另一个事件发生的概率。一般的形式为P(X|Y),表示Y发生的条件下X发生的概率。

  3. 后验概率
    事件发生后求的反向条件概率;或者说,基于先验概率求得的反向条件概率。表达形式与条件概率相同。如P(Y|X)

03 朴素贝叶斯

基本假设
朴素贝叶斯,英文叫Naive Bayes。

Naive?

那是有原因的,朴素贝叶斯对输入变量做了一个很强的假设——条件独立

条件独立

输入变量之间是相互独立的,没有概率依存关系。(若相互依存,那叫贝叶斯网络)

即,用于分类的特征(xj)在类(y=ck)确定的条件下,都是相互独立的,即
P(X=x|Y=ck)=P(X1=x2,X2=x2...Xn=xn|Y=ck)
=P(X1=x1|Y=ck)P(X2=x2|Y=ck)...P(Xn=xn|Y=ck)

就是这么个意思:

贝叶斯公式

基本原理:P(X,Y)=P(Y|X)P(X)=P(X|Y)P(Y) => P(Y|X)=P(X|Y)P(Y)/P(X)

于是对于后验概率P(Y|X),有:

朴素贝叶斯分类器

根据贝叶斯公式,朴素贝叶斯分类器就产生了:
y=f(x)=argmax(P(Y|X))

一波公式变换和等价之后,得到了朴素贝叶斯分类器:

这个分类器要做的就是,对于新输入x,计算所有可能的Y对应的后验概率P(Y|X),认为后验概率最大的那个Y就是这个新输入x的类。

04 朴素贝叶斯的参数估计方法

参数估计目的

根据上一节,朴素贝叶斯分类器其实就是先验概率P(Y)和条件概率P(X|Y)的乘积,要使用朴素贝叶斯分类器,就要估计先验概率P(Y=ck)和条件概率P(Xj=ajl|Y=ck),这就是参数估计。

常使用极大似然估计和贝叶斯估计去求这两个概率。

极大似然估计

  • 先验概率
  • 条件概率

贝叶斯估计

  • 先验概率
  • 条件概率

上式的朗母达=1时,叫做——拉普拉斯平滑(Laplace smoothing)

相比于极大似然估计,贝叶斯估计可以处理有概率为0的情况,加入了Sj、K等参数,其中Sj是X的第i个参数的第j个特征可能的数值个数,K是Y可能的类别个数。

05 朴素贝叶斯算法过程

在看下面这个算法过程的时候,建议你脑子里一直想着一个实例:垃圾邮件分类。

算法过程看完可能还是云里雾里,我们举个例子说明吧。

06 总结

今天我们学习了另一种分类方法:朴素贝叶斯法,它实现简单,学习和预测的效率较高,是一种很常用的分类方法,比如垃圾邮件分类、商品映射到行业体系等。

注意区分分类和聚类方法。

下期我们将学习另一种分类方法——决策树,敬请期待~~

数据分析
Web note ad 1