关于推荐问题经常出现的几个基本概念的总结:

  1. rating prediction 和 top-N recommendation 本质的区别: 前者的输出是每个item estimated rating, 因此这个值是有它自己的实际数值含义的(当然也可以根据这个estimated value进行排序); 后者最显著的特点是,学出的item score单个来看,是没有实际意义的,但是可以通过item之间score大小的比较,进行item的排序(这点正好符合top-N task,不仅更符合实际需求,也抓住了学习的本质问题,更有侧重点),所以很多文章宣称后者比前者好
  2. 所以做implicit feedback recommender system的,很少有采用前者来做求解问题的基本方法的(缺陷是什么?还没有找到论文对它做详细说明,大体上可能是因为implicit feedback 中的1和0本身上没有实质的数值意义,表示类别的意思,如可以用A,B代替,但困惑是确实有方法如本文中的SLIM就把他当做数值来处理的!!);我个人支持用后者解决implicit feedback problem,从1,0中体现出的偏好关系才是本质。当然,如果用二分类的思想来解决,也是合理的。
  3. Top-N recommendation problem与 Learning to rank problem之间的关系: 个人认为在RS领域,前者包含后者。前者是从解决问题框架的角度考虑的(即要解决什么问题,high level); 后者是从解决该问题所用到的技术层面考虑的(即怎么解决这个问题,basic level),L2R的思想是:模型学习或者fit to的是一个个排序结构(偏序或者全序),最终得到的也是各个item的estimated score(也是没有实际的数值意义),因此belongs to Top-N task。
  4. CF methods  和 model based methods:前者的核心是协同关系(即通过共同的用户行为确定的相似关系(包括user相似关系和item相似关系));而后者的核心其实是设定了模型结构,用现有数据(不仅仅局限于行为数据)训练模型中的参数(一个参数集合即构成了一个model的实例,模型的结构是人为选择的;学习的目标的也是根据人的意图设定的),所以有个研究领域就是model select;另,一般实验会设定一个validation data就是用来进行模型选择的,即从学出的多个参数集合中,选择效果最好的那个参数集合;
    实际上,CF methods 可进一步分为 neighborhood-based/memory-based (这里不需要学习什么模型参数) 和 model based(注意:model based并不都是CF method, 关键是看该model有没有融合用户行为关系)
    个人人为:确定该方法是不是CF的,只需要考虑它是否利用了用户行为数据,只要用了,就属于CF(learning the model solely from the user purchase/rating profiles);memory-based 和model-based的区别还是很容易的


对本文的简单理解

  1. 本文解题思路:
    1) 在原有的SLIM的基础上融入side information, ref http://nuoku.vip/users/2/articles/61
    2) 一共有四种方法融合side information:  (对于side information 的矩阵构造: 每类context有多个取值,我们可以将这些取值进行组合,然后数字编码/类似于评分, 这样一个完整的上下文就可以用一个数字进行表示了)
        a) 直接把side information的特征矩阵作为原SLIM学习function的一个regularization term,以此来约束学习的权重,此时用在原矩阵M上的权重和用在特征矩阵F上的权重是一样的
        b) M和F上的权重不一样如(S,Q),但是有一定的联系, 联系的方法是再加一个regularization term: ||S-Q||
        c) 把S当做特征的线性组合,
        d) 把a)和c)结合下
    3) 采用的数据: 有ML100K
    4) 采用的评估指标: 命中率=命中用户的个数/总用户个数; ARHR=每个用户命中item位置的倒数和/总用户个数 (这里只考虑命中的排序最高的item的位置)
    5) side information 的特征: Binary Representation(单词出没出现);TF-IDF, 单词频率比
  2. side information + top-N task 和 side information + rating prediction区别 (本文属于前者,认为前者被研究的少?)
  3. l1-norm 可以控制解空间是稀疏的(如求得的矩阵中大量的元素为0)
  4. 对SLIM疑问是: 明明是对0,1的估计,为什么求得的`score'可以用来排序?越不能压缩为0,越有可能是正样本? (标明上是对1,0的估计,实际上学习的是权重,而这权重可以理解为当前未访问的item同其他用户已经访问过的item的相似度,利用相似度加权求和后的score可以认为是该item同其他所有已经反问过的item的总相似度,这样的话就可以进行比较了),然而问题是,为什么可以通过1,0 label来学习总相似度?


收获和启发

  1. 本文的对于side information特征的提取可以借鉴
  2. 本文采用的Metric可以在以后的验证model性能中采用,另外,是否考虑可直接优化该Metric?
  3. 本文实验很详细,实验表达形式可借鉴


留言

登录 请先登陆, 再留言!