GBDT算法总结_螺旋箍筋长度计算实例

(6) 2024-05-24 15:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说GBDT算法总结_螺旋箍筋长度计算实例,希望能够帮助你!!!。

 

前向分布算法

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第1张

 

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第2张

负梯度拟合

在上一节中,我们介绍了GBDT的基本思路,但是没有解决损失函数拟合方法的问题。针对这个问题,大牛Freidman提出了用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个CART回归树。第t轮的第i个样本的损失函数的负梯度表示为

                                      GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第3张

    利用(xi,rti)(i=1,2,..m)(xi,rti)(i=1,2,..m),我们可以拟合一颗CART回归树,得到了第t颗回归树,其对应的叶节点区域Rtj,j=1,2,...,JRtj,j=1,2,...,J。其中J为叶子节点的个数。

    针对每一个叶子节点里的样本,我们求出使损失函数最小,也就是拟合叶子节点最好的的输出值ctjctj如下:

                                      GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第4张

    这样我们就得到了本轮的决策树拟合函数如下:

                                              GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第5张

    从而本轮最终得到的强学习器的表达式如下:

                                          GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第6张

    通过损失函数的负梯度来拟合,我们找到了一种通用的拟合损失误差的办法,这样无轮是分类问题还是回归问题,我们通过其损失函数的负梯度的拟合,就可以用GBDT来解决我们的分类回归问题。区别仅仅在于损失函数不同导致的负梯度不同而已。

 

损失函数

 

在GBDT算法中,损失函数的选择十分重要。针对不同的问题,损失函数有不同的选择。

1.对于分类算法,其损失函数一般由对数损失函数和指数损失函数两种。

(1)指数损失函数表达式:

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第7张

(2)对数损失函数可分为二分类和多分类两种。

2.对于回归算法,常用损失函数有如下4种。

(1)平方损失函数

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第8张

(2)绝对损失函数

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第9张

对应负梯度误差为:

GBDT算法总结_螺旋箍筋长度计算实例_https://bianchenghao6.com/blog__第10张

(3)Huber损失,它是均方差和绝对损失的折中产物,对于远离中心的异常点,采用绝对损失误差,而对于靠近中心的点则采用平方损失。这个界限一般用分位数点度量。损失函数如下:

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复