各种集成方法比较

各种集成方法比较

1. AdaBoost和RF

  • AdaBoost改变了训练数据的权值,即样本的概率分布,减少上一轮被正确分类的样本权值,提高被错误分类的样本权值,而随机森林在训练每棵树的时候,随机挑选部分训练集进行训练。
  • 在对新数据进行预测时,AdaBoost中所有树加权投票进行预测,每棵树的权重和错误率有关,而随机森林对所有树的结果按照少数服从多数的原则进行预测。

2. AdaBoost和GBDT

  • AdaBoost通过调整错分的数据点的权重来改进模型
  • GBDT是从负梯度的方向去拟合改进模型

3. RF和GBDT

  • Random Forest 是bootstrap(bagging)的方法的tree based ensemble: 即有放回的对训练数据采样,分别训练decision tree, 最后用简单的投票方式作为最终结果。
  • GBDT 是 boosting 的代表,每次训练都是使用所有数据,但是认为最终结果是多颗树的叠加,训练完一棵树以后,将结果的残差作为下一棵树的训练目标。在这个过程中还使用了梯度近似残差的方法。

3.1. GBDT和RF的相同点

  • 都是由多棵树组成
  • 最终的结果都是由多棵树一起决定

3.2. GBDT和RF的不同点

  • 组成RF的树可以是分类树,也可以是回归树;而GBDT只由回归树组成;
  • 组成RF的树可以并行生成;而GBDT只能是串行生成;
  • 对于最终的输出结果而言,RF采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来;
  • RF对异常值不敏感,GBDT对异常值非常敏感;
  • RF对训练集一视同仁,GBDT是基于权值的弱分类器的集成;
  • RF是通过减少模型方差提高性能,GBDT是通过减少模型偏差提高性能。
  • RF每次训练集的样本权重是数据集中样本的比例权重,Adaboost是根据上一轮训练误差来更新样本权重,GBDT计算的是残差,要求残差最小化而非误差
  • RF的子采样是有放回的抽样,GBDT的子采样是无放回的抽样,是否放回主要针对的是每次抽取的一个样本;如果每棵树抽样的整体都是100个样本,抽样80个,随机森林抽样是放回的,最极端的80个可能全部都重复,即一个样本;无放回抽样主要是样本不会重复,GBDT的每棵树都会用80个不同的样本来训练

3.4. 为什么GBDT的树深度较RF通常都比较浅

  • 对于机器学习来说,泛化误差可以理解为两部分,分别是偏差(bias)和方差(variance);偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。
  • 当模型越复杂时,拟合的程度就越高,模型的训练偏差就越小;但此时如果换一组数据可能模型的变化就会很大,即模型的方差很大,所以模型过于复杂的时候会导致过拟合。
  • 对于RF来说由于并行训练很多不同的分类器的目的就是降低这个方差(variance)。所以对于每个基分类器来说,目标就是如何降低这个偏差(bias),所以我们会采用深度很深甚至不剪枝的决策树
  • 对于GBDT来说由于利用的是残差逼近的方式,即在上一轮的基础上更加拟合原数据,所以可以保证偏差(bias),所以对于每个基分类器来说,问题就在于如何选择 variance 更小的分类器,即更简单的分类器,所以我们选择了深度很浅的决策树。

4. XGBOOST和GDBT

  • 将树模型的复杂度加入到正则项中,来避免过拟合,因此泛化性能会优于GBDT。

  • GDBT在函数空间中利用梯度下降法进行优化,XGB在函数空间中使用了牛顿法进行优化。GDBT在优化中使用了一阶导,而XGB对损失函数进行了二阶泰勒展开,用到了一阶和二阶导, 可以加快优化速度。

  • XGB除了支持CART作为基分类器之外,还支持线性分类器,在使用线性分类器的时候可以使用L1(alpha),L2正则化(lambda)。

  • 列抽样:XGBoost借鉴了随机森林的做法,支持列抽样(特征子采样),不仅防止过拟合,还能减少计算。

  • 在寻找最佳分割点时,考虑到传统的贪心算法效率较低,实现了一种近似贪心算法,用来加速和减小内存消耗,首先根据特征分布的百分位数(percentiles)提出候选分裂点。然后,该算法将连续特征映射到由这些候选点分割的桶中,然后仅仅将桶边界上的特征的值作为分裂点的候选,从而获取计算性能的提升。分桶有两种模式:

    • 全局模式:在算法开始时,对每个维度分桶一次,后续的分裂都依赖于该分桶并不再更新。

      • 优点:只需要计算一次,不需要重复计算。
      • 缺点:在经过多次分裂之后,叶结点的样本有可能在很多全局桶中是空的。
    • 局部模式:除了在算法开始时进行分桶,每次拆分之后再重新分桶。

      • 优点:每次分桶都能保证各桶中的样本数量都是均匀的。
      • 缺点:计算量较大。
  • XGBoost支持并行处理,XGBoost的并行不是在模型上的并行,而是在特征上的并行,将特征列排序后以block的形式存储在内存中,在后面的迭代中重复使用这个结构。这个block也使得并行化成为了可能,其次在进行节点分裂时,计算每个特征的增益,最终选择增益最大的那个特征去做分割,那么各个特征的增益计算就可以开多线程进行。

  • 对缺失值的处理:对于特征的值有缺失的样本,XGBoost可以自动学习出它的分裂方向。

    • 在逻辑实现上,为了保证完备性,会分别处理将missing该特征值的样本分配到左叶子结点和右叶子结点的两种情形,计算增益后选择增益大的方向进行分裂即可。

4.1. XGBoost相关知识

4.2. XGBoost中gamma参数的含义

  • 分裂节点时,损失函数减小值只有大于等于gamma节点才分裂,gamma值越大,算法越保守,越不容易过拟合,但性能就不一定能保证,需要平衡。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • sklearn、XGBoost、LightGBM的文档阅读小记 文章导航 目录 1.sklearn集成方法 1.1...
    nightwish夜愿阅读 12,548评论 1 49
  • 博客园:梯度提升树(GBDT)原理小结博客园:一步一步理解GB、GBDT、xgboost知乎:机器学习算法中GBD...
    闫阿佳阅读 5,022评论 0 5
  • 之前介绍过梯度下降法与牛顿法,GBDT与XGBoost就与这两种方法有关。 boosting(包括GBDT、XGB...
    小松qxs阅读 24,004评论 0 31
  • LR和SVM的区别 相同点:1、都是监督、分类算法,且一般处理二分类问题2、两个方法都可以增加不同的正则化项,如l...
    账号已删除阅读 2,763评论 1 8
  • 东瀛出游日记5 第五天3/24星期天 早上餐厅提前开门,以适应游客上岸时间。4000多人同时用餐离船,也算个大工程...
    骑侠阅读 238评论 1 2