Neural network 如何强调神经网络中的选择输出

Neural network 如何强调神经网络中的选择输出,neural-network,pytorch,Neural Network,Pytorch,我正在使用pytorch培训一个包含17个特性和5个输出的数据集。但我最感兴趣的是其中的两个,比如说0-4中的输出2和3。在2和3上获得尽可能高的精度的好策略是什么,而其余的精度可能较低?如果您使用的是nn.CrossEntropyLoss(),则可以传入权重以强调或不强调某些类。从: torch.nn.CrossEntropyLoss(重量:可选[torch.Tensor]=None,…) 权重之和不必为1,因为当reduce='mean'为默认设置时,PyTorch将自行处理权重。权重指定在

我正在使用pytorch培训一个包含17个特性和5个输出的数据集。但我最感兴趣的是其中的两个,比如说0-4中的输出2和3。在2和3上获得尽可能高的精度的好策略是什么,而其余的精度可能较低?

如果您使用的是
nn.CrossEntropyLoss()
,则可以传入权重以强调或不强调某些类。从:

torch.nn.CrossEntropyLoss(重量:可选[torch.Tensor]=None,…)

权重之和不必为1,因为当
reduce='mean'
为默认设置时,PyTorch将自行处理权重。权重指定在计算损失时,哪些类别的权重更大。换句话说,权重越高,对于具有更高权重的特定类集,预测错误的惩罚就越高

#假定导入
x=火炬。随机数(10,5)#虚拟数据
target=torch.randint(0,5,(10,)#虚拟目标
权重=火炬张量([1,1,2,2,1.])#强调2类和3类
标准加权=nn.交叉熵(重量=重量)
损失加权=标准加权(x,目标)

如果您使用的是
nn.CrossEntropyLoss()
,则可以传入权重以强调或取消强调某些类。从:

torch.nn.CrossEntropyLoss(重量:可选[torch.Tensor]=None,…)

权重之和不必为1,因为当
reduce='mean'
为默认设置时,PyTorch将自行处理权重。权重指定在计算损失时,哪些类别的权重更大。换句话说,权重越高,对于具有更高权重的特定类集,预测错误的惩罚就越高

#假定导入
x=火炬。随机数(10,5)#虚拟数据
target=torch.randint(0,5,(10,)#虚拟目标
权重=火炬张量([1,1,2,2,1.])#强调2类和3类
标准加权=nn.交叉熵(重量=重量)
损失加权=标准加权(x,目标)

这是什么类型的输出层<代码>nn.Linear?请提供有关网络的更多信息以及每个输出所代表的内容。输出0-4是否表示分类概率,且每个输出为一个类别?那么你是在寻找加权损失ufnction@Ivan是的,nn。线性,目前使用softmax激活函数。这是一个分类问题,因此每个代表一个类别,因此输出为1,其他为0。我将研究加权损失函数,谢谢@Prokow那是哪种输出层<代码>nn.Linear?请提供有关网络的更多信息以及每个输出所代表的内容。输出0-4是否表示分类概率,且每个输出为一个类别?那么你是在寻找加权损失ufnction@Ivan是的,nn。线性,目前使用softmax激活函数。这是一个分类问题,因此每个代表一个类别,因此输出为1,其他为0。我将研究加权损失函数,谢谢@ProkoI正在使用交叉熵损失,肯定会尝试这个。谢谢!!我用的是交叉熵损失,一定会试试这个。谢谢!!