论文部分内容阅读
作为人工智能中的重要领域,机器学习是一门从已知数据中学习有效算法,并且使用算法预测未知数据的计算机科学。贝叶斯网络作为一种概率分布的图形化表达,在机器学习的发展中扮演着不可或缺的重要地位。贝叶斯网络分类器(Bayesian Network Classifier,BNC)由于具有分类精度高、可解释性强等特点而被广泛地应用于各个领域,比如文本分类、医疗诊断、金融预测等。许多研究者经过大量的实验和长期的验证提出了许多广受认可的BNC。朴素贝叶斯(Naive Bayes,NB)假设在给定类变量的条件下,特征之间相互独立,成为了最简单有效的BNC。由于NB算法结构简单,分类精度高,许多研究者提出通过削弱NB的条件独立性假设来提升BNC的分类表现。NB的结构中各个特征之间不存在条件依赖,所以可以将其视为零阶BNC。学习一阶BNC甚至更高阶BNC成为NB改进方向的重点之一,例如,树增广朴素贝叶斯(Tree-Augmented Naive Bayes,TAN)和k阶依赖贝叶斯分类器(k-Dependence Bayesian Classifier,KDB)等。在将NB的结构扩展为高阶的过程中,需要向网络结构中有选择地添加特征间的条件依赖;换句话说,BNC中包含更多的重要的条件依赖,它的分类表现也就越出色,因此判别条件依赖重要程度的方法层出不穷。BNC的优化方法之一就是使用评估函数对所构建的网络结构进行改进,那些能够使得评估函数最优化的网络结构也就被认为是最佳的网络结构;这些评估函数通常能够从某一角度极大地描述条件概率分布,例如,似然函数、互信息和条件互信息等。根据评估函数改进BNC使得BNC结构学习的过程更加高效。单模型的BNC在表达复杂的特征间条件依赖关系时往往只能依靠增加模型的复杂度来实现,而单纯地提高模型复杂度会使得算法面临过拟合的风险。集成式BNC通过综合多个较为简单的子模型的分类结果来解决这一问题。由于在集成式BNC中构建子模型简单,包含信息量大,并且不同子模型之间的集成方法也十分灵活,因此集成式BNC也成为了最受欢迎的BNC改进方法之一。本文中主要对BNC做出了两方面的改进:1.通过对Kullback-Leibler散度的理论分析,本文证明了不同BNC之间的熵函数的差值等价于不同阶数的条件互信息,这些条件互信息代表了特征间的条件依赖。因此,本文提出了采用高阶条件互信息将BNC的结构扩展到更高阶,并且根据类标签将训练集划分为多个子集,依照每个子集中所包含的信息构建多个子BNC,并且根据所生成的这些BNC决定最终的分类结果;2.根据在对数似然和信息熵的研究中取得的成果,本文说明了最大化对数似然同时也会降低模型不确定性。在这一基础上,本文提出了结合启发式特征排序方法和基于条件互信息的特征间条件依赖分析来提升BNC的分类性能。为了验证本文所提出的算法的性能,本文从0-1损失、偏差和方差等方面分析了算法的各方面性能。在UCI数据集上的实验结果表明,本文中所提出的算法的分类性能明显优于经典的BNC,从而证明了所提出算法的有效性。