这是我参与2022首次更文挑战的第24天,活动详情查看:2022首次更文挑战
集成学习是什么?如何实现?与其他学习方法的异同?具体的应用场景?
有关集成学习,想先回答这几个问题
集成学习
什么是集成学习
集成学习就是将多个训练模型相融合得出结论。每个模型能够训练数据中的不同特征,因此将多个模型相融合能够得到更好的训练效果
如何实现?
集成学习会分两类:
- 序列集成 - 学习器按顺序生成 - 依赖关系 - 错误样本更高权重,提高整体预测效果
- 并行集成 - 并行生成 - 独立 平均 降低错误
常见方法
bagging
bagging原理
有放回抽样 - k个模型投票得到分类结果 - 可并行
bagging应用
随机森林 = Bagging + 决策树
boosting
弱分类器组装成强分类器 - 只能顺序 需解决的问题
- 每轮如何改变数据权重和概率分布?
- 通过什么方式组合 - 加法模型【AdaBoost(先均分,训练后失败例赋较大权重)、GBDT(每一次 减少上一次残差)】
Boosting应用
AdaBoost + 决策树 = 提升树
Gradient Boosting + 决策树 = GBDT - GBDT的改进 - GBT
stacking
训练多个模型的输出 集成学习主要会涉及到2层:第一层是复杂模型对数据进行训练。第二层是对训练后的数据进行结果输出
集成学习面试题
-
什么是集成学习算法? 多个弱分类模型集成 - 强分类
-
集成学习主要有哪几种框架?
bagging、boosting、stacking -
简单介绍一下bagging,常用bagging算法有哪些?
多次采样,均分权重,集体投票 随机森林 -
简单介绍一下boosting,常用boosting算法有哪些? 并行,后一个分类器的输入取决于前一个分类器的残差
Adaboost, GBDT - XGBoost -
boosting思想的数学表达式是什么?
基函数的线性组合 -
简单介绍一下stacking,常用stacking算法有哪些?
多次采样,将输出作为最后的输入特征
KNN,随机森林,朴素贝叶斯组成,预测结果由loqistic回归组合 -
你意识到你的模型受到低偏差和高方差问题的困扰,应该使用哪种算法来解决问题呢?为什么?
低偏差 - 预测值接近实际值 - 足够灵活,泛化能力差 - bagging解决 高方差 - 正则化/可变重要性图表中的前n个特征 -
常用的基分类器是什么?
决策树 - 无需采样调整样本权重,很好地引入了随机性 -
可否将随机森林中的基分类器,由决策树替换为线性分类器或K-近邻?请解释为什么?
不能 -
对样本敏感的分类器更适用于Bagging
线性分类器/K-近邻 较为稳定的分类器 - 方差小
线性分类器/K-近邻 可能会由于Bagging的采样,导致在训练中更难收敛,增大偏差