机器学习笔记之朴素贝叶斯

标签: 机器学习
8人阅读 评论(0) 收藏 举报
分类:

朴素贝叶斯

1 朴素贝叶斯为什么叫朴素贝叶斯?

  1. 因为这种方法是基于贝叶斯定理,顺便复习一下贝叶斯定理的表达式:

    P(Bi|A)=P(A|Bi)P(Bi)Nj=1P(A|Bj)P(Bj)

  2. 朴素贝叶斯法对条件概率分布作了条件独立性的假设,这是一个很强的假设,所以对应 “朴素” 二字。条件独立性假设 就是说用于分类的特征在类确定的条件下都是条件独立的。这个假设使得朴素贝叶斯变简单了,但也牺牲了一定的准确率, 条件独立性假设表达式:

P(X=x|Y=ck)=P(X(1)=x(1),,X(n)=xn|Y=ck)=j=1nP(X(j)=x(j)|Y=ck)

2 朴素贝叶斯的学习与分类

2.1 学习方法

朴素贝叶斯法通过训练数据集学习联合概率分布 P(X,Y). 具体地:

  1. 学习先验概率分布:

    P(Y=ck),k=1,2,,K

  2. 学习条件概率分布:

    P(X=x|Y=ck)=P(X(1)=x(1),,X(n)|Y=ck),k=1,2,,K

于是学习到联合概率分布 P(X,Y)。道理简单嘛,就是根据条件概率公式:

P(AB)=P(A|B)P(B)=P(B|A)P(A)

2.2 分类方法

朴素贝叶斯分类时,对给定的输入 x,通过学习到模型计算后验概率分布 P(Y=ck|X=x),将后验概率最大的类作为 x 的输出。后验概率计算根据贝叶斯定理进行:

P(Y=ck|X)=P(X=x|Y=ck)P(Y=ck)KkP(X=x|Y=ck)P(Y=ck)

之前说过朴素贝叶斯“朴素”的原因就是对条件概率分布做了条件独立性的假设。所以我们把条件独立性假设的公式带入上式,得:

P(Y=ck|X)=P(Y=ck)nj=1P(X(j)=x(j)|Y=ck)KkP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

于是就得到了朴素贝叶斯分类的基本公式。于是,朴素贝叶斯分类器可以表示为:

y=f(x)=argmaxckP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)KkP(Y=ck)nj=1P(X(j)=x(j)|Y=ck)

注意到分母其实是一个归一化因子,对于所有的类别都是相同的可以,继续化简为:
y=f(x)=argmaxckP(Y=ck)j=1nP(X(j)=x(j)|Y=ck)

2.3 后验概率最大化的含义

朴素贝叶斯法将实例分到后验概率最大的类中,这等价于期望风险最小化。

为什么会等价于期望风险最小化?来看看推导

  1. 假设选择 01 损失函数:
    L(Y,f(X))=1,0,Yf(X)Y=f(X)

    式中 f(X) 是分类决策函数,这时,期望风险函数为:
    Rexp=E[L(Y,f(X))]

    期望是联合分布 P(X,Y)取的,由此取条件期望:
    Rexp(f)=Exk=1K[L(ck,f(X))]P(ck|X)

    为了使期望风险最小化,只需要对 X=x 逐个极小化,得:
    f(x)=argminyk=1K[L(ck,f(X))]P(ck|X)=argminyk=1KP(yck)P(ck|X)=argminy(1P(y=ck|X))=argmaxyP(y=ck|X=x)

这样就从期望风险最小化的角度出发导出了分类决策函数 f(x)是要使得后验概率最大。这也是朴素贝叶斯法的原理所在

3 朴素贝叶斯的参数估计

3.1 极大似然估计

在朴素贝叶斯法中,学习意味着估计 P(Y=ck)P(X(j)=x(j)|Y=ck)

1. 先验概率 P(Y=ck) 的极大似然估计是:

P(Y=ck)=Ni=1I(yi=ck)N,k=1,2,,K

这个是怎么得到的? 下面我们来进行一个推导:

这其实就是一个二项分布求极大似然估计的问题

  1. P(Y=ck)=p,则 P(Yck)=1p,令随机变量 Z=1Y=ck时,Z=0Yck 时。 那么将两部分概率整合到一起写成:
    P(Z=zi)=pzi(1p)(1zi),zi{0,1}
  2. 假设 d=Ni=1I(yi=ck),也就是说 N 个样本中标签是 ck 的样本一共有 d 个,则整个训练集可以用一个 0,1向量来表示,其中 yi=ckZi=1 否则 Zi=0,则所有样本的联合概率分布为:
    P=pd(1p)Nd

    对上式取对数:
    L(p)=dlogp+(Nd)log(1p)

    求偏导令导数为0:
    Lp=dpNd1p=0

    解得 p=dN 取极值。

