机器学习爬大树之(GBDT原理)--二分类篇

         上一篇文章讲了GBDT的回归篇,其实这一篇文章的原理的思想基本与回归相同,不同之处在于分类任务需用的损失函数一般为logloss、指数损失函数。

          回顾下logistic regression有助于我们进一步的了解GBDT是如何进行分类的,线性模型是我们使用最简单的模型,但却蕴涵着机器学习中一些重要的基本思想,我们把线性回归模型简写为:

                                         \large f(x) = \boldsymbol{w^Tx}+b

          考虑二分类任务,其输出标记为\large y\in \left \{ 0,1 \right \},而线性回归模型产生的预测值\large z=\boldsymbol{w^Tx}+b是实值,于是,我们需要将实值\large z转换成\large \left \{ 0,1 \right \}的值,单位阶跃函数不连续,因此我们希望找到能在一定程度上近似单位阶跃函数的“替代函数”,并希望它是单调可微的。对数几率函数(logistic function)正是这样一个常用的替代函数:

                                          \large y=\frac{1}{1+e^{-z}}

         对数几率函数是一种“Sigmoid”函数,它将\large z值转化为一个接近0或1的y值,我们将\large z=\boldsymbol{w^Tx}+b带入上式得:

                                          \large y=\frac{1}{1+e^{-\boldsymbol{(w^Tx+b})}}

        进行如下变换:

                                           \large ln\frac{y}{1-y}=\boldsymbol{w^T}+b(线性的)

        若将\large y视为样本\large x作为正例的可能性,则\large 1-y是其反例的可能性,两者的比值:

                                           \large \frac{y}{1-y}

        称为“几率(odds)”,反映了\large x作为正例的相对可能性。对几率取对数则得到“对数几率”(log odds):

                                            \large ln\frac{y}{1-y}

        若将上式中的\large y视为类后验概率估计\large p(y=1\mid \boldsymbol{x}),则上式可重写为:

                                           \large ln\frac{p(y=1\mid \boldsymbol{x})}{p(y=0\mid \boldsymbol{x})}=\boldsymbol{w^Tx}+b

       算出:

                                           \large p(y=1\mid \boldsymbol{x})= \frac{\boldsymbol{w^Tx}+b}{1+e^{(\boldsymbol{w^Tx}+b)}}

                                          \large p(y=0\mid \boldsymbol{x})= \frac{1}{1+e^{(\boldsymbol{w^Tx}+b)}}                                            

     对于给定的样本集\large \left \{ x_i,y_i \right \}_{1}^{N},\large y_i\in \left \{ 0,1 \right \},可以应用极大似然估计法估计模型参数,从而得到logistic模型

     设:                             \large p(y=1\mid \boldsymbol{x})= p_1(x)   ;           \large p(y=0\mid \boldsymbol{x})=1- p_1(x)        

     似然函数为:

                                        \large \prod _{i=1}^{N}\left [ p_1(x_i) \right ]^{y_i}\left [ 1-p_1(x_i) \right ]^{1-y_i}

     对数似然函数为:

                                      \large L(w,b)=\sum _{i=1}^{N}\left [ y_ilogp_1(x_i)+(1-y_i)log(1-p_1(x_i)) \right ] 

      对上式求极限找到的\large w,b即我们所求的模型(下面我们讲损失函数)                     

     这里要求\large L(w,b)的极大值,那么加个负号就是等价于求其最小值,所以上式加上负号我们可以认为是一种损失函数,就是我们说的对数损失函数

                                     \large L(y_i,F_m(x_i)))={\color{Red} -}\sum _{i=1}^{N}\left [ y_ilogp_1(x_i)+(1-y_i)log(1-p_1(x_i)) \right ]

      其中\large p_1(x_i)=\frac{1}{1+e^{-\boldsymbol{F_m(x_i)}}};对上式化简:

                                                                  \large =-\sum _{i=1}^{N}\left (y_ilogp_1(x_i)+ log(1-p_1(x_i))-y_i log(1-p_1(x_i))\right )

                                                                 \large =-\sum _{i=1}^{N}\left (y_ilog\frac{p_1(x_i)}{1-p_1(x_i)}+ log(1-p_1(x_i)) \right )

                                                                 \large {\color{Red} =-\sum _{i=1}^{N}\left ( y_iF_m(x_i)-log(1+e^{F_m(x_i)}) \right )}

       而\large {\color{Red} \frac{\partial (L(y_i,F_m(x_i)))}{\partial F_m(x_i)}=y_i-\frac{1}{1+e^{-F_m(x_i)}}}

        参考如下:只不过下面的推导是对\large x求偏导,方法一模一样:

      

猜你喜欢

转载自blog.csdn.net/weixin_41580067/article/details/85062090