集成学习
面向回归与分类,结合弱学习器形成集成结构以达到强学习效果。
一、个体与集成
1、集成学习:构建并结合多个学习器来完成学习任务。先产生一组“个体学习器”,再用某种策略进行结合。若个体学习器一致,称同质的、否则异质,其中之一称基学习器,算法为基学习算法。为达到数个弱学习器组合为强学习器的目的,个体学习器不能太坏,且要有“多样性”。
2、分类:个体间存在强依赖关系,串行生成的序列化方法;个体间不存在强依赖,并行化方法。
二、串行集成与Boosting算法
Boosting算法基本思想是:先从初始训练集训练基学习器,再根据基学习器表现对训练样本的分布进行调整,使得之前的训练错误得到重视,如此重复,直到得到给定数目的基学习器,最后对它们加权组合为最终的学习器(回归直接输出,分类可设定阈值)。下对AdaBoosting算法简述:
1、学习器是基学习器的线性组合:
2、确定基学习器的权重:
通过最小化在t次样本分布的下的加权学习器指数误差函数获得。
3、调整训练集分布:可对训练样本赋权,样本无法带权的情形,可对训练集重新采样构成新训练集。样本分布由下式确定
三、并行集成与Bagging算法
本节主要是并行集成算法,典型代表是基于自主采样的Bagging算法及其决策树变体随机森林RF法。
1、Bagging:自主采样出T个含m训练样本的采样基,训练出基学习器。回归任务简单平均,分类采用投票法。
2、随机森林:设共有d个属性,每次随机选k个属性的子集进行训练,共进行T次获得所有基决策树。推荐k=log2d。
四、集成结合策略
本节主要是对训练出的基学习器的结果进行组合得到最终预测结果。
1、平均法:加权未必优于简单平均。
2、投票法:用于分类任务,有绝对多数投票(必须超过一半,否则不接受)、相对多数投票、加权投票。
3、学习法:再加一个次级学习器,对前面的初级学习器结果进行学习。注意次级学习器样本不能采用初级学习器训练数据,否则极易产生过拟合。
五、多样性
对泛化误差进行“误差-分歧分解”:个体学习器准确性越高、多样性越大,集成越好。可用多种指标度量多样性。