MultiLabelSoftMarginLoss针对multi-label one-versus-all(多分类,且每个样本只能属于一个类)的情形。
loss的计算公式如下:
其中,x是模型预测的标签,x的shape是(N,C),N表示batch size,C是分类数;y是真实标签,shape也是(N,C),。
的值域是(0,);
的值域是(1,);
的值域是(0,1);
的值域是(-,0),函数曲线如图1所示:
为了看得更清楚一点,再画一下[-10,10]范围内的曲线,如图2:
当y[i]=1得时候,x[i]越大==》越大==》loss越小(因为前面有个负号);
的函数曲线如图3所示:
[-10,10]范围内的曲线,如图4所示:
当y[i]=0得时候,x[i]越小==》越大==》loss越小(因为前面有个负号);