一开始听到GBDT的时候,表示完全没听过,所以查了查相关资料研究一下,发现李航的《统计学习方法》里面就有讲,只不过没有叫GBDT这个名字就是了。
GBDT主要知识点分为两个,一个是回归树(DT,Regression Decision Tree),Gradient Boosting(GB)
Regression Decision Tree回归树
对于回归树和决策树来说,一般都是放到一块去说的,统一叫做CART方法(Classification And Regression Tree)。
但是之前只是对决策树比较熟,对回归树平时用的太少了, 之前对回归树感觉只是知道概念,但是不知道具体的一些细节。看了一些文章觉得也没写的太明吧,于是干脆去看源码。很多细节顿时一目了然。参考资料如下:
《机器学习实战》笔记之九——树回归
《机器学习实战》第九章回归树错误
下面列出了几个细节:
- 叶子结点里面储存的是一个线性回归的方程参数。所以回归树本质上相当于一个分段的线性函数,如何分段呢,就是通过决策树去分段。这种方法其实已经不叫回归树了,叫模型树【或者叫树回归】。回归树特制的情况下,是指叶子结点的值是一个点【这个点是叶子节点中所有点的均值】。模型树的可解释性是它优于回归树的特点之一。模型树也具有更高的预测准确度。利用树生成算法对数据进行切分,且每份切分数据都能很容易被线性模型所表示。
- 在递归建树的过程中,选择最优切分特征和最优切分点位,是依次遍历所有特征,然后再遍历所有的点在这个特征上的取值,找到一个最优的切分点。
以上这两个是我之前不是很理解的小细节,看了源码之后感觉好了很多。