1、交叉熵
- 是一种用于衡量两个概率分布之间的距离或相似性的度量方法。
- 机器学习中,交叉熵常用于损失函数,用于评估模型的预测结果和实际标签的差异。
- 公式:
y:真是标签的概率分布,y':模型预测的概率分布
- 交叉熵损失函数的目的:是最小化预测概率分布和真是概率分布之间的差异,使模型能够更好的学习到数据的内在规律和特征。
2、pytorch中的CrossEntropyLoss()
- pytorch中的交叉熵包含两部分,softmax和交叉熵计算
- softmax将预测值转化为概率值
- torch.nn.CrossEntropyLoss(logits,target)
其中logits预测值是网络输出:[[0.8, 0.5, 0.2, 0.5],
[0.2, 0.9, 0.3, 0.2],
[0.4, 0.3, 0.7, 0.1],
[0.1, 0.2, 0.4, 0.8]]
其中target标签可以是:列表:torch.tensor([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 1, 0, 0],
[0, 0, 0, 1]], dtype=torch.float)
索引:torch.tensor([0,1, 1, 3], dtype=torch.long)