美文网首页
rf、adaboost、gbdt

rf、adaboost、gbdt

作者: cassie_xs | 来源:发表于2019-10-14 23:02 被阅读0次

一:模型融合

    模型融合又叫集成学习,由若干弱模型合成强模型。即每个分类器都是欠拟合的

二:模型三要素

2.1:模型

        有参模型:参数固定与特征有关

        无参模型:参数不固定    如svm knn 贝叶斯 随着样本数的增加而增加

        判别式:对条件概率建模

        生成式:对联合概率建模

2.2:损失函数

例子:

    线性回归:最小二乘

    逻辑回归:logloss

    Svm:最大间隔

    gbdt:回归:均方误差或者绝对值误差. 分类:二分类:指数损失函数 k分类:logloss也  叫对数损失函数

2.3:求解方案

    线性回归:最小二乘法

    逻辑回归:梯度下降

    Svm: smo

三:为什么要进行模型融合

1:单个模型容易发生过拟合,提高模型的泛化能力

2:单个模型预测精度不高,多个模型往往能提升预测能力

3:对于数据集过大或者过小,可以进行划分有放回的操作产生不同的数据集,然后使用数据训练不同的分类器,最终在合成为一个大的分类器

4:对于多个异构的特征集的时候,很难进行融合,那么考虑每个数据集构建一个分类模型

然后多个模型融合

5:模型融合算法成功的关键在于能保证弱分类器的多样性,融合不稳定的学习算法能得到更明显的性能提升。

四:模型融合方案

    投票法 分类

    均值法 回归问题

五:集成学习两个框架

Bagging

就是采用🈶放回抽样 bootstrap抽样,又叫重采样,自助抽样法,K次抽样的样本训练来训练得到k个子模型,然后对K个模型结果进行voting或者averaging融合。因为样本之间的差异性保证了子模型之间的差异性

RF bagging+决策树(cart)

随机森林的随机有两个层面 通过bootstrap自助采样方法随机采样+特征随机选择,注:特征选择是随机选取几个特征,然后取最优特征,而非直接用GINI系数进行筛选

高偏差低方差 准确度低但是稳定

Xgboost 低偏差高方差

Rf特点

它可以处理数千个输入变量无需变量删除

它给出了对分类中哪些变量重要的估计

随着森林建设的进展,它会产生对泛化误差的内部无偏估计 即是稳定

它可以处理去缺失数据,并在大部分数据丢失时保持准确性

它可以处理不平衡数据集

无需训练集和测试集,可以用袋外误差,没有抽到的样本作为测试集的误差,故无需切割训练集和测试集

Feature_importance 做特征筛选

Oobscore 袋外误差评估模型

案列

From sklearn.ensemble import RandomForestClassifier

Imputer 数据填充

六:Boosting

在每一次训练都更加关注上一次模型错判的样本,目的是加强错判样本的权重,让模型通过不断地迭代优化效果越来越好

每个模型都有一个权重,boosting追求的是准确度

adaboost

随机森林没有公式,adaboost有公式

Adaboost 思想:

解释:原始数据训练M个样本=-=训练得到弱学习器==计算算误差权重==计算弱学习器权重==通过误差更新样本权重,依次进行直到迭代结束

Adaboost 是在函数空间优化,不是在参数空间优化

******adaboost推导、弱学习器的权重计算推导、更新样本权重推导******详见以下图片 

boosting要求及分类器支持样本权重 svm lr

GBDT :

GBDT是用来拟合残差的,下面利用梯度下降法的思想来推导,如下图所示:

为了防止过拟合,GBDT在训练时引入了衰减算子,即是在拟合时,不是拟合残差,而是残差的\alpha 倍,这样就使得迭代次数增多,从而使得弱分类器的个数增多。

GBDT的基分类器:

首先,GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类,GBDT使用的决策树通通都是都是CART回归树。为什么不用CART分类树呢?因为GBDT每次迭代要拟合的是残差,是连续值所以要用回归树。

算法:

回归、二分类、多分类推导

回归问题残差计算:以MSE为例 -(y-F(x)),初始值为所有样本点实际值的和,若损失函数为MAE,初始值为中位数

二分类残差计算:如下图所示,

其中初始值y_{i} =\frac{1}{2}log( \frac{\sum_{i}^ny_{i}}{\sum_{i}^n(1-y_{i})} )其中\sum_{i=1}^ny_{i} 是正样本个数,分母为负样本个数

以二分类为例:

区别:

bagging是并行 高偏差低方差 精度低但是稳定

boosting是串行的  低偏差 高方差 精度高但是不稳定

adaboost不容易过拟合

最后总结下GBDT的优缺点。

    GBDT主要的优点有:

    1) 可以灵活处理各种类型的数据,包括连续值和离散值。

    2) 在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对SVM来说的。

    3)使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

    GBDT的主要缺点有:

    1)由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。

参考文章如下

https://blog.csdn.net/qq_22238533/article/details/79199605

https://blog.csdn.net/u014465639/article/details/73911669

相关文章

  • rf、adaboost、gbdt

    一:模型融合 模型融合又叫集成学习,由若干弱模型合成强模型。即每个分类器都是欠拟合的 二:模型三要素 2.1:模型...

  • adaboost和xgboost的区别和联系

    机器学习算法中GBDT与Adaboost的区别与联系是什么? Adaboost Adaboost是模型为加法模型,...

  • 集成学习之Boosting-gbdt

    一、什么是GBDT 二、GBDT与传统Adaboost的不同之处 三、GBDT的负梯度拟合 四、GBDT算法流程 ...

  • 机器学习算法:GBDT

    1. Adaboost 的全局过程 2.AdaBoost 和GradientBoost 的公式 3.GBDT 算法...

  • 传统机器学习笔记 - GBDT(二)

    学习GBDT的原理和细节(二) 在GBDT的原理之后,拓展GBDT相关的细节,包括和Adaboost的异同,以及G...

  • GBDT集成算法(梯度提升树)

    一、算法思想 GBDT是集成学习Boosting算法中的一种,它与Adaboost相比,Adaboost算法利用...

  • boost家族

    boost家族 常见算法: Adaboost GBDT XGboost Adaboost每一轮的基分类器都可以独挡...

  • 机器学习总结

    1. RF, GBDT 的区别; GBDT,XGboost 的区别 GBDT在训练每棵树时候只能串行,不能并行,在...

  • Boost-GBDT

    GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。回顾下Adaboost...

  • 03-GBDT

    1. GBDT概述 GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。回...

网友评论

      本文标题:rf、adaboost、gbdt

      本文链接:https://www.haomeiwen.com/subject/axhvpctx.html