损失函数:衡量模型输出与其真是标签的差异
损失函数:计算一个样本的差异
代价函数:计算整个样本的差异求平均
目标函数:代价函数+ 正则项
步骤:先设计一个损失函数
如:先定义loss:loss_function=nn.CrossEntropyLoss()
然后在训练的时候调用loss_function:loss_function(outputs,labels)
1.nn.CrossEntropyLoss()
nn.LogSoftmax()与nn.NLLLOss()结合,进行交叉熵计算
nn.CrossEntropyLoss(
weight, 各类别的loss设置权值
size_average,
ignore_index,忽略某个类别
reduce,
reduction:计算模式:none逐个元素计算,sum:所有元素求和 mean:加权求和
)
交叉熵=信息熵+相对熵
2.nn.NLLLoss()
nn.NLLLoss(
weight, 各类别的loss设置权值
size_average,
ignore_index,忽略某个类别
reduce,
reduction:计算模式:none逐个元素计算,sum:所有元素求和 mean:加权求和
)
实现负对数似然函数中的负号功能
3.nn.BCELoss()
nn.BCELoss(
weight, 各类别的loss设置权值
size_average,
reduce,
reduction:计算模式:none逐个元素计算,sum:所有元素求和 mean:加权求和
)
二分类交叉熵
4.nn.BCEWithLogitsLoss()
结合sigmoid与二分类交叉熵