集成学习(一)(简述集成学习)
更多内容请关注微信公众号:
文章图片
一、集成学习介绍
集成学习要回答的两个问题:
- 怎么学习基模型?
- 怎么综合所有基模型的预测结果?
- Bagging
- 并行:各个基模型之间不存在强依赖关系,代表是随机森林算法。
- 每个基模型基于对训练集进行有放回抽样得到子训练集(0.632 采样法)进行训练。
- 使用投票法综合基模型的预测结果,票数最多的类别为预测类别。
- 并行:各个基模型之间不存在强依赖关系,代表是随机森林算法。
- Boosting
- 串行:基模型之间存在强依赖关系,必须串行生成。
- 每个基模型都会在前一个基模型学习的基础上进行学习。
- 综合方式为加权法。
- 串行:基模型之间存在强依赖关系,必须串行生成。
- Stacking
- 串行。
- 先用全部数据训练好基模型,然后基模型对每个训练样本进行的预测,其预测值将作为训练样本的特征值,得到新的训练样本,然后基于新的训练样本进行训练得到下一个基模型,得到最终预测结果。
- 串行。
- 训练样本可能无法选择出最好的单个模型。
- 假设能找到最好的模型,但由于算法运算的限制无法找到最优解,只能找到次优解,采用集成学习可以弥补算法的不足。
- 可能算法无法得到最优解,而集成学习能够得到近似解。例如:最优解是一条对角线,而单个决策树得到的结果只能是平行于坐标轴的,但是集成学习可以去拟合这条对角线。
方差:描述样本上训练出来的模型在测试集上的表现,要想方差表现的好,需要简化模型,减少模型的复杂度,但这样容易欠拟合。
在集成学习框架中,通过计算模型的期望和方差,我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的期望为 ,方差为 ,模型的权重为 ,两两模型间的相关系数为 。
因为集成学习是加法模型,那么有:
模型的总体期望:
模型总体方差(利用协方差的性质,协方差与方差的关系):
模型的准确度可由偏差和方差共同决定:
我们可以使用模型的偏差和方差来近似描述模型的准确度;
- Bagging:
整体模型的偏差与基模型近似,而随着模型的增加可以降低整体模型的方差,故其基模型需要为强模型;
- Boosting
整体模型的方差近似等于基模型的方差,而整体模型的偏差由基模型累加而成,故基模型需要为弱模型。
2.2 Bagging的偏差与方差 对于Bagging来说,每个基模型的权重等于 ??且期望近似相等,所以可以得到:
通过上式可以得到:
- 整体模型的期望等于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。
- 整体模型的方差小于等于基模型的方差,当且仅当相关性为 1 时取等号,随着基模型数量增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于 1 吗?并不一定,当基模型数增加到一定程度时,方差公式第一项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。
随机森林是经典的基于 Bagging 框架的模型,并在此基础上通过引入特征采样和样本采样来降低基模型间的相关性,在公式中显著降低方差公式中的第二项,略微升高第一项,从而使得整体降低模型整体方差。
2.3 Boosting 的偏差与方差 对于 Boosting 来说,由于基模型共用同一套训练集,所以基模型间具有强相关性,故模型间的相关系数近似等于 1,针对 Boosting 化简公式为:
通过上式可以得到:
- 整体模型的方差等于基模型的方差,如果基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,Boosting 框架中的基模型必须为弱模型。
- 此外 Boosting 框架中采用基于贪心策略的前向加法,整体模型的期望由基模型的期望累加而成,所以随着基模型数的增多,整体模型的期望值增加,整体模型的准确度提高。
推荐阅读
- 数据结构->顺序表的操作
- C语言系统学习学习手册|【C语言知识精讲③】函数栈帧的创建和销毁(全程图解)
- #define的用法体会
- C语言|vscode配置C语言环境
- 头歌Java|十一、方法的使用
- 头歌Java|一、Java初体验(头歌实践平台)
- 学习记录|C语言学习(1)VScode配置C语言环境(超详细)
- 数据库与缓存双写一致性
- 《前端运维》一、Linux基础--05Shell运算符
- Redis(一)(基本数据类型与底层存储结构)