LR简介
-
逻辑回归(Logistic Regression)是机器学习经典算法之一。虽然名为回归,但是其实一个分类算法,常用于解决二分类问题。在线性回归中,我们通过线性函数
来预测第
个样本
的值。虽然不能直接应用于二分类问题中(
)。为了预测二分类问题结果的概率,逻辑回归在线性回归的基础上引入了sigmoid函数。
-
sigmoid函数表达式如下,它是一个连续单调递增的S型函数,可以将任意值映射为0 ~ 1之间的一个新值。在机器学习中,经常使用该函数将预测值映射为概率值。
sigmoid函数.png
-
此时,二分类的条件概率可以表示为:
-
上式中,
表示在特征
的条件下类别为1的概率,
表示类别为0的概率。
-
(sigmoid函数)对
偏导数求解如下:
逻辑回归损失函数
-
逻辑回归输出的是样本属于每个类别的概率,采用的参数估计方法是最大似然估计。 假设有一组相互独立的训练样本
,样本的类别
。首先将二分类条件概率的两个公式结合起来,可以写为:
-
则样本的似然函数为:
-
对上述公式取对数,得到对数似然函数:
-
类似线性回归损失函数,逻辑回归损失函数是在
的基础上乘以
得到: ,下述损失函数也称为 交叉熵损失函数,或负对数似然损失;
权重
的更新公式
-
使用梯度下降法求解逻辑回归模型的参数。根据梯度下降法,参数
更新公式为:
-
最终,逻辑回归参数
更新公式如下:
softmax回归
- 逻辑回归可以很好地解决二分类问题。那么对于多分类问题如何处理呢?此时需要用到softmax回归模型。可以将softmax回归理解为逻辑回归模型在多分类问题的推广,不同的是分类标签由2个变成了多个。最有名的多分类问题就是MNIST手写数组识别任务,其类别标签有10个。
- 首先来看softmax函数形式,假设给定输入特征
,函数给定每一个类别
的预测概率为
,总共有
个类别,则softmax函数形式为如下:softmax将一个向量变成了一个概率分布,使得所有概率之和为1;
- softmax损失函数定义如下:当类别数
为2时,softmax回归退化为逻辑回归; 下式中
为指示函数;
注意:
(1)逻辑回归可以很好地解决二分类问题,经过适当应用也能解决多分类问题。对于多分类问题,为每个类别分别建立一个二分类器,如果有个类别,则建立
个二分类器;
(2)通过softmax回归和多个二分类器都可以解决多分类问题,那么该如何选择呢?这取决于多分类问题中,类别之间是否互斥,即样本能否同时属于多个类别。如果类别之间是互斥的,样本不可能同时属于多个类别,则选择softmax回归。如果样本之间不是互斥的,则选择多个二分类器更为合适。
参考资料
- 《深入理解XGBoost:高效机器学习算法与进阶》 - 何龙
网友评论