集成学习学习总结
目录
- 心得体会
- 一、思维导图
- 1、数学基础
- 2、回归问题
- 3、分类问题
- 4、集成学习
- 5、Bagging
- 6、Boosting
- 7、Stacking
- 二、辨析集成学习三种模型
心得体会
参加了开源学习组织datawhale的组队学习,圆满完成集成学习的任务,也带领组员一起坚持了下来,真正领略到机器学习的魅力,写这篇csdn总结一下我所学到的知识,以便后续巩固学习。在这里谈一下我的感悟:在集成学习的学习中,第一次实践了相关的完整案例,解决给出的实际问题,带入到情景中处理数据,利用集成学习的模型与方法得出预测的相关结论。一趟旅途终了,体会到其实对数据的处理与认知才是最重要的,现在的集成学习的相关模型已经很成熟了,大家都是“调包侠”,有了模型的结构,只要稍加学习训练就能够跑出一样的结果,但真正的区别度在于数据的处理与认知,这决定了集成学习的上限。另外,会跑模型与调包其实是远远不够的,集成学习的难点在于理论推导部分,数学知识的严格证明才是乐趣所在。之前做项目在路演稿里曾经说过这样一句话:“大数据时代谁掌握了数据,谁就掌控了生产资料。谁掌握了算法,谁就掌握了生产力。”直到今天我才明白数据与算法的魅力所在,凭借数据实践算法,利用算法得到数据,数据的处理与模型的融合才是真正的艺术。
在这里感谢datawhale开源社区的小伙伴们给予的学习帮助,今后的学习也要一样加油呀
提示:以下是本篇文章正文内容
一、思维导图
1、数学基础
2、回归问题
3、分类问题
4、集成学习
5、Bagging
6、Boosting
7、Stacking
二、辨析集成学习三种模型
这里转载datawhale的优秀回答
【每日一问】谈谈你对集成学习的见解与认识,描述一下它们的优势所在?
Datawhale优秀回答者:HipHopMan
集成方法有很多种,一种叫做bagging,bagging的思想是,我把我的数据做一点微小的调整,就得到了一个跟原来不一样的数据集,我就能多训练一个模型出来,模型的数量多了,解释力自然就增强了。比如说我原来有100个人的数据,其中有两个分别叫Tony和Lily,我把Tony这条数据删掉,用Lily的数据来替换,这样就得到了一个跟原来不一样的船新的数据集,这个过程叫做Bootstrap
每一个Bootstrap数据集都能用来训练一次模型,所以我们重复这个过程,比如重复1000次,一次是Tony替代Cici,一次是Ivy替代Yuki,这样每一次都是不一样的数据,也就可以训练1000次,得到了1000个决策树,我们把这1000个决策树打包到一起作为我们最终的模型,这个打包就叫做bagging
一般我们会把bagging跟随机森林一起叠加使用,在数据点的处理上,我们使用bagging来创造许多组(比如说1000组)bootstrap数据,对于每一组数据,我们使用随机森林来训练模型,最后再把所有模型的预测结果bagging起来
第二种集成的方法是boosting,boosting跟bagging一样都属于集成的思想,本质上都是训练很多模型,用数量堆积出质量。还是举1000个model,100个variable的例子,bagging是训练1000个等价的模型,比如说用随机森林,这些模型都是同样随机从100个里面选10个variable出来训练,每一个模型之间是同一级别的、互不干扰的
但boosting的思路和bagging不同,boosting里每一个模型都是基于上一个模型来进行优化,它的核心思想是训练1000个模型,每一个模型在上一个模型的基础上再好一点点
比如说第一个模型的RSS是10,这时候我们基于第一个模型定个小目标,先让RSS减到9,这就是我们的第二个模型,第三个模型的RSS减到8.5…如此往复,得到1000个model,再综合这1000个model得到最终的模型
第三种也是最后一种集成方法是stacking,stacking在字面上更好理解一点,就是堆积、堆砌。如果说bagging和boosting一般都是在决策树的范围内使用,stacking的运用范围会更广一点。例如对于同一个问题,假设还是预测一个人是不是柠檬精,我们首先用Logistic回归跑一遍,再用LDA跑一遍,再用SVM跑一遍,最后用决策树再跑一遍,然后我们用一种方法,比如说是majority polling或是权重加成把这些结果结合到一起,这就是一个stacking的过程
stacking的一个使用场景是我们有很多专家小组,每个小组都训练出了一个自己的模型,当这些模型难以取舍的时候,就干脆一口气打包带走,用stacking把这些模型结合起来,这样谁也不得罪,而且通常也能取得较好的效果。另外在参加各种建模比赛的时候,为了追求一点点精度,我们可以多训练几个模型然后结合起来,有时候也能得到很好的效果。
参考:【1】https://blog.csdn.net/Datawhale/article/details/88563300
【2】https://blog.csdn.net/bymaymay/article/details/77824574
2301_78136285: 请问有index 的数据吗
balabala1q: --with-device=ch4:ofi 2>&1 | tee c.txt请问是什么意思
DarkAge_max: 安装时需要注意,“在最底层添加的路径MPICH=/mpi-install”。
chiyanls: 请问,执行mpirun-profile,提示段吐核,是表示没装好嘛?
m0_73832543: 全程在root下安装吗?