1. 概述
主要思想是将弱分类器组装成一个强分类器。
在分类问题中,主要思想是将弱分类器组装成一个强分类器。具体地,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称基分类器),然后组合这些弱分类器,构成一个强分类器。
大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。
最著名的提升方法:AdaBoost
2. Boosting的两个核心问题
如何改变权重?如何将分类器融合成强分类器?
(1)如何在每一轮如何改变训练数据的权值或概率分布?
通过提高那些在前一轮被弱分类器分错样例的权值,减小前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。
(2)通过什么方式来组合弱分类器?
通过加法模型将弱分类器进行线性组合
三、AdaBoost
==============
AdaBoost是Boosting最著名的提升方法
1. 概述
刚开始训练时对每一个训练例赋相等的权重,然后用该算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在每次学习以后更注意学错的样本,从而得到多个预测函数。通过拟合残差的方式逐步减小残差,将每一步生成的模型叠加得到最终模型。
主要思想:需不断修改误分样本的权重
2. AdaBoost两个问题如何解决
(1)每一轮如何改变训练数据的权值或概率分布?
AdaBoost:提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类样本的权值
(2)如何将弱分类器组合成一个强分类器?
AdaBoost:加权多数表决,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
3. 算法思想
4. 算法流程
5. 算法过程图示
四、Bagging(装袋法)
==================
1. 概述
装袋法(Bagging)又称为Bootstrap Aggregating,其原理是通过组合多个训练集的分类结果来提升分类效果
装袋法由于多次采样,每个样本被选中的概率相同,因此噪声数据的影响下降,所以装袋法太容易受到过拟合的影响
Bagging的算法原理和 boosting不同在于训练数据的选取,它的弱学习器之间没有依赖关系,可以并行生成,而Bagging使用的是所有的训练数据。
bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,我们就可以得到T个采样集,对于这T个采样集,我们可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器。
采样方法:自助采样
2. 自助采样方法(有放回)
自助采样法(Bootstrap sampling),即对于m个样本的原始训练集,我们每次先随机采集一个样本放入采样集,接着把该样本放回,也就是说下次采样时该样本仍有可能被采集到,这样采集m次,最终可以得到m个样本的采样集,由于是随机采样,这样每次的采样集是和原始训练集不同的,和其他采样集也是不同的,这样得到多个不同的弱学习器。
五、随机森林
==========
1. 概述
随机森林(Random Forest,简称RF)是bagging的一个扩展变种,他的随机体现在:采样的随机性,属性选择的随机性。
随机森林使用了CART决策树作为弱学习器;
2. 算法思想
在使用决策树的基础上,RF对决策树的建立做了改进,对于普通的决策树,我们会在节点上所有的n个样本特征中选择一个最优的特征来做决策树的左右子树划分,但是RF通过随机选择节点上的一部分样本特征,这个数字小于n,假设为nsub, 然后在这些随机选择的nsub个样本特征中,选择一个最优的特征来做决策树的左右子树划分。这样进一步增强了模型的泛化能力。(即:)
如果nsub=n,则此时RF的CART决策树和普通的CART决策树没有区别。nsub越小,则模型越健壮,当然此时对于训练集的拟合程度会变差。也就是说nsub越小,模型的方差会减小,但是偏倚会增大。
在实际案例中,一般会通过交叉验证调参获取一个合适的nsub的值。
3. 随机森林的优缺点:
优点:
1) 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。
2) 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3) 在训练后,可以给出各个特征对于输出的重要性
4) 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5) 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
6) 对部分特征缺失不敏感。
缺点:
1)在某些噪音比较大的样本集上,RF模型容易陷入过拟合。
- 取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果。
4. Bagging VS 随机森林
随着个体学习器数目的增加,随机森林通常胡收敛到更低的泛化误差;随机森林的训练效率常优于Bagging。
(一开始,随机森林的效果较差,弱学习器性能不够好,随着弱学习器数量增加,其性能更好。整体来说,随机森林比Bagging效果更好)
五、集成的合成策略
=============
1. 学习器的组合可以从三个方面带来好处
(b)计算的原因(学习算法往往会出现局部最小,泛化性较差,通过使用多个学习器的组合,可以达到更好的效果)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可获取,包括答案解析。
比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可获取,包括答案解析。
[外链图片转存中…(img-V4fUgA6l-1713346749938)]