GBDT算法
一、简介 在GBDT的迭代中,假设我们前一轮迭代得到的强学习器是 f t-1 (x) 损失函数是 L(y,f t-1 (x)) 我们本轮迭代的目标是学习到弱学习器h t (x),让本轮的损失 L(t,f t-1 (x)+h t (x)) 最小。 假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。如果我们的迭代轮数还没有完,可以继续迭代下面,每一轮迭代,拟合的岁数误差都会减小。 也就是说我们要求的是高偏差,然后一步一步慢慢缩小这个偏差。 二、负梯度拟合 初始化若学习分类器是: 每一轮都有一个损失函数要去拟合,因为是偏差,所以找不到一个真实值来去拟合。因此提出了一种方法: 用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个cart回归树 。 第t轮的第i个样本的损失函数的负梯度表示为: 利用(x i ,r ti )(i=1,2,...m),我们可以拟合一颗CART回归树,得到了第t颗回归树,其对应的叶节点区域Rtj,j=1,2,...,J。其中J为叶子节点的个数。 每个叶子节点里有多个样本,然后求出使损失函数最小时的输出值ct j (类似于标签): 这样我们就得到了本轮的决策树拟合函数如下: 本轮最终得到的强学习器的表达式如下: 三、GBDT常用损失函数 分类 指数损失函数