论文部分内容阅读
机器学习能够利用从数据中得到的经验来总结有用的规则,同时分类问题是机器学习相关应用中的常见问题。贝叶斯网络分类器(Bayesian Network Classifier,简写为BNC)是一种经典的分类方法,广大学者在BNC方面进行的大量研究推动了不确定性推理的发展。由于朴素贝叶斯(Naive Bayes,简写为NB)独有的条件独立性假设,它的网络拓扑结构在有约束的BNC中是最简单的。其他的分类模型都可以看做是基于NB的研究方向进行的扩展,可以将其划分为两类:第一类是从削弱NB的条件独立性假设的角度来进行的,比如树增广的朴素贝叶斯、k阶BNC(k-dependence Bayesian Network Classifier,简写为KDB)以及对KDB的扩展模型等都在不同程度上放松了条件独立性假设;第二类是从属性加权和属性选择等方面对NB进行的结构优化,如基于向前序列选择的NB。相对于其他分类模型,KDB在处理大数据集时能够得到令人满意的分类精度。但KDB中没有考虑到冗余信息的存在,如果将KDB中的依赖关系分为属性和类变量之间的直接依赖以及给定类变量的情况下属性之间的条件依赖,从冗余性的较低来考虑则应该考虑这两种依赖关系中是否存在冗余以及这些冗余的依赖关系对分类的影响程度。识别并移除模型中冗余的直接依赖和条件依赖将涉及到选择的问题。filter和wrapper是两种有着不同优势的属性选择方法。使用独立于分类算法的filter方法可以提升构造模型的计算效率而使用wrapper方法最终得到的分类模型往往具有较好的分类精度,因为wrapper方法是将分类算法作为评估函数对属性子集打分来获得最优属性集合的。同时wrapper方法的选择顺序中包含向前序列选择(Forward Sequential Selection,简写为FSS)和向后序列消除。在信息论的基础上,本文针对直接依赖和条件依赖而提出的FeatureSelection(FS)和DependenceSelection(DS)同时结合了filter方法和wrapper方法的优势。FS和DS对冗余依赖的迭代搜索过程都是呈梯度式进行的,主要包括两个步骤:首先使用filter方法分别对模型中存在的属性和条件依赖排序(FS以互信息为基准,DS以条件互信息为基准),在每次迭代中最小的互信息和最小的条件互信息将作为相应过程的动态阈值的新值并进行更新;然后根据动态阈值,使用wrapper方法中的FSS技术分别对相应的子集进行选择并评估,FS方法的评估对象是属性子集,DS方法的评估对象是条件依赖子集。迭代搜索过程在达到终止条件后将会停止,同时会得到最优属性子集和最优条件依赖子集。本文将FS方法和DS方法同时应用于KDB中,并将这种改进的KDB称为基于自适应阈值的KDB(Adaptive KDB,简写为AKDB)。为了验证本文提出的两种依赖选择的方法对KDB分类性能的改进程度,本文分别将FS和DS单独地应用于KDB并在30个UCI数据集上进行了实验。应用FS和DS方法之后属性数目或条件依赖数目的变化、信息量变化以及分类精度的改进三个方面的分析结果表明,FS和DS方法都是有效的并可以帮助提高分类精度。文章最后对AKDB模型进行整体分析,从0-1 loss、均方根误差、方差、偏差以及显著性分析方面得到的实验结果表明,AKDB相比一些成熟的BNC有着显著分类精度的提升和更好的稳定性。