交叉熵损失函数python代码
时间: 2023-10-13 22:19:59 浏览: 106
下面是一个使用交叉熵损失函数的Python代码示例:
```python
import numpy as np
def cross_entropy_loss(y_true, y_pred):
"""
计算交叉熵损失函数
参数:
y_true -- 真实标签,大小为 (m, n) 的 numpy 数组,m 为样本数量,n 为类别数量
y_pred -- 预测标签,大小为 (m, n) 的 numpy 数组,m 为样本数量,n 为类别数量
返回:
loss -- 交叉熵损失函数值,一个标量
"""
m = y_true.shape[0]
eps = 1e-15 # 避免取对数时出现无穷大值
# 计算交叉熵损失函数值
loss = -np.sum(y_true * np.log(y_pred + eps)) / m
return loss
```
在上面的代码中,我们使用了NumPy库来进行矩阵运算。交叉熵损失函数的计算公式如下:
$$ Loss = -\frac{1}{m}\sum_{i=1}^{m}\sum_{j=1}^{n}y_{i,j}\log(\hat{y}_{i,j}+\epsilon) $$
其中,$m$ 为样本数量,$n$ 为类别数量,$y_{i,j}$ 表示第 $i$ 个样本的第 $j$ 个标签的真实值,$\hat{y}_{i,j}$ 表示第 $i$ 个样本的第 $j$ 个标签的预测值,$\epsilon$ 是一个非常小的数,用于避免取对数时出现无穷大值。
阅读全文