pytorch中的loss函数(1):MultiLabelSoftMarginLoss

时间:2024-03-20 16:17:24

MultiLabelSoftMarginLoss针对multi-label one-versus-all(多分类,且每个样本只能属于一个类)的情形。

loss的计算公式如下:

pytorch中的loss函数(1):MultiLabelSoftMarginLoss

其中,x是模型预测的标签,x的shape是(N,C),N表示batch size,C是分类数;y是真实标签,shape也是(N,C),pytorch中的loss函数(1):MultiLabelSoftMarginLoss

pytorch中的loss函数(1):MultiLabelSoftMarginLoss的值域是(0,pytorch中的loss函数(1):MultiLabelSoftMarginLoss);

pytorch中的loss函数(1):MultiLabelSoftMarginLoss的值域是(1,pytorch中的loss函数(1):MultiLabelSoftMarginLoss);

pytorch中的loss函数(1):MultiLabelSoftMarginLoss的值域是(0,1);

pytorch中的loss函数(1):MultiLabelSoftMarginLoss的值域是(-pytorch中的loss函数(1):MultiLabelSoftMarginLoss,0),函数曲线如图1所示:

pytorch中的loss函数(1):MultiLabelSoftMarginLoss
图1

为了看得更清楚一点,再画一下[-10,10]范围内的曲线,如图2:

pytorch中的loss函数(1):MultiLabelSoftMarginLoss
图2

当y[i]=1得时候,x[i]越大==》pytorch中的loss函数(1):MultiLabelSoftMarginLoss越大==》loss越小(因为pytorch中的loss函数(1):MultiLabelSoftMarginLoss前面有个负号);

pytorch中的loss函数(1):MultiLabelSoftMarginLoss的函数曲线如图3所示:

pytorch中的loss函数(1):MultiLabelSoftMarginLoss

 [-10,10]范围内的曲线,如图4所示:

pytorch中的loss函数(1):MultiLabelSoftMarginLoss

 当y[i]=0得时候,x[i]越小==》pytorch中的loss函数(1):MultiLabelSoftMarginLoss越大==》loss越小(因为pytorch中的loss函数(1):MultiLabelSoftMarginLoss前面有个负号);

相关文章