【机器学习-11】 逻辑回归的交叉熵损失函数
梯度下降的求导过程是针对逻辑回归的交叉熵损失函数的推导,具体步骤如下:
1. 损失函数(交叉熵)
J(w,b)=−1m∑i=1m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]J(\mathbf{w}, b) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(f_{\mathbf{w},b}(\mathbf{x}^{(i)})) + (1-y^{(i)}) \log(1 - f_{\mathbf{w},b}(\mathbf{x}^{(i)})) \right]J(w,b)=−m1i=1∑m[y(i)log(fw,b(x(i)))+(1−y(i))log(1−fw,b(x(i)))]
其中:
• fw,b(x)=σ(wTx+b)=11+e−(wTx+b)f_{\mathbf{w},b}(\mathbf{x}) = \sigma(\mathbf{w}^T \mathbf{x} + b) = \frac{1}{1+e^{-(\mathbf{w}^T \mathbf{x} + b)}}fw,b(x)=σ(wTx+b)=1+e−(wTx+b)1(Sigmoid函数)
• ( m ) 是样本数量,y(i)y^{(i)}y(i)是真实标签(0或1)。
2. 对权重 wjw_jwj 和偏置 bbb 的偏导数
(1)权重 wjw_jwj 的偏导
∂J(w,b)∂wj=1m∑i=1m(fw,b(x(i))−y(i))xj(i)\frac{\partial J(\mathbf{w}, b)}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} \left( f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)} \right) x_j^{(i)}∂wj∂J(w,b)=m1i=1∑m(fw,b(x(i))−y(i))xj(i)
推导过程:
- 对Sigmoid函数求导:σ′(z)=σ(z)(1−σ(z))\sigma'(z) = \sigma(z)(1-\sigma(z))σ′(z)=σ(z)(1−σ(z))。
- 通过链式法则:
∂J∂wj=1m∑i=1m[y(i)f⋅∂f∂wj−1−y(i)1−f⋅∂f∂wj]\frac{\partial J}{\partial w_j} = \frac{1}{m} \sum_{i=1}^{m} \left[ \frac{y^{(i)}}{f} \cdot \frac{\partial f}{\partial w_j} - \frac{1-y^{(i)}}{1-f} \cdot \frac{\partial f}{\partial w_j} \right]∂wj∂J=m1i=1∑m[fy(i)⋅∂wj∂f−1−f1−y(i)⋅∂wj∂f] - 合并同类项后代入 ∂f∂wj=f(1−f)⋅xj(i)\frac{\partial f}{\partial w_j} = f(1-f) \cdot x_j^{(i)}∂wj∂f=f(1−f)⋅xj(i),最终化简得到上述结果。
(2)偏置 bbb的偏导
∂J(w,b)∂b=1m∑i=1m(fw,b(x(i))−y(i))\frac{\partial J(\mathbf{w}, b)}{\partial b} = \frac{1}{m} \sum_{i=1}^{m} \left( f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)} \right)∂b∂J(w,b)=m1i=1∑m(fw,b(x(i))−y(i))
推导类似权重,区别在于 ∂f∂b=f(1−f)\frac{\partial f}{\partial b} = f(1-f)∂b∂f=f(1−f)。
3. 梯度下降更新规则
• 权重更新:
wj:=wj−α⋅1m∑i=1m(fw,b(x(i))−y(i))xj(i)w_j := w_j - \alpha \cdot \frac{1}{m} \sum_{i=1}^{m} \left( f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)} \right) x_j^{(i)}wj:=wj−α⋅m1i=1∑m(fw,b(x(i))−y(i))xj(i)
• 偏置更新:
b:=b−α⋅1m∑i=1m(fw,b(x(i))−y(i))b := b - \alpha \cdot \frac{1}{m} \sum_{i=1}^{m} \left( f_{\mathbf{w},b}(\mathbf{x}^{(i)}) - y^{(i)} \right)b:=b−α⋅m1i=1∑m(fw,b(x(i))−y(i))
其中 α\alphaα是学习率。
关键点说明
- Sigmoid的导数性质:梯度中的 f(1−f)f(1-f)f(1−f) 项在求导时被约去,使得结果形式与线性回归的均方误差类似(但损失函数不同)。
- 向量化实现:实际编程中通常用矩阵运算(如XT(f−y)X^T (f - y)XT(f−y))替代逐参数更新。
- 逻辑回归特性:交叉熵损失对错误分类的惩罚更严厉(梯度更大),收敛速度优于均方误差。


逻辑回归交叉熵损失函数梯度推导
1054

被折叠的 条评论
为什么被折叠?



