老饼讲解:一步一步上手学习
由于在使用梯度下降算法训练逻辑回归模型时,需要用到损失函数的梯度,所以在这里我们一起来推导一下逻辑回归的梯度公式是怎么来的,有兴趣的可以看一下,没兴趣的可以跳过,毕竟是一些枯燥的体力活。
在逻辑回归逻辑回归损失函数的梯度之前,我们先来看看逻辑回归的损失函数。
逻辑回归的损失函数为交叉熵损失函数,如下:
其中,
:第i个样本的预测概率
:第i个样本的类别
:样本个数
为了方便推导逻辑回归损失函数的梯度,我们这里引入逻辑回归损失函数的第二种形式,如下:
它的推导过程如下:
在这种形式中,就更加显式地把参数W展示在损失函数之中,更有利于我们对梯度的推导。
好了,下面我们正式来推导一下逻辑回归损失函数的梯度公式,也就是,为了简化梯度公式的推导难度,不妨求出单个参数的梯度,再进一步推广到整体参数的梯度。
先对W的单个元素j进行求导,如下:
------由于 ,上式可写为-----
---------进一步用矩阵形式替换连加形式-----------
// X(:,j)代表X的第j列
将上面单参数的梯度公式,按形式推广到整体参数,则有:
其中
X :矩阵, m样本数, n为特征个数
即一行为一个样本,一列为一特征
y : 样本的真实标签,列向量
p :模型预测的概率,列向量
好了,这样就得到逻辑回归损失函数的梯度公式了。
逻辑回归的梯度推导也没什么技巧,硬推就可以了,纯粹的体力活。如果要说技巧,那就是选择不同的损失函数形式,会有不同的推导难度,这里我们预先将W显式地展示在损失函数中,可以给梯度推导过程带来一定程度的便利。
评论