2. 条件概率的极大似然估计:
设第 j 个特征 x(j) 可能取值的集合为 {aj1,,ajSj},条件概率 P(X(j)=ajl|Y=ck) 的极大似然估计是:

P(X(j)=ajl|Y=ck)=Ni=1I(X(j)i=ajl,yi=ck)Ni=1I(yi=ck)

推导方法和上面一样,这里不再赘述啦。

3.2 贝叶斯估计

用极大似然估计可能会出现索要估计的概率值为0的情况. 这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体的

1. 条件概率的贝叶斯估计是:

Pλ(X(j)=ajl|Y=ck)=Ni=1I(X(j)i=ajl,yi=ck)+λNi=1I(yi=ck)+Sjλ

其中 λ0, 等价于在随机变量各个取值的频数上赋予一个正数,当 λ=0时 就是极大似然估计,常取 λ=1,这时称为 拉普拉斯平滑
2. 先验概率的贝叶斯估计是:

Pλ(Y=ck)=Ni=1I(yi=ck)+λN+Kλ

查看评论

C++入门解惑(0)——序

序0.为什么学习C++0.Why Shall I Learn C++?      C++作为一门较为成熟重量级的语言,吸引了许许多多编程学习者。单从市面上编程书籍中C++的书所占的比例即可见一斑。当然...
  • Kusk
  • Kusk
  • 2003-07-14 08:08:00
  • 2314

【机器学习-斯坦福】学习笔记6 - 朴素贝叶斯

本次课程大纲: 1、 朴素贝叶斯 - 朴素贝叶斯事件模型 2、 神经网络(简要) 3、 支撑向量机(SVM)铺垫 – 最大间隔分类器...
  • maverick1990
  • maverick1990
  • 2013-11-14 12:41:37
  • 4984

机器学习笔记5——朴素贝叶斯算法

针对文本分类的事件模型 支持向量机的部分前期知识
  • u010249583
  • u010249583
  • 2017-04-22 16:08:21
  • 452

【斯坦福---机器学习】复习笔记之朴素贝叶斯算法

本讲大纲:1.朴素贝叶斯(Naive Bayes) 2.神经网络(Neural Networks) 3.支持向量机(Support vector machines)1.朴素贝叶斯前面讲的主要是是二...
  • Andrewseu
  • Andrewseu
  • 2015-07-15 16:58:37
  • 3731

《机器学习实战》学习笔记---朴素贝叶斯(Bayes)算法

作为一名机器学习小白,将自己的学习经历写下来,一方面为了总结和回顾,另一方面希望能得到各路大神的批评指正,若能给他人带来便利就更好不过了。 算法优缺点: (1)优点:在数据较少的情况下,依然有效,可...
  • weixin_38215395
  • weixin_38215395
  • 2017-04-09 20:53:20
  • 622

机器学习笔记(三) 朴素贝叶斯分类

一    简述        朴素贝叶斯分类法是基于贝叶斯定理和特征条件独立假设的分类方法,具体做法是:1)基于特征条件独立假设来学习输入/输出的联合概率分布;2)基于学习的模型,对给定的输入,利用...
  • m0_37676632
  • m0_37676632
  • 2017-04-18 21:12:28
  • 675

(斯坦福机器学习课程笔记)混合高斯模型,朴素贝叶斯,混合朴素贝叶斯模型,因子分析

==============================混合高斯模型========================== 混合高斯模型是一个无监督的聚类算法,他认为各个类别的样本都分别服从高斯分...
  • qq_32231743
  • qq_32231743
  • 2017-03-06 11:27:10
  • 686

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

先验概率与后验概率  在说朴素贝叶斯之前,这里先提出两个概念先验概率和后验概率。先验概率基于之前历史数据或者主观经验得出的某一随机事件发生的概率P(A)P(A)。而后验概率呢?这个时候如果发生了某个事...
  • qq_24699745
  • qq_24699745
  • 2017-09-17 21:30:45
  • 134

《机器学习实战》--朴素贝叶斯

条件概率 朴素贝叶斯分类 例子 参考朴素贝叶斯是基于概率的分类器。条件概率A,B表示两个独立的事件,概率P(A|B)表示事件B发生的情况下,事件A发生的概率。即:P(A|B)=P(AB)/P(B)P(...
  • KangRoger
  • KangRoger
  • 2016-05-23 22:22:24
  • 573

Python3《机器学习实战》学习笔记(四):朴素贝叶斯基础篇之言论过滤器

朴素贝叶斯算法是有监督的学习算法,解决的是分类问题,如客户是否流失、是否值得投资、信用等级评定等多分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但...
  • c406495762
  • c406495762
  • 2017-08-17 20:57:59
  • 7721
    个人资料
    持之以恒
    等级:
    访问量: 1777
    积分: 385
    排名: 20万+
    文章存档
    最新评论