入门机器学习:监督学习中的交叉熵损失函数详解
交叉熵损失(Cross-Entropy Loss)是一种常用的目标函数,主要用于二分类或多分类问题中衡量预测结果与真实标签之间的差异。它是基于信息论的概念,通过比较两个概率分布的差异来计算损失。
在二分类问题中,假设有两个类别,真实标签可以表示为 ,而模型的预测概率为 。交叉熵损失通过计算真实标签的对数概率与预测概率的乘积来衡量预测结果与真实标签之间的差异。
公式如下所示:
其中,N 表示样本数量,yi 表示第 i 个样本的真实标签(0 或 1), 表示第 i 个样本的预测概率。
在多分类问题中,交叉熵损失可以推广为多个类别的情况。假设有 K 个类别,真实标签可以表示为 ,而模型的预测概率为 。交叉熵损失的公式如下:
其中,N 表示样本数量, 表示第 i 个样本属于第 k 个类别的真实标签, 表示第 i 个样本属于第 k 个类别的预测概率。
以下是 Python 代码示例,用于计算交叉熵损失:
import numpy as np
def cross_entropy_loss(y_true, y_pred):
N = len(y_true)
epsilon = 1e-15 # 用于防止取对数时出现无穷大值
ce_loss = -np.sum(y_true * np.log(y_pred + epsilon)) / N
return ce_loss
在示例代码中,y_true 是真实标签的数组,y_pred 是预测概率的数组。使用 NumPy 库计算了交叉熵损失,其中添加了一个很小的值 epsilon 以避免在计算对数时出现无穷大的情况。
需要注意的是,在实际应用中,为了数值稳定性和避免过拟合,通常会对交叉熵损失函数添加正则化项或其他改进措施。此外,还可以使用优化算法(例如梯度下降)来最小化交叉熵损失,以获得更好的模型预测结果。
上一篇: 交叉熵和损失函数:深度解析与实操指南
下一篇: 交叉熵和损失函数:深度解析与实际运用
推荐阅读
-
机器学习基础-监督学习-余弦相似性损失的客观函数(余弦相似性损失)
-
简单易懂!带你了解机器学习中的优化函数详解
-
深度学习入门5:交叉熵损失函数、MSE与CTC在序列问题中的应用,以及Balanced L1 Loss在目标检测中的妙用
-
入门机器学习:监督学习中的交叉熵损失函数详解
-
深度学习新手必看:交叉熵损失函数、MSE、CTC损失与序列问题的解决方案,以及Balanced L1 Loss在目标检测中的应用
-
深入理解:交叉熵损失函数在深度学习中的应用
-
入门2020机器学习:理解交叉熵损失函数
-
玩转深度学习基础(3):交叉熵损失函数详解
-
理解机器学习中的交叉熵(Cross Entropy)
-
PyTorch中的交叉熵损失函数详解:nn.CrossEntropyLoss