美文网首页
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

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