集成学习方法与模型效果
2019-07-01
(广东工业大学自动化学院 广东 广州 510000)
一、概述
机器学习的求解过程可以看作是在假设空间中搜索一个具有强泛化能力和高鲁棒性的学习模型,而在假设空间中寻找合适模型的过程是较为困难的。然而,集成学习作为一类组合优化的学习方法,不仅能通过组合多个简单模型以获得一个性能更优的组合模型,而且允许研究者可以针对具体的机器学习问题设计组合方案以得到更为强大的解决方案。回顾了集成学习的发展历史,并着重对集成学习中多样性的产生、模型训练和模型组合这三大策略进行归纳,然后对集成学习在现阶段的相关应用场景进行了描述,并在最后对集成学习的未来研究方向进行了分析和展望[1]。
近几十年以来,由于集成学习能高效地解决实际应用问题,所以在机器学习领域内备受关注。最初,集成学习旨在提高自动决策系统的准确性,而现如今此方法已经能够成功解决各种机器学习问题。本文概述集成学习的发展历史,并且回顾现有的集成学习方法,能够为读者提供集成学习系统的构造理论和集成学习方法。
实际上,通过集成学习思想进行决策在文明社会开始时就已经存在了,例如:在民主社会中,公民们通过投票来选举官员或制定法律,对于个人而言,在重大医疗手术前通常咨询多名医生。这些例子表明,人们需要权衡并组合各种意见来做出最终的决定。其实,研究人员使用集成学习的最初目的和人们在日常生活中使用这些机制的原因相似。Dietterich[2]从数学角度解释了集成方法成功的 3个基本原因:统计、计算和代表性。此外,亦可通过偏差方差分解[3]对集成学习的有效性进行分析。
二、模型效果的评判标准
对于机器学习算法而言,偏差和方差是衡量模型效果优劣关键指标。
偏差越小,一定程度模型拟合能力越强,模型越复杂;方差越小,一定程度模型抗扰动能力越强,模型越简单。
偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。在一个模型中,偏差和方差是一对相互制约的关系,具体如图所示:
三、两种集成学习方法
Bagging和boosting是两种经典的集成学习方法。
Bagging和boosting的主要区别有样本的选择、样本权值、预测函数、和并行计算等几个方面。
1.样本选择
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集是不变的,但是数据的权重发生了改变,前一棵树的结果会影响下一棵树。
2.样本权重
Bagging:每个样本的权重相等。
Boosting:根据错误率不断对每一个样本的权重进行调整,上一轮被错误分类的样本在下一轮的样本权重会变大,让下一轮模型把更多的精力放在预测这些错误的样本上。
3.预测函数
Bagging:所有预测函数的样本权值相等
Boosting:每个弱分类器都有相应的权值,分类误差越小的分类器权值越大
4.并行计算
Bagging:可以并行计算
Boosting:整体模型的生成是串行的,但对于串行的某些过程是可以实现并行的,比如xgboost对增益计算就采用并行计算。
Bagging的经典算法有随机森林等,Boosting的经典算法有GBDT等。
四、Bagging和Boosting对偏差和方差的影响
以下,本文解释为何Bagging算法通过降低方差提高模型性能,而Boosting算法通过降低模型偏差提高性能。
Bagging对样本有放回地重采样,对于每一次采样训练得到的模型,其偏差和方差是差不多近似相等,假设bias=E[Xi],var=Var(Xi)。
因为Boosting算法框架,其子模型之间是有强相关性的,无法显著降低模型方差。