可扩展个性化排名的批量学习框架

个性化排名列表的顶部鼓励高精度

现有的方法:
(1)为非光滑排序度量寻找光滑的凸代理,(2)直接修改更新过程以提高最高精度

问题:不能很好地扩展到大规模设置(由不准确的逐点或成对的秩估计引起)

方法:

1.基于批量计算的秩估计。它们在近似真实项目排名方面更准确和稳定

2.“排序敏感”的平滑损失函数。优化损失函数值来获得最高精度

3.算法基于批处理计算,明确地利用并行计算来加速训练

本文中,我们将使用字母 x 代表用户,字母 y 代表物品。
我们使用未加粗的字母表示用户或项目的单个元素,加粗的字母表示一组项目。
特别地,单个用户和单个项目分别由 x 和 Y 表示, Y 表示整个项目集。
yx 表示用户 x 的正项目——即用户 x 交互的项目子集。
¯ yx ≡ Y n yx 是用户 x 的无关项集。
当没有歧义时,我们省略下标 x。
S = {(x, y)}是观察值的集合。
指示器功能用 I 表示。
f 表示模型(或模型参数)。
fy(x)表示用户 x 和项目 y的模型分数。
例如,在矩阵分解模型中, fy(x)由 x 和 y的潜在因子的内积计算。
给定模型 f、用户 x 及其正项y,项 y 的等级定义为:

忽略了正项内的顺序。
指标函数有时近似为连续利润损失

依赖位置的个性化排名

考虑了预测项目的等级,等级取决于模型参数,并且是动态变化的。
由于指示器功能,该定义在模型参数中是不平滑的。
等级的计算包括与所有不相关的项目进行比较,这可能是高代价的。
现有的位置相关算法通过不同的秩近似方法来解决这个挑战。
它们可以分为逐点逼近和成对逼近。
我们在下面描述了他们的方法。

逐点秩逼近

然后将秩 ry 插入评估指标映射和 MRR以使目标平滑
然后,算法使用基于梯度的方法进行优化。

在(2)中,当模型得分 fy(x)高时, rankypoint 接近 1,
当 fy(x)低时, rankypoint 变大
模型分数和项目排名之间的这种联系是直观的,并且隐含地鼓励了顶部的良好准确性。
然而, rankypoint 与(1)中的等级定义联系非常松散。
在实践中,它没有捕捉到行列的非平滑特性。
例如,当项目集较大时,模型分数的微小差异会导致显著的等级差异

成对秩逼近:基于一对项目之间的比较来估计项目排名。
关键部分是迭代采样近似过程:给定用户 x 和正项 y,通过替换保持对负项 y0 ∈ y 的均匀采样,直到违反条件1 + fy0(x) < fy(x)。使用抽样程序,它通过以下方式估计
项目等级

其中 N 是找到第一个违规示例的抽样试验次数, bzc 取不大于 z 的最大整数。
这种估计背后的直觉是,抽样试验的次数遵循几何分布。
假设物品的真实等级是 ry,那么违反物品的概率是 p = ry/(| y |-1)。
预计试验次数为 E(N)= 1/p =(| y |-1)/ry。

为了提高最高精度,估计的项目等级用于修改更新程序。
例如,在 WARP 中,它们插入一个损失函数,定义为,

其中 αj j = 1, 2, .. 是预定义的非递增标量。
函数 owa是从分类损失的有序加权平均(owa)
定义了将所有不相关的元素放在相关元素之前所导致的惩罚。
选择相等的 αj 意味着优化平均排名,
而选择 αj>1 = 0, α1= 1 意味着优化排名靠前的正确项目的比例。
通过严格减少 αs,它优化了排名列表的顶部。

成对秩估计的局限性
1.(3)中具有偏差且方差极大
2.每次迭代中找到违规项之前,可能需要大量的采样迭代

实验证明:批量秩逼近且推广到平滑秩敏感损失函数,得到更精确的秩近似,并允许反向传播更新

批量等级近似
采用批量训练

定义利润等级如下:

裕度损失被用来代替(1)中的指标函数,并且目标项目 y 与一批负项目 y 进行比较。
裕度
损失(绿色曲线)是原始阶跃损失函数(或指标函数)的平
滑凸上界。 保证金等级总结了保证金误差,并描述了
不相关项目的总体违规情况

利润率排名可能对得分明显高于目标项目的“不良”项目敏感。加一个sigmoid

没有边界公式的平滑版本:

:首先并行计算用户和一批项目之间的模型分数;
然后相应地计算 r 并求和。
这种批量计算允许更频繁地更新模型参数。
并行计算可以加速模型训练。

当项目集变得过大时,整批处理可能变得不可行或低效。
在这种情况下,采用小批量方法。
小批量版本算法不是像(7)那样根据完整的 Y 集计算等级,而是随机地(没有替换)对 Y 的子集 Z 进行采样并计算

平滑秩敏感损失函数
基于等级的损失函数(4)对物品等级进行操作,并提供一种机制来提倡最高精度。
然而,它的输入必须是整数。
它也不平滑。因此,它不适用于我们的批量秩估计器,并且不支持基于梯度的优化。
在下文中,我们将(4)推广到平滑秩敏感损失函数,这些函数同样提倡最高精度:

BPR相当于一个线性函数,它对估计的秩施加一致增加的惩罚。当估计秩增加且无界时,多项式和对数函数具有递减的收益。指数函数以 1 为界,对高秩值的惩罚很快饱和。

你可能感兴趣的:(可扩展个性化排名的批量学习框架)