当前位置: 首页> 游戏> 手游 > 顺德官网建设_网店代运营销售_今天热搜前十名_网站排名优化的技巧

顺德官网建设_网店代运营销售_今天热搜前十名_网站排名优化的技巧

时间:2025/7/9 12:25:56来源:https://blog.csdn.net/m0_73983707/article/details/144276831 浏览次数:0次
顺德官网建设_网店代运营销售_今天热搜前十名_网站排名优化的技巧

目录

交叉熵损失函数(Cross-Entropy Loss)

1.定义

交叉熵损失函数:​编辑

2.手动实现交叉熵损失函数

3.总结


回血的核心是专注

                —— 24.12.5

交叉熵损失函数(Cross-Entropy Loss)

1.定义

交叉熵损失函数是深度学习中常用的一种损失函数,特别是在分类任务中。它衡量了模型预测的概率分布与真实标签的概率分布之间的差异。交叉熵损失函数通常用于多分类问题,并且在二分类问题中也有应用。

交叉熵损失函数:

在 PyTorch 中,交叉熵损失函数可以通过 torch.nn.CrossEntropyLoss类 来实现

也可以使用 nn.CrossEntropyLoss()函数 来实现

2.手动实现交叉熵损失函数

import torch
import torch.nn as nn
import numpy as np'''
手动实现交叉熵的计算
'''#使用torch计算交叉熵
ce_loss = nn.CrossEntropyLoss()#假设有3个样本(Batch_size = 3),每个预测都在做3分类
pred = torch.FloatTensor([[1.3, 0.1, 0.3],[0.9, 1.2, 0.9],[0.5, 1.4, 0.2]]) #n * class_num#正确的类别分别为1,2,0
target = torch.LongTensor([1,2,0])'''
等效类别划分语句:one-hot:
target = torch.FloatTensor([[0,1,0],[0,0,1],[1,0,0]])
'''# 使用交叉熵计算损失函数
loss = ce_loss(pred, target)
print("torch输出交叉熵:", loss)#手动实现交叉熵
def cross_entropy(pred, target):batch_size, class_num = pred.shapepred = softmax(pred)target = to_one_hot(target, pred.shape)entropy = - np.sum(target * np.log(pred), axis=1)return sum(entropy) / batch_size#实现softmax函数 进行归一化
def softmax(matrix):# exp函数是e的指数函数,exp(x) = e ^ x,x为任意实数或复数return np.exp(matrix) / np.sum(np.exp(matrix), axis=1, keepdims=True)#验证softmax函数
# print(torch.softmax(pred, dim=1))
# print(softmax(pred.numpy()))#将输入转化为onehot矩阵型
def to_one_hot(target, shape):one_hot_target = np.zeros(shape)for i, t in enumerate(target):one_hot_target[i][t] = 1return one_hot_targetprint("手动实现交叉熵:", cross_entropy(pred.numpy(), target.numpy()))


3.总结

交叉熵损失函数是衡量模型预测的概率分布与真实标签的概率分布之间差异的一种常用方法。在 PyTorch中,可以通过 torch.nn.CrossEntropyLoss 类来实现交叉熵损失函数。通过前向传递反向传播,神经网络可以逐步优化,提高分类性能。

关键字:顺德官网建设_网店代运营销售_今天热搜前十名_网站排名优化的技巧

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: