(转)交叉熵损失函数的推导过程与直观理解

本文深入探讨了交叉熵损失函数的推导过程及其直观理解,适用于逻辑回归和神经网络等二分类问题。通过详细的数学推导,解释了该函数如何衡量真实标签与预测概率之间的差距。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【时间】2019.01.09

【题目】(转)交叉熵损失函数的推导过程与直观理解

【转载链接】简单的交叉熵损失函数,你真的懂了吗?

一、交叉熵损失函数的推导过程

     说起交叉熵损失函数「Cross Entropy Loss」,脑海中立马浮现出它的公式:

                      
     我们已经对这个交叉熵函数非常熟悉,大多数情况下都是直接拿来使用就好。但是它是怎么来的?为什么它能表征真实样本标签和预测概率之间的差值?上面的交叉熵函数是否有其它变种?也许很多朋友还不是很清楚!没关系,接下来我将尽可能以最通俗的语言回答上面这几个问题。

【推导过程】
我们知道,在二分类问题模型:例如逻辑回归「Logistic Regression」、神经网络「Neural Network」等,真实样本的标签为 [0,1],分别表示负类和正类。模型的最后通常会经过一个 Sigmoid 函数,输出一个概率值,这个概率值反映了预测为正类的可能性:概率越大,可能性越大。

Sigmoid 函数的表达式和图形如下所示:


二、交叉熵损失的直观理解

### 二元交叉熵损失函数的图像可视化 二元交叉熵损失函数通常用于二分类问题,其目标是通过最小化该损失函数来优化模型性能。对于单个样本 \(i\) 的真实标签 \(y_i \in \{0, 1\}\) 和预测概率 \(p_i\)(即模型输出),二元交叉熵损失可以表示为: \[ L(p_i, y_i) = -[y_i \log(p_i) + (1-y_i)\log(1-p_i)] \] 其中: - 当 \(y_i = 1\) 时,损失主要由 \(-\log(p_i)\) 控制; - 当 \(y_i = 0\) 时,损失主要由 \(-\log(1-p_i)\) 控制。 #### 公式推导意义 上述公式的直观含义在于惩罚预测值远离真实值的情况。当预测值接近于实际标签时,损失会逐渐减小;反之,则增大[^4]。 以下是绘制二元交叉熵损失函数曲线的 Python 示例代码: ```python import numpy as np import matplotlib.pyplot as plt def binary_cross_entropy_loss(y_true, p_pred): epsilon = 1e-15 # 防止 log(0) p_pred_clipped = np.clip(p_pred, epsilon, 1 - epsilon) return -(y_true * np.log(p_pred_clipped) + (1 - y_true) * np.log(1 - p_pred_clipped)) # 绘图范围 p_values = np.linspace(0.01, 0.99, 100) # 对应两种情况下的损失计算 loss_y_1 = [binary_cross_entropy_loss(1, p) for p in p_values] loss_y_0 = [binary_cross_entropy_loss(0, p) for p in p_values] plt.figure(figsize=(8, 6)) plt.plot(p_values, loss_y_1, label="Loss when $y=1$", color='blue') plt.plot(p_values, loss_y_0, label="Loss when $y=0$", color='red', linestyle="--") plt.title("Binary Cross Entropy Loss Function", fontsize=16) plt.xlabel("Predicted Probability ($p$)", fontsize=14) plt.ylabel("Loss Value", fontsize=14) plt.legend(fontsize=12) plt.grid(True) plt.show() ``` 此代码片段展示了如何针对不同预测概率 \(p\) 来计算并绘制定义在两个极端条件 (\(y=1\) 或 \(y=0\)) 下的损失变化趋势。 #### 曲线特性解读 从生成的图表可以看出: - **当 \(y=1\) 时**:随着预测概率 \(p\) 趋近于 1,损失迅速下降至零附近。 - **当 \(y=0\) 时**:随着预测概率 \(p\) 接近于 0,损失同样趋于稳定减少。 这表明二元交叉熵能够有效引导模型调整权重以提高预测准确性。 此外,在某些特定场景下,还可以结合其他方法进一步探索损失函数的行为模式及其对优化过程的影响[^3]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值