找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

算法 | 朴素贝叶斯

admin 2019-10-10 05:36 80人围观 C++相关





       朴素贝叶斯是实用性很高的一种学习器,主要基于贝叶斯定理和条件独立性假设求出后验概率,将后验概率最大的类别作为预测的结果.

1

01

朴素贝叶斯

       假设X是n维输入随机向量

,其中

是X的第j个分量,也就是第j个特征;假设Y是输出随机变量,即标签变量,其有K个取值,取值集合为

;假设训练数据集T为

,含N个样本.

     根据贝叶斯定理,可得后验概率

,其中

是先验概率,

是条件概率,如果对该条件概率加上条件独立性假设,也就是假设特征之间是条件独立的,即

,则可得后验概率

.从上面公式可以容易看出,所有类别的后验概率的分母都是一样的,因此只需比较各后验概率的分子即可,从而得到预测模型

.

      上述方法就被称为朴素贝叶斯, 朴素贝叶斯是一种简单易懂、学习效率高的分类器,但特征间的条件独立性假设也导致了其精度受到一定程度的影响.如果没有条件概率的条件独立性假设,则就是贝叶斯网络,一种更复杂的方法。

    对朴素贝叶斯进行学习,其实就是对先验概率

和条件概率

进行估计.



1

02

极大似然估计

      在这里采用极大似然法对先验概率和条件概率进行估计.

一、先验概率的估计

(1)假设:



(2)构造对数似然函数:



(3)构造拉格朗日函数:

在约束条件

下,求L的极大值问题,所以拉格朗日函数为:



(4)拉格朗日函数对先验概率的偏导为0:



      从先验概率的估计结果,可以看出先验概率的估计就是相应类别在样本中出现的比例.

二、条件概率的估计

      因为特征可能是离散型或连续型的,两种类型的条件概率形式有所不同,所以相应的条件概率估计的方法是有差异的,下面分别进行证明.

1、离散型特征条件概率的估计

      离散型特征条件概率的估计与先验概率的估计基本一致,将证明过程限制在某一类别下即可,证明过程如下.

(1)假设:

第j个特征

为离散变量,其有

个取值,并且令其可能的取值集合为




(2)构造对数似然函数:



(3)构造拉格朗日函数:

在约束条件

下,求L的极大值问题,所以拉格朗日函数为:



(4)拉格朗日函数对先验概率的偏导为0:



     从上述离散型特征条件概率的估计结果,可以发现相应的估计就是特定类别下相应属性值出现的比例.

2、连续型特征条件概率的估计

      对于连续型变量条件概率的估计,常采用的一种方法是先假设其具有某种确定的概率分布,然后基于样本对概率分布的参数进行估计,这种方法使条件概率的估计变得简单,但估计的准确性严重依赖于假设的概率分布和真实数据的吻合程度.

      在这里以高斯分布为例说明连续型变量条件概率密度的估计过程.

(1)假设:


,为类别k的样本集合;


,为类别k的样本大小;


是连续变量,其条件概率密度服从

高斯分布,即条件概率密度

,剩下的主要任务就是对参数



进行估计;

(2)构造对数似然函数:



(3)对数似然函数L对



偏导为0:

首先,L对

偏导为0,可得:



然后,L对

偏导为0,可得:



1

03

极大似然估计的修正

      对于先验概率和离散型特征条件概率,通过样本中相应观察的比例对其进行估计,可能会低估相应的概率。尤其当某些属性值出现的几率较低时,如果训练样本较少,相应的属性值可能出现的数量极少甚至不会出现,通过比例得到的概率估计会偏低甚至概率估计值为0.贝叶斯估计可以对该问题进行某种程度的修正.

一、先验概率的修正

      在原有估计的基础上添加一个虚拟样本,且令虚拟样本服从均匀分布,因Y有K个类别,所以虚拟样本服从P=1/K的均匀分布,λ>0是常量,用于控制虚拟样本的大小,添加λK个虚拟样本,则先验概率的估计修正为

,当λ=0时,就是极大似然估计.

二、离散型特征条件概率的修正

      同上,离散型特征条件概率的估计可以修正为

,其中

是离散特征

取值的个数.

THE END



----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:大数据建模的一点一滴,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......