交叉熵的概率计算
python代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import numpy as np def softmax(logits): """计算softmax概率分布""" exp_logits = np.exp(logits) return exp_logits / np.sum(exp_logits) def cross_entropy_loss(pred_probs, true_labels): """计算交叉熵损失""" return -np.sum(true_labels * np.log(pred_probs)) # 示例:三分类任务的logits和真实标签 logits = np.array([2.0, 1.0, 0.1]) true_labels = np.array([1, 0, 0]) # 类别 A 的 one-hot 编码 # 计算 softmax 概率分布 pred_probs = softmax(logits) print(f"Softmax 概率分布: {pred_probs}") # 计算交叉熵损失 loss = cross_entropy_loss(pred_probs, true_labels) print(f"交叉熵损失: {loss}")
运行结果如下: