集成学习

集成学习的基本策略:

Boosting

Boosting是一种串行模式,主要代表算法有:Adaboost、GDBT
Boosting的基本策略:先构建一个基学习器,新的学习器是在前面的基学习器的基础上生成的。基学习器之间存在依赖关系

基本思路:

先从初始训练集构建一个基学习器,所有数据集的样本都是等权重的;
根据上一个学习器的结果调整样本权重,增加分类错误样本的曝光度(增大权重);
基于调整后的样本分布,构建新的分类器;
重复上述操作;
测试时,对各学习器加权得到最终结果

特点:

每次学习都会使用全部训练样本

Bagging

Bagging是一种并行模式,主要代表算法有:随机森林
基于并行策略:基学习器之间不存在依赖关系,可同时生成。

基本思路:

利用自助采样法对训练集随机采样,重复进行T次
自助采样法:'随机有放回'的在数据集中(样本为m)抽取m个样本
样本在m次采样中始终没有被采样的概率是0.368,即每次被采样的概率是63%
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190312152123725.gif)
特点:偏好不稳定的学习器作为基学习器

基学习器的选择标准:

1、基学习器要具有比较好的表现和泛华能力
2、不稳定的学习器更适合做基学习器:样本的分布波动对模型的影响比较大
(1)不稳定的学习器容易受到样本分布(方差变化)的影响,很好的引入了随机性;有助于提高模型的泛化能力
(2)为了更好的引入随机性,有时会随机选择一个属性子集中的最优属性分裂,而不是全局最优(随机森林)

哪些模型适合做基学习器:决策树、神经网络

使用决策树做基学习器的原因:
1、决策树可以通过剪枝快速调整,具有较好的表现和泛华能力
2、决策树可以方便的将样本权重整合到训练过程中
3、决策树是一种不稳定的学习器
神经网络适合做基学习器的原因:
调整神经元的数量、层数、初始权重也能很好的引入随机性和改变模型的表达能力

线性分类器可以作为基分类器嘛?

在Boosting中:
Boosting是通过不断减少模型的训练误差,通过更新样本权重的方式来加强模型的学习能力,从而减少偏差。但是Boosting不会显著地减少方差。而线性分类器本身具有方差小的特点,所以两者具有一定的相关性。
Xgboost就支持以线性分类器作为基分类器。
在Bagging中:不推荐
线性分类器属于稳定的分类器,对数据不敏感
甚至可能因为Bagging的随机有放回的采样方式,导致在训练中难以收敛,增大集成分类器的误差

Adaboost

算法步骤:

  1. 初始化训练数据(每个样本)的权值(1/N)
  2. 训练弱分类器:在训练过程中,如果某个样本被正确分类,那么在下次训练中,它的权重会被降低;如果某个样本被错误分类,那么它的权重会被提高。同时得到弱分类器对应的话语权。更新权重后的样本集被用于训练下一个分类器。
  3. 将各个训练得到的弱分类器合成强分类器。各弱分类器的训练过程结束后,分类误差率小的弱分类器话语权较大,其在最终的分类函数中起着较大的决定作用;反之,误差率大的弱分类器在最终的分类器中话语权较小。

随机森林

随机森林的基础单元是决策树,对于一个输入样本,N颗树就有N个分类结果。最终的输出是由所有的分类结果投票得出,得票次数最多的为最终的输出。

随机森林中每棵树的生成:

  1. 对每棵树而言,设训练集大小为N,随机且有放回的从训练集抽取N个训练样本(同一个样本可以出现多次,也可以不出现)
  2. 每个样本的特征维度为M,指一个常数m <<M,随机从m个特征中选取m个特征子集,每次分类时,从m个特征中选取最优的
  3. 每棵树都尽量最大程度的生长,并且不剪枝

随机森林分类错误的因素:

随机森林任意两棵树的相关性:相关性越大,错误率越高

森林中每棵树的分类能力:每棵树的分类能力越强,整个森林的错误率越低


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>