多分类问题中的损失函数、模型配置与可视化
1. 多分类损失函数概述
在多分类问题中,损失函数的选择至关重要,不同的损失函数对输入和模型配置有不同的要求。
1.1 忽略特定标签的损失计算
有时我们希望忽略某些标签的数据点,比如标签 $y = 2$ 的数据点。可以使用 nn.NLLLoss 并设置 ignore_index = 2 来实现。示例代码如下:
import torch
import torch.nn as nn
# 假设的对数概率和标签
dummy_log_probs = ...
dummy_labels = ...
# 定义损失函数并忽略标签为 2 的数据点
loss_fn = nn.NLLLoss(ignore_index=2)
loss = loss_fn(dummy_log_probs, dummy_labels)
print(loss)
输出结果可能如下:
tensor(1.5599)
1.2 交叉熵损失函数(Cross-Entropy Loss)
交叉熵损失函数是多分类问题中常用的损失函数之一,它接受 logits 作为输入,这是 nn.BCEWithLogitsLoss 的多分类版本。使用该损失函数时,模型最后一层不应添加 logsoftmax 层,因为它已经将 logsoftmax 层和负
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



