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

1.朴素贝叶斯法是基于贝叶斯定理和特征条件独立假设的分类方法,是典型的生成学习方法;对于给定的训练数据集,首先是基于特征条件独立假设输入/输出的联合概率分布;然后基于模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

2.先验概率分布:

  

 条件概率分布:

  

 于是就得到了联合概率分布,为两者之积

3.回到贝叶斯模型,对于给定的输入x,需要求得y的值,即学习到的模型计算后验概率分布,并取最大值。

后验概率(忽略下面两个图中的逗号):

  

利用条件独立假设,将式子变形:

  

于是,可以得到朴素贝叶斯分类器的表示方式:

  

注意到在上面公式中,分母对所有的取值都相同,所以:

  

4.参数估计

(1)极大似然估计

先验概率的极大似然估计是:

  

下面对其进行推导:
令参数P(Y=c_k)=\theta_k,其中k\in \left\{ 1,2..K \right\}
那么随机变量Y的概率可以用参数来表示为一个紧凑的形式
  P(Y)=\sum_{k=1}^{K}{\theta_k} I(Y=c_k)
I是指示函数Y=c_k成立时,I=1;否则I=0。
极大似然函数为:
  L(\theta_k;y_1,y_2..y_N)=\prod_{i=1}^{N}P(y_i) =\prod_{k=1}^{K}\theta_k^{N_k}
其中N为样本总数,N_k为样本中Y=c_k的样本数目,取对数得到:
  l(\theta_k)=ln(L(\theta))=\sum_{k=1}^{K}{N_k ln\theta_k}
要求该函数的最大值,注意到约束条件:
  \sum_{k=1}^{K}{\theta_k} =1
可以用拉格朗日乘子法,即:
  l(\theta_k,\lambda)=\sum_{k=1}^{K}{N_k ln\theta_k} +\lambda(\sum_{k=1}^{K}{\theta_k} -1)
求导就可以得到:
  \frac{N_k}{\theta_k}+\lambda=0
联立所有的k以及约束条件得到
  \theta_k=\frac{N_k}{N}
 
 
设第j个特征可能取值的集合为
可以求得条件概率的极大似然估计是:
  
 
  
将其带入朴素贝叶斯分类器的表达式,即朴素贝叶斯的算法。
(2)贝叶斯估计
用极大似然估计可能会引起要估计的概率值为0的情况,为解决此问题,引入贝叶斯估计。
具体的,条件概率的贝叶斯估计是:
  

先验概率的贝叶斯估计是:

  

5.模型的优缺点

优点:在小规模数据下仍然有效,可以处理多类别问题

缺点:对于数据的准备方式较为敏感


posted on 2017-05-08 16:54  潇洒的麦兜  阅读(310)  评论(0编辑  收藏  举报

导航