!!必须要澄清的误区:提起决策树(DT, Decision Tree) 绝大部分人首先想到的就是C4.5分类决策树。但如果一开始就把GBDT中的树想成分类树,那就是一条歪路走到黑,一路各种坑,最终摔得都要咯血了还是一头雾水说的就是LZ自己啊有木有。咳嗯,所以说千万不要以为GBDT是很多棵分类树。决策树分为两大类,回归树和分类树。前者用于预测实数值,如明天的温度、用户的年龄、网页的相关程度;后者用于分类标签值,如晴天/阴天/雾/雨、用户性别、网页是否是垃圾页面。这里要强调的是,前者的结果加减是有意义的,如10岁+5岁-3岁=12岁,后者则无意义,如男+男+女=到底是男是女? GBDT的核心在于累加所有树的结果作为最终结果,每棵树学的是之前所有树结论和的残差。这也就是“Boost”思想的应用,就像前面对年龄的累加(-3是加负3),而分类树的结果显然是没办法累加的,所以GBDT中的树都是回归树,不是分类树,这点对理解GBDT相当重要(尽管GBDT调整后也可用于分类但不代表GBDT的树是分类树)。
这里的残差是怎样计算的呢??所以“G” 就派上用场了,也就是梯度下降思想。梯度下降作用的是损失函数,使其损失函数迭代到极小值。在GBDT 中处理不同的问题,其损失函数是不一样的。
梯度下降:
下面对处理不同的问题分别给出不同的损失函数:
一、GBDT回归算法
知道上面的损失函数,利用下面的算法求得最强表达式。
二、GBDT分类算法
1、二分类问题
2、多分类问题
这些损失函数都是可以通过梯度下降的方法来求得极值。
还有一小部分是对GBDT的正则化处理。