梯度提升算法和随机森林算法思想

  在天池或者kaggle的比赛中,xgboost算法算是一大杀器,但在学习xgboost前先对gbdt和rf得有一个了解:

  GBDT思想:先用一个初始值来学习一棵决策树,叶子处可以得到预测的值,以及预测之后的残差,然后后面的决策树就要基于前面决策树的残差来学习,直到预测值和真实值的残差为零。最后对于测试样本的预测值,就是前面许多棵决策树预测值的累加。

GBDT主要的优点有:

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

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

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

GBDT的主要缺点有:

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

  RF思想:利用随机组合的方式构建出决策树,形成森林,在决策的时候森林中的每棵树都进行投票,共同决定。

优点:

        1.很多的数据集上表现良好;

        2.能处理高维度数据,并且不用做特征选择;

        3.训练完后,能够给出那些feature比较重要;

        4.训练速度快,容易并行化计算。

缺点:

        1.在噪音较大的分类或回归问题上会出现过拟合现象;

        2.对于不同级别属性的数据,级别划分较多的属性会对随机森林有较大影响,则RF在这种数据上产出的数值是不可信的。

GBDT算法:

  http://blog.csdn.net/puqutogether/article/details/41957089

  http://www.cnblogs.com/pinard/p/6140514.html

原文地址:https://www.cnblogs.com/hbwxcw/p/7163704.html