上一篇文章讲了GBDT的回归篇,其实这一篇文章的原理的思想基本与回归相同,不同之处在于分类任务需用的损失函数一般为logloss、指数损失函数。
回顾下logistic regression有助于我们进一步的了解GBDT是如何进行分类的,线性模型是我们使用最简单的模型,但却蕴涵着机器学习中一些重要的基本思想,我们把线性回归模型简写为:
考虑二分类任务,其输出标记为,而线性回归模型产生的预测值
是实值,于是,我们需要将实值
转换成
的值,单位阶跃函数不连续,因此我们希望找到能在一定程度上近似单位阶跃函数的“替代函数”,并希望它是单调可微的。对数几率函数(logistic function)正是这样一个常用的替代函数:
对数几率函数是一种“Sigmoid”函数,它将值转化为一个接近0或1的y值,我们将
带入上式得:
进行如下变换:
(线性的)
若将视为样本
作为正例的可能性,则
是其反例的可能性,两者的比值:
称为“几率(odds)”,反映了作为正例的相对可能性。对几率取对数则得到“对数几率”(log odds):
若将上式中的视为类后验概率估计
,则上式可重写为:
算出:
对于给定的样本集,
,可以应用极大似然估计法估计模型参数,从而得到logistic模型
设: ;
似然函数为:
对数似然函数为:
对上式求极限找到的即我们所求的模型(下面我们讲损失函数)
这里要求的极大值,那么加个负号就是等价于求其最小值,所以上式加上负号我们可以认为是一种损失函数,就是我们说的对数损失函数:
其中;对上式化简:
而;
参考如下:只不过下面的推导是对求偏导,方法一模一样: