共计 2223 个字符,预计需要花费 6 分钟才能阅读完成。
集成学习
集成学习 (ensemble learning) 通过构建并联合多学习器来实现学习工作,常可取得比繁多学习器显著优越的泛化性能
要取得好的集成,个体学习器应好而不同,即个体学习器要有肯定的准确性,并且要有多样性,即学习器间要有差别
依据个体学习器的生成形式, 目前的集成学习办法大抵可分为两大类
- 学习器间存在强依赖关系、必须串行生成的序列化办法,如 Boosting
- 学习器间不存在强依赖关系、可同时生成的并行化办法,如 Bagging 和随机森林
集成学习在各个规模的数据集上都有很好的策略
- 数据集大:划分成多个小数据集,学习多个模型进行组合
- 数据集小:利用 Bootstrap 办法 (也称为自助法,一种有放回的抽样办法) 进行抽样,失去多个数据集,别离训练多个模型再进行组合
Boosting
Boosting 是一族可将弱学习器晋升为强学习器的算法
工作原理
- 先从初始训练集训练出一个基学习器
- 依据基学习器的体现对训练样本分布进行调整, 使得先前基学习器做错的训练样本在后续受到更多关注
- 基于调整后的样本分布来训练下一个基学习器;
- 反复进行, 直至基学习器数目达到当时指定的值 $T,$ 最终将这 $T$ 个基学习器进行加权联合
从偏差 - 方差合成的角度看, Boosting 次要关注升高偏差, 因而 Boosting 能基于泛化性能相当弱的学习器构建出很强的集成
Boosting 族算法最驰名的代表是 AdaBoost, 是通过集中关注被已有分类器错分的那些数据来取得新的分类器
AdaBoost
- 长处: 泛化错误率低,易编码,能够利用在大部分分类器上
- 毛病: 对离群点敏感
过程
- 训练数据中的每个样本,并赋予其一个权重,这些权重形成了向量D,权重都初始化成相等值
- 在训练数据上训练出一个弱分类器并计算该分类器的错误率,而后在同一数据集上再次训练弱分类器
- 在分类器的第二次训练当中,将会从新调整每个样本的权重,其中第一次分对的样本的权重将会升高,而第一次分错的样本 的权重将会进步
- 计算出 D 之后,AdaBoost 又开始进入下一轮迭代
- AdaBoost 算法会一直地反复训练和调整权重的过程,直到训练错误率为 0 或者弱分类器的数目达到用户的指定值为止
Bagging
Bagging 是并行式集成学习办法最驰名的代表
流程
- 给定蕴含 $m$ 个样本的数据集, 咱们先随机取出一个样本放入采样集中, 再把该样本放回初始数据集, 使得下次采样时该样本仍有可能被选中
- 通过 $m$ 次随机采样操作, 咱们失去含 $m$ 个样本的采样集, 初始训练集中有的样本在采样集里屡次呈现, 有的则从未呈现
- 采样出 $T$ 个含 $m$ 个训练样本的采样集, 而后基于每个采样集训练出一个基学习器
- 将这些基学习器进行联合
在对预测输入进行联合时, Bagging 通常对分类工作应用简略投票法, 对回归工作应用简略平均法
- Bagging 通过升高基分类器的方差,改善了泛化误差
- 其性能依赖于基分类器的稳定性;如果基分类器不稳固,bagging 有助于升高训练数据的随机稳定导致的误差;如果稳固,则集成分类器的误差次要由基分类器的偏倚引起
- 因为每个样本被选中的概率雷同,因而 bagging 并不侧重于训练数据集中的任何特定实例
随机森林
随机森林(Random Forest) 是 Bagging 的一个扩大变体
随即森林在以决策树为基学习器构建 Bagging 集成的根底上, 进一步在决策树的训练过程中引入了随机属性抉择
具体来说, 传统决策树在抉择划分属性时是在以后结点的属性汇合 (假设有 $d$ 个属性) 中抉择一个最优属性
而在随即森林中, 对基决策树的每个结点, 先从该结点的属性汇合中随机抉择一个蕴含 $k$ 个属性的子集, 而后再从这个子集中抉择一个最优属性用于划分
随机森林的训练效率常优于 Bagging,因为在个体决策树的构建过程中, Bagging 应用的是“确定型”决策树, 在抉择划分属性时要对结点的所有属性进行考查, 而随机森林应用的“随机型”决策树则只需考查一个属性子集
长处
- 具备极好的准确率
- 可能无效地运行在大数据集上
- 可能解决具备高维特色的输出样本,而且不须要降维
- 可能评估各个特色在分类问题上的重要性
- 对于缺省值问题也可能取得很好得后果
联合策略
每个基学习器之间不存在很强的依赖性,为了进步集成的泛化能力在最终预测后果时,须要肯定的策略对多个后果进行联合
平均法
对数值型输入,最常见的联合策略是应用平均法,又可分为
- 简略平均法
- 加权平均法
一般而言,在个体学习器性能相差较大时宜应用加权平均法,而在个体学习器性能相近时宜应用简略平均法
投票法
对分类工作来说, 学习器将从类别标记汇合 中预测出一个标记, 最常见的联合策略是应用投票法
- 绝对多数投票法
若某标记得票过半数,则预测为该标记;否则回绝预测
- 绝对少数投票法
预测为得票最多的标记。若同时有多个标记取得最高票,则从中随机选取一个。
- 加权投票法
学习法
当训练数据很多时, 一种更为弱小的联合策略是应用“学习法”, 即通过另一个学习器来进行联合
Stacking 是学习法的典型代表
Stacking
Stacking 是通过一个元分类器或者元回归器来整合多个分类模型或回归模型的集成学习技术
根底模型通常蕴含不同的学习算法, 利用整个训练集做训练
元模型将根底模型的特色作为特色进行训练
参考
机器学习 – 集成学习(Ensemble Learning)
集成学习 –bagging、boosting、stacking
机器学习 - 周志华
Machine Learning in Action by Peter Harrington
随机森林算法及其实现(Random Forest)