新浪体育-首页 10年专注环保设备研发制造 环保设备【http://chevytothelevy.com】系统设计\制作\安装一条龙服务
新浪体育 中文网址:【麻豆视频.COM】
当前位置:新浪体育 > 新浪体育 > 案例分类1 >
14

gbdt原理理解和分类实例

作者:admin 来源:未知 时间:1625281641 点击:

[文章前言]:实在惭愧,博客上次还写了对xgboost的原理理解,结果后面经过某个事情发现自己 这部分其实之前在学习的时候看的李航老师的《统计学习方法》中的8.4节,并认真推导了他书中回归的

  实在惭愧,博客上次还写了对xgboost的原理理解,结果后面经过某个事情发现自己

  这部分其实之前在学习的时候看的李航老师的《统计学习方法》中的8.4节,并认真推导了他书中回归的例子,是以mse作为损失函数的,但并不知道在分类中,原来其实也是以回归的形式来做的。

  首先,先解释一下boosting(提升)。提升方法的核心就是“三个臭皮匠,赛过一个诸葛亮”的思路,从弱学习算法出发,反复学习,得到一系列的弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布)。这句话一开始不太容易理解,以分类问题来解释就是:调用弱学习算法得到一个弱分类器,这个弱分类器得到了各个训练数据属于某个类别的概率,(同原本样本的先验概率有一定差距,不然怎么是弱分类器),即改变了训练数据的概率分布,再调用弱学习算法得到一个弱分类器,如此反复,得到一系列弱分类器

  所以,对于提升方法来说,需要解决两个问题:一是每一轮学习中,如何改变训练数据的权值或者概率分布;二是如何将弱分类器组合成一个强分类器。

  多说一句adaboost,我实际手写推导学习过,里面让预测结果偏差大的树的权重在下一轮训练中变大的数学方法还是很巧妙了,模型会逐步自己关注那些被错误分类的点,adaptive也代表着adaboost名字里面前半部分ada,但是这样也会导致模型对离群样本点过于关注,有噪音时模型效果很差)

  了解了所谓的boosting后,我们得到上面的两个问题,对于第一个问题,在GBDT中,其实就是通过拟合损失函数的负梯度值在当前模型的值,这里需要注意的,在以前的机器学习算法中,我们都是通过直接拟合真实值,而在GBDT里,我们拟合的目标不再是真实值,而是一个梯度值,当然这个梯度值和真实值有关系,后面部分会说明。

  对于第二个问题,GBDT中的基分类器当然是决策树。但是决策树有很多比如C4.5、ID3、CART等等。那么用的是哪种树?在GBDT里,用的是CART(分类与回归树),同时Sklearn里面实现GBDT时用的基分类器也是CART。

  简单介绍一下CART。一般的CART是这样的:用于分类任务时,树的分裂准则采用基尼指数,用于回归任务时,用MSE(均方误差)。

  注意:当然在回归任务中,分裂准则也不再局限于用MSE,也可以用MAE,还可以用Friedman_mse(改进型的mse)。

  上面提到,CART可以用于回归和分类,那么到底用回归还是分类呢?上面我们已经提到了,GBDT拟合的目标是一个梯度值,这个值当然是一个连续值或者说实值,所以在GBDT里,通通都是回归树。

  有了基分类器后,如何将这些基分类器组合起来?boosting方法一般是使用加法模型。

  对于算法的第4步,在这里先简单提一下,其目的就是为了求一个最优的基分类器。对于不同的基分类器有不同的寻找,比如,对于决策树,寻找一个最优的树的过程其实依靠的就是启发式的分裂准则。

  对于算法的第5步,是一个Line search 的过程,具体可以参考Friedman的文章。在GBDT里,通常将这个过程作为Shrinkage,也就是把ρm做为学习率ρm做为学习率,后面实践部分可以看到效果。

  对于算法的第6步,求得新的基分类器后,利用加法模型,更新出下一个模型Fm(x)

  大家可以发现,对于算法的第1步我没有提到,这是因为,这个需要在讲完第3步才能够说明。算法的第1步是一个初始化的过程。为什么需要初始化?很简单,因为每次在计算负梯度值时需要用到前一个模型Fm−1(xi)预测的值。对于我们训练的第一个模型m=1而言需要有F0(xi)的存在。

  那么F0(x)初始化为多少?这个取决于loss function的选择,下面给出一般的做法:

  这里需要注意的是,这里就是利用对数几率来初始化,分子∑yi就是正样本的个数,分母就是负样本的个数。

  对于步骤4: 其想表达的是以{y~i,xi}N为训练数据,拟合一颗回归树,最终得到叶子节点的区域

  在步骤4我们得到叶子节点对应的区域,那么叶子节点的取值为多少?也就是这颗树到底输出多少? 在Friedman的论文中有这部分的推导。这里简单总结一下: 叶子节点的取值和所选择的loss function有关。对于不同的Loss function,叶子节点的值也不一样。

  最后一个步其实就是把前面已经训练的m−1颗树预测的结果加上刚训练好的第m颗树的预测结果。

  GBDT和xgboost在竞赛和工业界使用都非常频繁,能有效的应用到分类、回归、排序问题,虽然使用起来不难,但是要...

  初看Xgboost,翻了多篇博客发现关于xgboost原理的描述实在难以忍受,缺乏逻辑性,写一篇供讨论。 ——以下...

  今天读蒋勋的一篇散文,无关岁月,写她母亲对过年的讲究。我想起了我的祖母。她总是把日子过得有滋有味,每一个节日都很讲...

  老公是对太监的俗称,可是现在南方人对自己的丈夫称为“老公”,这难道是隐含着自己的丈夫没有性功能?我一直不解。

  周六的下午,忙里偷闲,看了一部叫做奇迹男孩的电影,哭了个底儿掉。在看电影之前,本来以为是一部小清新励志片,展现这个...

  以上就是小编为大家介绍的gbdt原理理解和分类实例的全部内容,如果大家还对相关的内容感兴趣,请持续关注江苏某某环保设备有限公司

  本文标题:gbdt原理理解和分类实例  地址:/case/alfl1/1693.html



欢迎来到:❥❥新浪体育❤chevytothelevy.com❤新浪体育,,胜利的阵营方更是可以接受敌对阵营的顶礼膜拜,获取无上荣耀。

XML地图 新浪体育

环保设备公司,10年品牌打造行业正规!

【Copyright ©2017-2021 新浪体育-首页 】  版权所有

网站地图 新浪体育