machine-learning - 集成学习背后的概念?
问题描述
我尝试学习像 Bagging 和 Boosting 这样的集成 ML 算法。但我不清楚为什么在 Bagging 算法的情况下,我们必须并行考虑决策树作为基本模型,而在 Boosting 的情况下,必须依次采用决策树。
这背后有蚂蚁的具体原因吗?有人请解释一下。
解决方案
Bagging 只是分类器的集合,它们都有助于最终决策。您可以使用数据中的不同特征(随机森林)创建集成,还可以在同一组特征上训练不同的模型。
在 vanilla ML 中,数据集中的每条记录都以相同的权重处理。boosting 背后的想法(如adaboost)是迭代训练模型并检查哪些记录存在任何问题。您正在相应地修改权重,训练下一个模型并希望它会做得更好。现实世界的想法是:有些记录很容易,有些记录很困难,所以我们正在尝试训练一个模型,它能够同时解决这两个问题。
这只是直观的外观。方法很少。最好检查特定方法的文档,例如xgboost。
自己在不同的数据集上运行它们以获得一些直觉也很好,例如:vanillaSVM
会在异常值的数据上失败,xgb
会很好。
推荐阅读
- database - 如何在 Cassandra 中对数据进行建模以避免无用的重复
- arrays - 读取多个字符串的 VBScript 函数无法正常工作
- r - R-interp:相同的输入和输出坐标(x,y,xo,yo),多个数据值向量(z)。我可以跳过一些步骤吗?
- php - 在 Redhat 上使用 PDO 设置 SQL Server
- git - 如何从提交修正中恢复意外删除的未暂存更改?
- python - 使用docker运行tensorflow服务时如何选择一个指定的GPU
- python - 无法使用 openpyxl 在 Jupyter 中加载工作簿
- arrays - Swift - 获取自定义对象数组中所有数组的计数
- mysql - 存储过程无法识别参数。我的代码有什么问题?
- laravel - Vuetable-2 不适用于 Laravel Passport