nn.MarginRankingLoss使用详解
import torch criterion = torch.nn.MarginRankingLoss(margin = 0.3,reduction='mean') x1 = torch.Tensor([3,2]) x2 = torch.Tensor([1,4]) y = torch.Tensor([1,2]) loss = criterion(x1,x2,y) print(loss)
结果:
tensor(2.1500)
详解:
验证:
对于第1个点,x1=3, x2 = 1, y=1。 max(-y*(x1-x2)+margin, 0) = max(-1*(3-1)+0.3, 0) = max(-1.7, 0) = 0 对于第2个点,x1=2, x2 = 4, y=2。 max(-y*(x1-x2)+margin, 0) = max(-2*(2-4)+0.3, 0) = max(4.3, 0) = 4.3 求平均:2.15
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步