7.1.1 集成学习概念
集成学习是最新的机器学习算法之一,其理论研究和应用领域还在不断发展中。关于“集成学习”,在机器学习相关领域还没有统一的定义。传统的机器学习方法是在一个由各种可能的函数构成的空间(称为“假设空间”)中寻找一个最接近实际分类函数的分类器。单个分类器模型主要有决策树、人工神经网络、朴素贝叶斯分类器等。但这些模型在使用中都存在着以下两个问题。
(1)对于一般的学习任务,往往要搜索的假设空间十分巨大,但是能够用于训练分类器的训练集中实例个数不足以用来精确地学习到目标假设,这时学习的结果便可能是一系列满足训练集的假设,而单个分类器只能够选择这些假设的其中之一作为分类器的输出。通过机器学习的过拟合问题可以看出,能够满足训练集的假设不一定在实际应用中有同样好的表现,这样学习算法选择哪个假设进行输出时就面临着一定的风险,科学家考虑如果把多个假设集成起来就能够降低这种风险(这可以理解为通过集成使得各个假设和目标假设之间的误差得到一定程度的抵消)。
(2)在已有的人工神经网络学习和决策树学习中,找到学习效果最好的人工神经网络或者决策树是一个NP难问题,其他分类器模型也面临着类似的计算复杂度的问题。这使得我们只能用某些启发式的方法来降低寻找目标假设的复杂度,但这样的结果是找到的假设不一定是最优的。所以科学家同样考虑通过把多个假设集成起来能够使得最终的结果更加接近实际。
基于以上两个问题,提出了集成学习的概念。集成学习的思路是在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果进行某种组合来决定最终的分类,以取得比单个分类器更好的性能。如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。所以集成学习产生的主要原因是由于单独一个分类器的分类精度通常不是很高,分类器的泛化能力也弱,因此利用集成的方法,将多个分类器所产生的分类结果通过组合的方法来判断未知的类标签的样本类别。正如“三个臭皮匠顶个诸葛亮”,集成学习也是基于这样的思想,使用多个弱的分类器可以构成强的分类器。
概括来说,集成学习可以理解为是一种通过多个基学习器组合来分析问题的计算机学习方法,它可以显著地提高学习系统的通用性。自1990年以来,集成学习已然在机器学习和数据挖掘领域取得了非常好的成果,并逐渐成为研究的热点。早在1997年,科学家Dietterich将其列为机器学习的四大研究方向之一。
对于分类器的选择,集成学习有效的条件是每个单一的分类器错误率都应当低于0.5,否则集成的结果反而会提高错误率。此外,进行集成学习的每个分类器还应当各不相同,这个要求可以这样理解:如果每个基分类器分类结果差不多,则集成后的分类器整体和单个分类器做出的决策实际上没有什么差异,这样集成后的分类器就难以保证比单个分类器有更好的性能。由上可知,集成学习的重点是设计泛化能力很强、个体差别大的基分类器,也就是说,基分类器的多样性是与集成学习分类系统的质量直接相关。如果不同基分类器之间的差异很大,则可以生成不相干的分类模型,提高分类系统的效率和精度。
与传统的机器学习算法相比,集成学习具有以下优势:
(1)寻优较容易,一般来说,在集成学习中提高测试样本的分类精度是研究的重要目标之一。构造具有非常高分类精度的分类器不容易,但分类精度一般的分类器构造起来相对容易很多,集成学习就是把那些分类精度较好的分类器进行组合,以达到比单一的分类器更高的预测精度。
(2)更加稳定,单个学习器的预测结果是不稳定的。学习模型在某些方面能很好地发挥作用,取得非常高的预测结果,不过,在其他领域却不能很好地预测。使用集成学习方法把多个不同的模型组合起来,用以提高整个模型的泛化能力,并且可以在不同的方面实现更好的预测。