简单易学的机器学习算法——梯度提升决策树GBDT
Posted zhiyong_will
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单易学的机器学习算法——梯度提升决策树GBDT相关的知识,希望对你有一定的参考价值。
梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法是近年来被提及比较多的一个算法,这主要得益于其算法的性能,以及该算法在各类数据挖掘以及机器学习比赛中的卓越表现,有很多人对GBDT算法进行了开源代码的开发,比较火的是陈天奇的XGBoost和微软的LightGBM。
一、监督学习
1、监督学习的主要任务
监督学习是机器学习算法中重要的一种,对于监督学习,假设有 m 个训练样本:
其中,
X(i)=x(i)1,x(i)2,⋯,x(i)m
称为第
i
个样本的特征,
X(i)→Fy(i)
为了能够对映射 F(X) 进行求解,通常对模型设置损失函数 L(y,F(X)) ,并求得在损失函数最小的情况下的映射为最好的映射:
F∗=argminF(X)L(y,F(X))
对于一个具体的问题,如线性回归问题,其映射函数的形式为:
F(X;W)=WX=w0+w1x1+w2x2+⋯+wnxn
此时对于最优映射函数 F(X;W) 的求解,实质是对映射函数中的参数 W 的求解。对于参数的求解方法有很多,如梯度下降法。
2、梯度下降法
梯度下降法(Gradient Descent,GD)算法是求解最优化问题最简单、最直接的方法。梯度下降法是一种迭代的优化算法,对于优化问题:
其基本步骤为:
- 随机选择一个初始点 w0
- 重复以下过程:
- 决定下降的方向: di=−∂∂wf(w)∣wi
- 选择步长 ρ
- 更新: wi+1=wi+ρ⋅di
- 直到满足终止条件
梯度下降法的具体过程如下图所示:
由以上的过程,我们可以看出,对于最终的最优解 w∗ ,是由初始值 wSpark2.0机器学习系列之6:GBDT(梯度提升决策树)GBDT与随机森林差异参数调试及Scikit代码分析