今天看ranknet的加速,到损失函数推导部分,想起hinge loss,又想起SVM经常使用hinge loss用于优化模型。于是思考一下为什么SVM要与hinge loss搭配。
hinge loss = max(0, 1-z), 在SVM中z=yi(wxi+b)
SVM是通过支持向量来优化模型的,以二分类为例,yi取值为{-1,1},代表在分类超平面左侧和右侧,期望模型预测的wxi+b与yi同号,因此当同号时z=1,loss=0不需要优化,当异号时模型误判需要计算loss更新参数,此时z<1,所以1-z>0,因此loss=1-z,会计算1-z的梯度进行反传并更新参数
https://blog.tsingjyujing.com/ml/recsys/bpr_and_hinger
https://blog.tsingjyujing.com/ml/recsys/ranknet