基于互信息量的加权朴素贝叶斯算法

2018-06-19 02:14马睿
无线互联科技 2018年3期

马睿

摘要:朴素贝叶斯算法是一种简单而高效的分类算法,但是其分类能力却受到条件独立性的假设所影响。文章针对朴素贝叶斯算法的这一弊端,提出以互信息量为加权的朴素贝叶斯算法。通过计算条件属性和决策属性之间的互信息量,对不同的条件属性赋予不同的权重,从而在保持朴素贝叶斯算法简洁的基础上有效地提高了其分类性能。首先提出了以互信息量为属性权值的求解方法,然后论证了相应的算法理论,最后对所提算法进行了实际验证,并得到很好的效果。

关键词:加权;朴素贝叶斯算法;互信息量

分类问题一直以来都是数据挖掘和机器学习研究的热点问题,主要是通过对样本数据或训练集的分析和学习来构造分类器,然后把待分类的样本映射到对应的类别中。目前已有很多成熟的分類算法,比如决策树分类算法、贝叶斯分类算法、基于规则的分类算法和支持向量机的分类算法等。在众多分类方法和理论中,朴素贝叶斯(NaiveBayes,NB)由于计算高效、精确度高,并具有坚实的理论基础而得到了广泛应用[1]。在文献[2]中针对加权贝叶斯分类模型提出了基于相关系数的权重求解方法。文献[3]中基于Rough Set的属性重要性理论,提出了基于Rough Set的加权朴素贝叶斯分类方法,并分别从代数观、信息观及综合代数观和信息观的角度给出了属性权值的求解方法。文献[4]中在挖掘出来的规则和置信度的基础上,对朴素贝叶斯分类算法进行改进,根据挖掘出来的关联规则和置信度对条件属性进行加权。

就分类而言,条件属性和决策属性之间的相关程度越高,条件属性对分类的影响会相应变大。针对这一分类模型本文提出了基于互信息量的朴素贝叶斯权重求解方法。

1 算法理论

1.1朴素贝叶斯分类

朴素贝叶斯分类是基于贝叶斯定理,即:其中,P(B|A)为条件A下B的后验概率,P(B)为B的先验概率,P(A|B)为条件B下A的后验概率,尸(A)表示爿的先验概率。那么朴素贝叶斯分类思想就是:刑个样本S={S1,S2,…,Sn}(训练数据集),每个样本Si都表示为一个n维向量{X1,X2,…,Xn。},xi为Si的特征属性。还有k个类C={C1,C2,…,Ck}(,每个样本就属于一个类别。此外给出一个待检测样本X(未知类),可以用最高条件概率尸(Ci|X)来预测未知类的类别。即:

对于所有的类别来说尸(X)是一个定数,最大化先验概率尸(X Ic,/)尸(Q可通过最大化后验概率尸(Ci|X)转化得到。先验概率尸(xi|Ci),P(x2|Ci》…,P(xn|ci)可以从训练数据集中获取。据此理论就可以求出检测验本X的类。

那么朴素贝叶斯分类模型就可以定义为

1.2加权贝叶斯分类

在实际操作中很难让朴素贝叶斯条件独立性的这个假设成立,可以给不同的属性赋不同的权值使朴素贝叶斯得以扩展,这就是加权朴素贝叶斯[5]: 其中,Wi代表属性xi的权值,属性的权值越大,该属性对分类的影响就越大。加权朴素贝叶斯的关键问题就在于如何确定不同属性的权值。

1.3互信息量

互信息表示I(x;y)表示某一事件y所给出的关于另一事件x的信息[6]。定义事件y口事件x之间的互信息量为: 当后验概率p(yIx)等于先验概率p(y)时,互信息量I(x;y)等于零,表示两个事件独立:当后验概率p(y|x)大于先验概率p(y)时,互信息量J(5‘;y)大于零,为正值,意味着x的出现有助于减小y出现的不确定性,即一个出现会增加另一个出现的可能性:当后验概率p(y|x)小于先验概率p(y)时,互信息量J(x;y)小于零,意味着x的出现增加了y出现的不确定性,即一个出现会减少另一个出现的可能性。所以利用互信息量作为衡量属性相关性分析的指标是可行的。

2 基于互信息量的加权朴素贝叶斯分类

在现实的世界中,条件属性之间完全独立几乎是不存在的,属性之间都存在着或多或少不同程度的联系,并且每个条件属性和决策属性之间的相关程度也是不一样的,所以要对每个条件属性进行加权[7]。本文通过计算条件属性和决策属性之间的互信息量,对条件属性进行加权。即

W=I(X,Y)

基于互信息量的朴素贝叶斯分类模型首先要根据分类样本(训练数据集),计算条件属性的权值,即计算条件属性和决策属性的互信息量。然后进行朴素贝叶斯分类做出预测。其基本分类模型如图1所示。 具体步骤:(1)数据预处理。对训练数据集和待分类数据进行缺失值补充和离散化。(2)根据训练数据集,根据每个条件属性的属性值xi和类别值yi,计算类别值下属性值出现的概率p(xi|yi)和类别概率P(yi)。由此计算互信息量/(x;y),并作为条件属性的权重系数。(3)生成加权朴素贝叶斯权重系数表。(4)分类。调用权重系数表,对样本数据进行加权朴素贝叶斯计算分类。

3 应用举例

如表1所示,一个训练数据集有条件属性和决策属性。条件属性包括Outlook,Tem (Temperature),Hum(humidity),Windy,决策属性D(条件属性代表的天气情况,决策属性代表是否外出打网球)。

根据表1,按照条件属性和决策属性的互信息量,求解每一个条件属性的权重系数。由此可得到一个权重系数表,如表2所示。

假设待分类检测样本为:X= (Sunny Hot HighStrong),那么通过本文所提的算法可以算得样本的分类为:No。

4 结语

在现实世界中,朴素贝叶斯假设的先决条件很难得到满足。基于互信息量的加权朴素贝叶斯算法,很好地解释了条件属性和决策属性的关系,为分类做了先决判断,并能最终得到准确的分类结果。

[参考文献]

[1]HAN J M,KAMBER M.数据挖掘:概念与技术[M].范明,孟小峰,译北京:机械工业出版社,2005.

[2]张明卫,王波,张斌,等基于相关系数的加权朴素贝叶斯分类算法[J].东北大学学报,2008 (7):952-955.

[3]邓维斌,王国胤,王燕.基于RoughSet的加权朴素贝叶斯分类算法[J].计算机学报:2007(2):204-206.

[4]张春,郭明亮大数据环境下朴素贝叶斯分类算法的改进与实现J].北京交通大学学报,2015 (4):35-41

[5]HARRY Z, SHENG S.Learning weighted naive bayes with accurate ranking[C].Brighton: Fourth IEEE International Conference onData Mining,2004

[6]张龙飞基于互信息的朴素贝叶斯改进模型研究[D].长春:吉林大学,2010

[7]张震,胡学钢基于互信息量的分类模型[J].计算机应用,2011(6):1678-1680.