集成方法将多个分类器组合在一起,产生比单个分类器更好的预测性能。集成模型的主要原理是,一组较弱的学习器聚集在一起形成一个较强的学习器,从而提高模型的准确性。
造成学习错误的主要原因是噪声、偏差和方差。集成有助于最小化这些因素。这些方法旨在提高机器学习算法的稳定性和准确性。多分类器的组合降低了方差,特别是在不稳定分类器的情况下,可能产生比单个分类器更可靠的分类。
Bagging
Bagging是并行式集成学习方法的代表。主要方法是从随机选择的训练样本中创建几个数据子集。每个子集数据的集合被用来训练对应的分类器,由此得到了不同模型的集合。预测时,采用不同分类器的预测结果的平均值,比单一的分类器具有更强的鲁棒性。
Bagging的步骤:
- 假设训练数据集中有N个观测值和M个特征。从训练数据集中随机抽取样本进行替换。随机选取M个特征的子集,以分割效果最好的特征迭代分割节点。
- 以上步骤重复n次,根据n棵树的预测值的集合给出预测。
优势:
- 减少模型的过度拟合。
- 很好地处理高维数据。
- 保持丢失数据的准确性。
缺点:
由于最终预测是基于子集树的平均预测,因此它不能为分类和回归模型提供精确的值。
Boosting
定义:
Boosting的主要思想是,先让学习器在初始训练集上依次进行初步的训练,然后根据学习器的表现进行加权。当一个样本被一个学习器错误分类时,它的权重会增加,这样下一次就更有可能正确分类。重复这一过程,直到学习器的数量达到指定值,最终的预测结果是多个学习器的加权投票的结果。这一过程将弱学习器转化为表现更好的学习器,这里的“弱学习器”指的是表现比随机猜稍微好一点的学习器。
Boosting的一个著名的代表是AdaBoost。
假设有一个数据集,
,一个分类器
在训练集的错误率为
假设现在有了一系列的弱学习器,将它们组合在一起:
这里的是权重,在boosting的算法过程中得到的。
Boosting的步骤
- 在初始训练集上训练一个分类器
,根据分类表现修改数据权重
- 在修改过的数据集上再训练一个分类器
, 再更改权重
- 重复直到分类器数量足够,得到
每个样本的初始权值为,在常规方法训练第一个分类器之后,修改样本的权重。在第
步分类错误的样本的权重会在第
步增加,而分类正确的样本权重则会减小。
样本加权的效果是,难以正确分类的样本权重会越来越大,而后面的分类器会被迫更多的关注于之前分类错误的样本上。
学习器权重更新公式:
,样本权重的更新
Boosting在一组基本函数中拟合加性模型。
优势:
支持不同的损失函数
缺点:
容易过度合身。
需要仔细调整不同的超参数。
Bagging | Boosting | |
---|---|---|
目标 | 减小方差 | 降低偏差 |
划分数据 | 随机 | 错误分类的样本更高的投票权 |
使用的方法 | 随机子空间 | 梯度下降 |
组合单个模型的方式 | 加权平均 | 多数加权投票 |
例子 | 随机森林 | Ada Boost |
Bagging的弱学习器是来自过拟合,而Boosting的弱学习器是由于欠拟合。
参考
- 周志华-机器学习
网友评论