交叉熵损失函数
交叉熵采用真实标签的预测概率的负对数似然。
# 进一步实现 交叉熵损失函数 -log(预测概率)
def cross_entropy(y_hat,y):
return -torch.log(y_hat[range(len(y_hat)),y])
# y_hat[len(range(y_hat)),y] ,这么复杂只是为了取出预测概率
# y_hat 是每个样本的 对应标签值 ,可以说是 256*10
# len(range(y_hat)) ,将 它转为列表 ,取出行数 256行; y 存储的是正确的标签分类
本来就是找 正确的标签对应的概率
这里不是 argmax,不是找一行中最大的那个概率
而是找正确的,就是你本来正确标签,的预测概率