交叉熵的概率计算

 

python代码如下:

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}")
View Code

运行结果如下:

 

posted @ 2024-06-13 09:51  阿坦  阅读(3)  评论(0编辑  收藏  举报