论文部分内容阅读
分类是数据挖掘中的一项重要任务,分类是先通过类标号已知的数据建立模型,然后对类标未知的样本进行分类。分类正确率是衡量一个分类器性能的重要指标,然而单个的分类器有时不能达到较好的正确率,而集成学习的出现使得这一问题得到改善。集成分类学习是指通过多个分类器来解决同一学习任务,能够获得比仅使用单一分类器更好的性能。集成学习成为近年来机器学习领域的一个热点方向,由于其优良的特性,现已在多个领域得到应用,例如行星探测、字符识别、生物认证、Web信息过滤等。目前集成学习的研究内容主要包括两个方面:第一,个体学习器精度不能太低,如果学习精度过低,将导致集成的精度不高;第二,个体学习器之间要有差异性,如果没有差异性,则集成是没有意义的。目前已有多种产生差异性的方法,如:基于特征集技术,通过某种策略选取特征子集,可以通过不同的特征集获取个体间的差异性;基于数据技术,采用取样技术获取不同训练数据来获得个体间差异性。然而集成学习还存在着一些未解决的问题,如何设计差异性大的学习器,以及差异性的度量问题。通过对集成学习的深入了解,本文把集成学习应用到分类过程中,在两大经典算法AdaBoost和Bagging的基础上做了一定的改进。获得了好的分类性能以及更快的收敛速度。具体来说,本文开展并完成的工作主要包括以下几点:(1)首先介绍了分类的过程,目前常用的分类算法的基本思想,各种分类算法的优缺点,简要介绍了集成学习的基本概念,分析了两大代表算法AdaBoost和Bagging的理论基础,对选择性集成学习进行了简要阐述,指出目前集成学习的不足以及发展方向,为更好的发展集成学习提供了依据。(2)为了产生精度更高、收敛速度更快的集成,提出了一种新的标记迭代过程中错分样本的AdaBoost算法(MWBoost),该算法通过在提升过程中,总是把上一个分类器错分的样本全部参入到下一个分类器的训练中,同时在分类正确的样本中进行重采样,从而使得后一轮提升中分类器能够更快速地关注那些难以分类的样本。该算法在UCI的多个数据集上进行了测试,并且与传统的AdaBoost算法进行了比较,实验结果表明新的算法具有更好的分类精度以及更快的收敛速度。(3)为了产生多样性的分类器,基于模糊聚类思想,提出了一种新的Bagging集成方法F-Bagging。基本思想是,首先把训练数据通过模糊聚类思想聚类,然后根据隶属度矩阵,如果样例属于多个簇的隶属度差值在一个阈值范围内,那么就把此样例同时划分到这几个簇中,此方法充分遵循了样例的实际分布,最后把各个子集进行训练。由于各子集所包含的数据及数据的类别各不相同,因而使得成员分类器存在着较大的差异性。成员分类器的个数由子集来确定,当训练好分类器之后,考虑到每个簇中的样本相似程度高,因此每一个簇的数据通过训练之后会得到一个比较适合于识别这一类样本的分类器,因此根据测试样例到各个簇中心的距离比例,对分类器进行加权,实验结果表明,此方法对模式分类能取得较好的效果。