鱼的机器学习

机器学习-集成方法 Bagging vs Boosting

2020-12-28  本文已影响0人  升不上三段的大鱼

集成方法将多个分类器组合在一起,产生比单个分类器更好的预测性能。集成模型的主要原理是,一组较弱的学习器聚集在一起形成一个较强的学习器,从而提高模型的准确性。

造成学习错误的主要原因是噪声、偏差和方差。集成有助于最小化这些因素。这些方法旨在提高机器学习算法的稳定性和准确性。多分类器的组合降低了方差,特别是在不稳定分类器的情况下,可能产生比单个分类器更可靠的分类。

Bagging

Bagging是并行式集成学习方法的代表。主要方法是从随机选择的训练样本中创建几个数据子集。每个子集数据的集合被用来训练对应的分类器,由此得到了不同模型的集合。预测时,采用不同分类器的预测结果的平均值,比单一的分类器具有更强的鲁棒性。

Bagging的步骤:

优势:

缺点:
由于最终预测是基于子集树的平均预测,因此它不能为分类和回归模型提供精确的值。

Boosting

定义:
Boosting的主要思想是,先让学习器在初始训练集上依次进行初步的训练,然后根据学习器的表现进行加权。当一个样本被一个学习器错误分类时,它的权重会增加,这样下一次就更有可能正确分类。重复这一过程,直到学习器的数量达到指定值,最终的预测结果是多个学习器的加权投票的结果。这一过程将弱学习器转化为表现更好的学习器,这里的“弱学习器”指的是表现比随机猜稍微好一点的学习器。

Boosting的一个著名的代表是AdaBoost。

假设有一个数据集D=\{(x_i,y_i) i=1...n \}\y=\{-1, 1\} \,一个分类器G(x)在训练集的错误率为
err =\frac{1}{N} \sum_{i=1}^N I(y_i != G(x_i))

假设现在有了一系列的弱学习器,将它们组合在一起: G(x) = sign(\sum_{m=1}^M \alpha_m G_m(x))
这里的\alpha_1...\alpha_M是权重,在boosting的算法过程中得到的。

Boosting的步骤

每个样本的初始权值为w_i = \frac{1}{N},在常规方法训练第一个分类器之后,修改样本的权重。在第m-1步分类错误的样本的权重会在第m步增加,而分类正确的样本权重则会减小。

样本加权的效果是,难以正确分类的样本权重会越来越大,而后面的分类器会被迫更多的关注于之前分类错误的样本上。

学习器权重更新公式:
\alpha_m = log(\frac{1-err_m}{err_m}),样本权重的更新w_i = w_i exp[\alpha_mI(y_i != G_m(x_i))]

Boosting在一组基本函数中拟合加性模型。

优势:
支持不同的损失函数

缺点:
容易过度合身。
需要仔细调整不同的超参数。

Bagging Boosting
目标 减小方差 降低偏差
划分数据 随机 错误分类的样本更高的投票权
使用的方法 随机子空间 梯度下降
组合单个模型的方式 加权平均 多数加权投票
例子 随机森林 Ada Boost

Bagging的弱学习器是来自过拟合,而Boosting的弱学习器是由于欠拟合。

参考

上一篇下一篇

猜你喜欢

热点阅读