随机森林和GBDT的几个核心问题
优势是accuracy高,但缺点是速度会降低,并且解释性interpretability会差很多,也会有overfitting的现象。
为什么要最大化information gain?
从root到leaf,使得各class distribution的Entropy不断减低。如果相反的话,就会增加预测的不确定性。
熵entrophy的意义是什么?
首先信息量的大小和可能情况的对数函数取值有关系。变量的不确定情况越大,熵越大。
如何避免在随机森林中出现overfitting?
对树的深度的控制也即对模型复杂度的控制,可以在一定程度上避免overfitting,简言之就是shallow tree。此外就是prune,把模型训练比较复杂,看合并节点后的subtree能否降低generation error。随机选择训练集的subset,也可以实现避免overfitting。
Bagging的代价是什么?
Bagging的代价是不用单次决策树来做预测,具体哪个变量起到重要作用变得未知,所以bagging改进了预测准确率但损失了解释性。
Random forest和bagged tree的区别是什么?
随机森林的构建过程中,当考虑每个split时,都只从所有p个样本中选取随机的m个样本,作为split candidate。特别的m大概会取p的平方差。其核心目的是decorrelate不同的树。bagged tree和random forest的核心区别在于选择subset的大小。
什么是GBDT?
通过boosting的方法迭代性的构建week decision tree的ensemble。其优势是不需要feature normalization,feature selection可以在学习过程中自动的体现。并且可以指定不同的loss function。但是boosting是一个sequential process,并非并行化的。计算非常intensive,对高维稀疏数据的feature vector表现相当poor。
GBDT训练的步骤是什么?
使用information gain来获得最好的split。然后根据best split来partition数据。低于cut的数据分至left node,高于cut的数据分至right node。接下来进行boosting,梯度函数可以有多种形式,Gradient是下一棵树的目标。
MapReduce如何实现GBDT呢?
每一个mapper得到<feature value> 以及<residual weight>。reducer积累cuts并且sort。Split数据依据cut,并且输出到DFS。
Classification tree和Regression tree的区别是什么?
回归树的output label是continnuous,而分类树的output label是离散的。因此目标函数也要做相应的调整。特别的regression tree所给出的是probabilistic, non-linear regression,regression tree可以associate未知的独立的测试数据和dependent,continuous的预测。
- 顶
- 0
- 踩
随机森林和GBDT的几个核心问题的更多相关文章
- 常见算法(logistic回归,随机森林,GBDT和xgboost)
常见算法(logistic回归,随机森林,GBDT和xgboost) 9.25r早上面网易数据挖掘工程师岗位,第一次面数据挖掘的岗位,只想着能够去多准备一些,体验面这个岗位的感觉,虽然最好心有不甘告终 ...
- 机器学习中的算法(1)-决策树模型组合之随机森林与GBDT
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- 机器学习中的算法——决策树模型组合之随机森林与GBDT
前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over- ...
- 决策树模型组合之(在线)随机森林与GBDT
前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时, 单决策树又有一些不好的地方,比如说容易over ...
- 机器学习中的算法-决策树模型组合之随机森林与GBDT
机器学习中的算法(1)-决策树模型组合之随机森林与GBDT 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使 ...
- 随机森林与GBDT
前言: 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比如说容易over- ...
- 决策树模型组合之随机森林与GBDT
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- 决策树模型组合之随机森林与GBDT(转)
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- OpenCV:使用 随机森林与GBDT
随机森林顾名思义,是用随机的方式建立一个森林.简单来说,随机森林就是由多棵CART(Classification And Regression Tree)构成的.对于每棵树,它们使用的训练集是从总的训 ...
随机推荐
- MQTT详解以及在IoT中的应用
MQTT定义: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分.该协议支持所有平台, ...
- (后台)El表达式格式化两位小数
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>引入标签库. < ...
- localStorage,sessionStorage的使用
最近因为项目上需要使用到客户端存储,所以稍微研究了一下,以下说说自己的理解和使用经验 1.调用方法相同 各自都包含以下几种操作: //根据key获取对应的值; window.sessionStorag ...
- 用Python实现数据结构之队列
队列 队列与栈的类型很相似,但它遵循的原则是先进先出(FIFO),也就是元素插入的时候只能在该数据结构的末端,而删除只能删除最前面的元素.队列同样应用广泛,例如打印机的队列或者是一个web服务器响应请 ...
- 【Ansible 文档】【译文】模版(Jinja2)
Templating (Jinja2) 正如在 variables 部分描述的那样, Ansible 使用Jinja2模版来启用动态表达式和访问变量. Ansible 扩展了许多 filtes 和 t ...
- jeDeta 日历控件的那些坑
经过亲自测试 jeDeta 发现 jeDeta 还是有坑的: 1.参数 options 里面的 format 有很多种格式 API 里面写的是 format: 'YYYY-MM-DD hh:mm:ss ...
- 洛谷P1223
#include <iostream>#include <algorithm>#include <cstdio>using namespace std;int b[ ...
- python之面向对象进阶
接口类 抽象类 钻石继承 多态 鸭子类型 接口类 接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface, ...
- centos7下安装docker(12.2自定义网络)
通常默认的情况下我们使用的是docker的bridge的网络,用户也可以根据自己的业务需要,创建user-defined docker 提供三种user-defined网络驱动:bridge,over ...
- 小度之家SDK功能介绍
https://developer.dueros.baidu.com/doc/device-devkit/intro_markdown