zoukankan      html  css  js  c++  java
  • Personalized Ranking from Implicit Feedback Lei

    矩阵分解方法由于在Netflix中取的好成绩,成为近年来推荐系统中比较流行的推荐方法(无论是隐示数据还是显示数据,用的人都很多)。早期的方法有SVD,它通对评分矩阵进行分解,学习到潜在特征向量,但是它很容易过学习,因此,又提出了带正则化项目的分解方法。除此之外,还有基于概率论的推荐模型(Hofmann,probabilistic latent semantic model),以及基于分类问题的推荐方法,基于排序的模型等。本文我们将介绍一种在隐数据集上以个性化排序(每个用户都有不同的排序)为目标的推荐方法。这里的隐数据可以购买行为,点击行为或是观看行为。

    问题的形式化 

    假设可观测的数据用S表示U表示用户集合,I表示item集合,则S是UxI的子集,由于我们只能观测到正例,负例通常用0来填充,我们的目标就是为每个用户进行个性化的排序。通常的思路就是为每个item预测一个个性化的得分(能够反应用户对该item的偏好),然后根据这个得分对item进行排序。机器学习的方法通常是给可观测数据S赋予正例,而其它(真正的负例和缺失值)赋予负的标签,这样做的结果就导致那些需要进行排序的item在训练过程中都被做为负例,这就是过学习问题,当然也可以通过正则化的方法来解决。

    在本文中,我们采用user,item 对做为训练数据,不再给每个item一个评分,而是直接优化user,item对,这样比直接用0填充更能反应问题的本质。以下训练集的构造过程:

    我们假设用户更喜欢那些能被我们观测到的item,并以此来构造偏序对,构造方法如图所示:

    形式化表示方法:


    其它情况为未知项(?),而这些缺失项是我们将要排序的item对,这样训练集和测集便能很好的分开了。

     

  • 相关阅读:
    八、springboot 简单优雅的通过docker-compose 构建
    【并发编程】ThreadLocal其实很简单
    计算机网络
    相似度
    不同激活函数的区别
    快速排序+归并排序
    xgboost
    c++面试
    PCA算法和SVD
    各种排序算法的时间复杂度和空间复杂度
  • 原文地址:https://www.cnblogs.com/guolei/p/2415442.html
Copyright © 2011-2022 走看看