核心思想:

1)离散化user向量b和item向量d,即向量元素属于{-1,1}

2)直接最优化排序指标AP(而不是转换成最优化pairwise间接指标)

解决方法:

针对1)将向量中的元素范围从{-1,1}改成[-1,1],这样原来针对{-1,1}的海明相似度1/2+1/(2f)(b^T·d)就变的连续了,f为向量维度。此时AP目标只是连续,但不可导(因此存在排序操作)

针对2)主要是平滑排序操作,以往一般将list的排序转化成pairwise排序,这样可以用sigmoid函数进行平滑。

本文的做法:将score list:s先转换A方阵(A中元素=s_i - s_j),然后再利用s的排序以及A方阵,构造Z方阵,在计算Z中的元素时,有argmax函数,可进一步用softmax代替进行平滑,最后可以将Z替换AP中有关排序的部分,使得AP最优化目标可导。这就相当于score list作为整体输入到目标函数中,不用再计算某一个位置上的precision了。

最后求导依据落到b和d上。



留言

登录 请先登陆, 再留言!