集成算法(E内设目标了learning)
目的: 让机器学习效果更好,类似集成电路。 集成学习 Bagging:训练多个模型取平均(各模型相互独立,并行) Boosting:从弱学习期开始,通过加权来进行训练(隔膜型间存在关系,串行),随机森林就是一种Bagging Stacking:聚合多个分类或回归模型
RF
随机森林: 每次从训练集中随机选择一定比例的数据,作为决策树的输入数据,因为输入数据不同,没课决策树的结果也不同,决策树之间相互独立,互不影响,随机森林的结果是所有决策树中出现次数最高的那个结果。 优势: 能够处理高维度的数据,并不用做特征选择;在训练完后,他能够给出哪些特征比较重要;容易做成并行方法,速度比较快;可视化强,容易理解 需要多少棵树 理论上树越多越好,但实际上基本超过一定数量就趋于稳定了。
梯度提升树(GBDT)
GBDT算法属于Boosting,举个例子,label1等于1000,第一棵树预测为950,第二棵树预测第一棵树的残差,label2等于50,它的预测是30的话,那么第二棵树的输出就是950+30=980,以此类推。 因为RF提升算法必须满足随着树的增加,结果一定是更好的,因此对增加的树是有要求的,下面这个公式就是判断添加的这棵树是否满足要求的依据,它的意思就是,如果前一棵树的输出和当前树的输出之和,与真实值y之间的损失要小的话,那么就可以加上这棵树,argmin函数的作用是取损失最小时的参数值,这里的参数值就是这颗新加的树了。 转自:https://www.bilibili.com/video/BV1rq4y1p7nJ?p=106
Boosting模型
典型代表:AdaBoost,XGBoost AdaBoost会根据前一次的分类结果效果调整数据权重,如果这个数据分错了,那么在下一次分类中它的权重就会增大,最终每个分类器会根据自身的准确性来确定各自的权重,在合体
Stacking
堆叠:各种分类器 第一阶段得出各自结果,第二阶段再用前一阶段结果做训练。
|