五种贝叶斯网分类器的分析与比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五种贝叶斯网分类器的分析与比较
摘要:对五种典型的贝叶斯网分类器进行了分析与比较。在总结各种分类器的基础上,对它们进行了实验比较,讨论了各自的特点,提出了一种针对不同应用对象挑选贝叶斯网分类器的方法。
关键词:贝叶斯网;分类器;数据挖掘;机器学习
故障诊断、模式识别、预测、文本分类、文本过滤等许多工作均可看作是分类问题,即对一给定的对象(这一对象往往可由一组特征描述),识别其所属的类别。完成这种分类工作的系统,称之为分类器。如何从已分类的样本数据中学习构造出一个合适的分类器是机器学习、数据挖掘研究中的一个重要课题,研究得较多的分类器有基于决策树和基于人工神经元网络等方法。贝叶斯网(Bayesiannetworks,BNs)在AI应用中一直作为一种不确定知识表达和推理的工具,从九十年代开始也作为一种分类器得到研究。
本文先简单介绍了贝叶斯网的基本概念,然后对五种典型的贝叶斯网分类器进行了总结分析,并进行了实验比较,讨论了它们的特点,并提出了一种针对不同应用对象挑选贝叶斯分类器的方法。
1贝叶斯网和贝叶斯网分类器
贝叶斯网是一种表达了概率分布的有向无环图,在该图中的每一节点表示一随机变量,图中两节点间若存在着一条弧,则表示这两节点相对应的随机变量是概率相依的,两节点间若没有弧,则说明这两个随机变量是相对独立的。按照贝叶斯网的这种结构,显然网中的任一节点x均和非x的父节点的后裔节点的各节点相对独立。网中任一节点X均有一相应的条件概率表(ConditionalProbabilityTable,CPT),用以表示节点x在其父节点取各可能值时的条件概率。若节点x无父节点,则x的CPT为其先验概率分布。贝叶斯网的结构及各节点的CPT定义了网中各变量的概率分布。
贝叶斯网分类器即是用于分类工作的贝叶斯网。该网中应包含一表示分类的节点C,变量C的取值来自于类别集合{C,C,....,C}。另外还有一组节点x=(x,x,....,x)反映用于分类的特征,一个贝叶斯网分类器的结构可如图1所示。
对于这样的一贝叶斯网分类器,若某一待分类的样本D,其分类特征值为x=(x,x,....,x),则样本D属于类别C的概率为P(C=C|X=x),因而样本D属于类别C的条件是满足(1)式:
P(C=C|X=x)=Max{P(C=C|X=x),P(C=C|X=x),...,P(C=C|X=x)}(1)
而由贝叶斯公式
P(C=C|X=x)=(2)
其中P(C=Ck)可由领域专家的经验得到,而P(X=x|C=Ck)和P(X=x)的计算则较困难。应用贝叶斯网分类器分成两阶段。一是贝叶斯网分类器的学习(训练),即从样本数据中构造分类器,包括结构(特征间的依赖关系)学习和CPT表的学习。二是贝叶斯网分类器的推理,即计算类结点的条件概率,对待分类数据进行分类。这两者的时间复杂性均取决于特征间的依赖程度,甚至可以是NP完全问题。因而在实际应用中,往往需
要对贝叶斯网分类器进行简化。根据对特征间不同关联程度的假设,可有各种贝叶斯分类器。下面讨论五种典型的分类器。
2五种贝叶斯分类器
2.1NB分类器
为简化计算,最简单的情形可假定各特征变量x是相对独立的,即为NB(Naive-Bayes)分类器,其结构如图2所示。
虽然这种条件独立的假设在许多应用领域未必能很好满足,但这种简化的贝叶斯分类器在许多实际应用中还是得到了较好的分类精度。
2.2TAN分类器
TAN(TreeAugmentedNaive-Bayes)分类器对NB分类器进行了扩展,允许各特征结点构成一棵树。图3为一TAN分类器的简单例子。TAN允许特征变量间构成有限的关联。
2.3BAN分类器
BAN(BNAugmentedNaive-Bayes)分类器进一步扩展TAN分类器,允许各特征结点之间的关系构成一个图,而不只是树。图4给出了一例子。
2.4BMN分类器
BMN(BayesianMulti-Net)作为分类器对应一组贝叶斯网,类结点的每个可能取值均对应一个贝叶斯网(图5)。BMN可看作是BAN的推广,BAN认为对各个不同的类各特征之间的关系是不变的,而BMN则认为对类变量的不同取值,各特征之间的关系可能是不一样的。
2.5GBN分类器
GBN(GeneralBayesianNetwork)是一种无约束的贝叶斯网分类器,和前四类贝叶斯网分类器有较大区别的是,在前四类分类器中均将类变量作为一特殊的结点,是各特征结点的父结点,而GBN中将特征结点作为一普通结点。图6给出了一例子。将GBN和BMN进行比较,我们可以发现,GBN假设对整个数据集有一单一联合概率分布,而BMN则认为对不同的分类有不同的联合概率分布。因而对那些数据集有单一内在概率模型的应用使用GBN更合适,而对那些不同类的数据集其特征之间的依赖关系差异较大的应用场合,则使用BMN更合适。
3实验
我们通过实验对上述五种贝叶斯分类器进行了比较。实验中用到的五个数据集下载自UCI机器学习数据库。这五个数据集的基本情况见表1。实验分成以下几步:
(1)应用每个数据集中的训练数据分别构造分类器。TAN和BAN分类器的学习算法取自,而BMN和GBN学习算法取自。
(2)将构造的贝叶斯网分类器以BIF(BayesianInterchangeFormat)格式输出成文件。
(3)采用JavaBayesV0.341作为贝叶斯网推理器,读入BIF格式的分类器和数据集中测试数据进行分类测试,测试分类精度见表2。
表1实验所用数据集
数据集名称特征数目类别数目实例数目训练集测试集Adult1333256116281Nursery8586404320Mushroom22254162708Chess36221301066DNA60320001186表2测试结果(分类精度)
NBTANBANBMNGBNAdult84.286.085.884.886.1Nursery90.391.793.197.189.7Mushroom95.899.810099.999.3Chess87.392.594.294.694.7DNA94.393.688.394.179.1
4进一步讨论
对实验结果作进一步分析,我们可以有以下结论:
(1)虽然NB分类器的特征独立性假设在许多情况下是不符合实际的,但其分类精度并不是特别差,而其无须结构学习、计算简单的优点很特出,因而在某些应用中还是一种实用选择。
(2)对特征关联程度强的应用,应采用较复杂的贝叶斯网分类器,这其中BMN相对表现较佳。当然复杂分类器的学习、推理的时间复杂度就会增加。
(3)各种分类器有不同的适用对象,一具体应用适用哪一类分类器主要取决于特征之间的关联情况,而这种关联情况往往难以人工直观确定。为解决贝叶斯网分类器的选择问题,我们提出如下方法:
●将样本数据分成训练集和选择集两部分;
●将训练集作为输入,构造五类贝叶斯网分类器;
●在选择集上运行构造的各个分类器,记录其分类精度和分类时间;
●综合分类精度和分类时间,综合性能最佳即为所选分类器。
5结束语
本文对五种典型的贝叶斯网分类器进行了分析与比较。我们下一步工作将针对具体的应用领域(如文本分类),研究最适合的分类器类型和学习算法等。