理解集成分类器中的加权学习

数据挖掘 机器学习 训练 集成建模 助推 加权数据
2022-03-04 21:03:04

我目前正在研究机器学习中的 Boosting 技术,我碰巧了解到,在像 Adaboost 这样的算法中,每个训练样本都被赋予一个权重,具体取决于它在顺序提升中是否被先前的模型错误分类。

尽管我直观地理解,通过加权示例,我们让模型更加关注以前错误分类的示例,但我不明白机器学习算法“如何”考虑权重。权重是否被视为一个单独的特征?我想知道“如何”一个简单的机器学习模型,比如说一个决策树,理解一个特定的例子承载更多的权重,因此需要给予更多的关注/正确分类。

有人可以用简单的文字/方程式向我解释机器学习算法如何处理加权训练样本吗?他们如何强迫自己正确分类权重较高的样本?是否应该对现有的 ML 算法进行修改以考虑权重?

3个回答

Adaboost 是一个集成分类器,这意味着它由几个能够考虑训练集中权重的弱分类器组成。这些权重可用于通知每个弱分类器的训练。例如,决策树可以以有利于拆分具有更高权重的样本集的方式生长。

我认为下面的链接有更好的解释,它可以帮助您理解 Boosting 算法背后的逻辑。

用于提升算法

https://youtu.be/LsK-xG1cLYA

了解基于每个样本权重的随机抽样和替换。

https://stackoverflow.com/questions/3679694/a-weighted-version-of-random-choice

Adaboost有两个版本:一个不要求弱学习器接受样本权重,而只是根据权重对数据进行重采样,使用弱学习器的重采样集。

至于树木如何利用样本权重:杂质计算是利用权重完成的,叶子得分也成为加权平均值。参见例如这个 SO 帖子这个 DS.SE 帖子

最后,许多其他算法通过在某些假设空间上最小化损失函数来运行。那些可以直接将权重合并到他们的损失函数中。(示例包括 GLM、SVM、NN,尽管这些都不是特别弱的学习器,因此对于自适应增强集成可能不理想。)