决策树与随机森林(三)--提升

转自July--4月机器学习算法班

由决策树和随机森林引发思路

随机森林的决策树分布采样建立,相对独立。

思考:

前m-1棵树是否会影响第m棵树?

各个决策树组成决策森林后,最后的投票过程可否在建立决策树时决定呢?


提升

Adaboost/GDBT

提升的概念:提升是一个机器学习技术,可以用于回归和分类,它每一步产生一个弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为提升(Gradient boosting)

梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合(基函数);提升算法通过迭代的选择一个负梯度方向上的基函数来逐渐逼近局部极小值。这种在函数域的梯度提升观点对机器学习的很多领域有深刻影响

提升的理论意义:如果一个问题存在弱分类器,则可以通过提升的办法得到强分类器。

Adaboost

Adaboost,是英文“Adaptive Boosting”自适应增强的缩写,是一种机器学习方法

其自适应性在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。

但在一些问题中,AdaBoost方法相对于大多数其他学习算法而言,不会很容易出现过拟合现象。

梯度提升决策树GBDT

梯度提升的典型基函数即决策树(尤其是CART)

在第m步的梯度提升是根据伪残差数据计算决策树tm(x)。

参数设置与正则化

对于训练集拟合过高会降低模型的泛化能力,需要使用正则化技术来降低过拟合。

--对于复杂模型增加惩罚项,如:模型复杂度正比于叶节点数目或者叶节点预测值的平方和等。

--用于决策树剪枝

叶节点数目控制了树的层数,一般选择4

叶节点包含的最少样本数目

防止出现过小的叶节点,降低预测方差

梯度提升迭代次数M:

增加M可降低训练集的损失值,有过拟合风险

交叉验证

你可能感兴趣的:(决策树与随机森林(三)--提升)