为了实现,我遵循AdaBoost的Matlab程序。根据我的理解,AdaBoost使用了称为基本分类器的弱分类器,并创建了它的几个实例。例如,弱分类器就是决策树。因此,AdaBoost可以创建最大N决策树(其中N =样本数)并组合预测结果。这是一种齐次升压法。但是我已经看到了一些例子,比如Matlab和集成工具箱中的例子,这些都让我感到困惑。请有人解释一下与实现有关的以下概念,以及代码中发生了什么?
1) AdaBoost的Matlab代码是否结合了不同的分类器?我不清楚合并的方法-whether,他们做的是和票或多数票或者其他什么的。
如果它们结合了几个分类器,那么从技术上讲,它是一种异质集成方法,它的术语是叠加而不是提升。请纠正我错的地方。在提升方法中,基于分类器的方法是相同的。但是在Matlab中给出的AdaBoost代码结合了不同的分类器,我不确定。
2)集成学习或集成工具箱中的示例是否与自适应增强Matlab代码(第二链接)相同?集成学习和自适应学习一样吗?
发布于 2018-06-20 22:30:45
助推是一种集合学习,但并不是唯一的一种。除了堆叠,套袋也是另一种类型的合奏学习。
集成学习是个体模型的组合,它试图获得更好的预测性能,可以单独从任何一种构成学习算法中获得。
增强涉及到通过训练每个新的模型实例来逐步建立一个集合,以强调以前的模型错误分类的训练实例。它是一种迭代技术,它根据最后一种分类来调整观测值的权重。如果一个观察被错误地分类,它试图增加这个观察的权重,反之亦然。Boosting一般会减少偏置误差,并建立较强的预测模型。有时,他们可能会过分适应培训数据。
叠加包括训练一种学习算法,以结合其他几种学习算法的预测。
套袋尝试在小样本群体上实现类似的学习者,然后取所有预测的平均值。在广义套袋中,您可以在不同的人群上使用不同的学习者。正如您可以预期的那样,这有助于我们减少方差错误。
发布于 2018-06-19 22:22:04
集合学习结合了来自多个学习者的预测。增强方法是形成一个整体的一种方法。堆叠是另一回事。升压法和叠加法(以及其他集成方法)的重要区别在于,助推法顺序地应用于一些弱学习者,然后通过加权多数投票产生最终结果。
在堆叠中的学习者也可以被合并为加权平均值或投票(或由另一个“元”模型),但他们可以或多或少地独立。
在助推过程中,每个弱学习者(通常是相同的,是的)会按顺序修改下一个学习者的数据。例如,在AdaBoost中,每个学习者的权重以及数据中的每个样本都取决于先前弱学习者的错误分类率,即下一个学习者更多地关注先前错误分类的样本。
增强方法通常根据这些权重更新的执行方式而有所不同。
https://datascience.stackexchange.com/questions/33392
复制相似问题