我的个人微信公众号:Microstrong
微信公众号ID:MicrostrongAI
微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步!目录:
1. GBDT多分类算法
1.1 Softmax回归的对数损失函数
1.2 GBDT多分类原理
2. GBDT多分类算法实例
3. 手撕GBDT多分类算法
3.1 用Python3实现GBDT多分类算法
3.2 用sklearn实现GBDT多分类算法
4. 总结
5. Reference
本文的主要内容概览:
1. GBDT多分类算法
1.1 Softmax回归的对数损失函数
当使用逻辑回归处理多标签的分类问题时,如果一个样本只对应于一个标签,我们可以假设每个样本属于不同标签的概率服从于几何分布,使用多项逻辑回归(Softmax Regression)来进行分类:
其中,
为模型的参数,而
可以看作是对概率的归一化。一般来说,多项逻辑回归具有参数冗余的特点,即将
同时加减一个向量后预测结果不变,因为
,所以
。
假设从参数向量
中减去向量
,这时每一个
都变成了
。此时假设函数变成了以下公式:
从上式可以看出,从
中减去
完全不影响假设函数的预测结果,这表明前面的Softmax回归模型中存在冗余的参数。特别地,当类别数为2时,
利用参数冗余的特点,我们将所有的参数减去
,上式变为:
其中
。而整理后的式子与逻辑回归一致。因此,多项逻辑回归实际上是二分类逻辑回归在多标签分类下的一种拓展。
当存在样本可能属于多个标签的情况时,我们可以训练
个二分类的逻辑回归分类器。第
个分类器用以区分每个样本是否可以归为第
类,训练该分类器时,需要把标签重新整理为“第
类标签”与“非第
类标签”两类。通过这样的办法,我们就解决了每个样本可能拥有多个标签的情况。
在二分类的逻辑回归中,对输入样本
分类结果为类别1和0的概率可以写成下列形式:
其中,
是模型预测的概率值,
是样本对应的类标签。
将问题泛化为更一般的多分类情况:
由于连乘可能导致最终结果接近0的问题,一般对似然函数取对数的负数,变成最小