• 推荐系统的个性化排名


    推荐系统的个性化排名

    Personalized Ranking for Recommender Systems

    在前几节中,只考虑了明确的反馈,并根据观察到的评分对模型进行了训练和测试。这种方法有两个缺点:第一,大多数反馈不是显式的,而是在实际场景中隐含的,并且显式反馈的收集成本可能更高。第二,完全忽略了可以预测用户兴趣的未观察到的用户项对,使得这些方法不适用于由于用户偏好而不是随机缺失评级的情况。未观察到的用户项对是真实的负反馈(用户对项目不感兴趣)和缺失值(用户将来可能与项目交互)的混合体。简单地忽略了矩阵分解和自回归中未观察到的对。显然,这些模型无法区分观察到的和未观察到的对,并且通常不适合个性化的排序任务。

    为此,一类基于隐式反馈生成排名推荐列表的推荐模型得到了广泛的应用。一般来说,个性化的排名模型可以用逐点、成对或列表方式进行优化。点态方法一次只考虑一个交互,训练分类器或回归器来预测个人偏好。矩阵因子分解和自回归以点为目标进行优化。成对方法为每个用户考虑一对项目,并旨在近似该对项目的最佳排序。相对排序法更适合于任务的排序。列表方法近似于整个项目列表的排序,例如,直接优化排序指标,如标准化折扣累积收益(NDCG)。然而,与逐点或成对方法相比,列表方法更复杂,计算量更大。在本节中,将介绍两个成对的目标/损失,贝叶斯个性化排序损失和铰链损失,以及各自的实现。

    1. Bayesian Personalized Ranking Loss and its Implementation

    Bayesian personalized ranking(BPR)[Rendle et al.,2009]是一种基于最大后验估计量的成对个性化排名损失。已被广泛应用于许多现有的推荐模型中。BPR的训练数据由正负两对(缺失值)组成。假设用户更喜欢积极的项目,而不是所有其未观察到的项目。 在形式上,训练数据是以元组(u,i,j)的形式构造的(which represents that the user uu prefers the item ii over the item j),以后验概率最大化为目标的业务流程再造的贝叶斯公式如下:

     将实现基类mxnet.gluon。Loss损失和覆盖的前向方法构造贝叶斯个性化排序损失。首先导入Loss类和np模块。

    from mxnet import gluon, np, npx

    npx.set_np()

    BPR的Loss实现如下:

    #@save

    class BPRLoss(gluon.loss.Loss):

    def __init__(self, weight=None, batch_axis=0, **kwargs):

    super(BPRLoss, self).__init__(weight=None, batch_axis=0, **kwargs)

    def forward(self, positive, negative):

    distances = positive - negative

    loss = - np.sum(np.log(npx.sigmoid(distances)), 0, keepdims=True)

    return loss

    5.2. Hinge Loss and its Implementation

    排序的Hinge loss损失与通常用于SVM等分类器的gluon library库中的Hinge loss损失有不同的形式。推荐系统中用于排名的损失如下表所示。

     m安全边际量大小。

    目的是把消极的东西从积极的东西中推开。与BPR类似,目标是优化正样本和负样本之间的相关距离,而不是绝对输出,使其非常适合推荐系统。

    #@save

    class HingeLossbRec(gluon.loss.Loss):

    def __init__(self, weight=None, batch_axis=0, **kwargs):

    super(HingeLossbRec, self).__init__(weight=None, batch_axis=0,

    **kwargs)

    def forward(self, positive, negative, margin=1):

    distances = positive - negative

    loss = np.sum(np.maximum(- distances + margin, 0))

    return loss

    这两个损失是可互换的个性化排名推荐。

    3. Summary

    · There are three types of ranking losses available for the personalized ranking task in recommender systems, namely, pointwise, pairwise and listwise methods.

    · The two pairwise loses, Bayesian personalized ranking loss and hinge loss, can be used interchangeably.

  • 相关阅读:
    Web相关工具
    web服务器之ApacheCookie 和 session
    web服务器之Apache语法与使用
    Java高并发3-中断线程以及isInterrupted与interrupted区别
    从零开始学VUE之Vue CLI(Cli 2.x 初始化项目)
    从零开始学VUE之Vue CLI(全局安装cli-init)
    从零开始学VUE之Vue CLI(全局安装 CLI)
    从零开始学VUE之淘宝镜像Cnpm安装
    IDEA 过期时间 试用时间 重置插件
    ElementUI el-checkbox 点击Label不取消复选框的选中状态
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13222734.html
Copyright © 2020-2023  润新知