笔记:推荐系统实战-召回


推荐系统的产生与“信息过载”的发生密切相关。通过一定的规则或者方式从大量信息中对某类item进行排序后反馈给用户所写的策略,规则就是推荐系统的简单理解。
推荐系统的一般架构为:召回 - 排序 - 策略处理 等基本结构。这个部分主要总结一下 召回 部分常用的方法。

召回算法(基于邻域,基于内容,基于神经网络)
对不同的用户产生不同的候选集合,该集合对后续的排序算法提供数据源。候选集的规模决定排序算法的上限。

  1. 基于邻域(LFM,CF,Personal Rank)
    1.1 CF 协同过滤
    协同过滤算法分为 基于用户基于tiem 两种情况。整体思路是从历史日志中找到商品或用户的相似度进而对用户进行推荐。上述所提到的相似性度量方法,在机器学习中往往 距离相似性 是比较 相关 的概念,一般距离越大则相似性越低,反之相似性越高。度量距离的方式有很多,例如:person相关系数,余弦相似度,jaccard相似系数等。任何一种度量方式都可以应用到协同过滤中的相似性度量中。
    1.1.1 基于用户的相似性度量,通过以item作为连接不同用户的桥梁,构建用户-【tiem序列】的表示,最终计算用户的相似度到达推荐的目的。
    1.1.2 基于item的相似度度量,通过以用户作为连接不同item的桥梁,构建item-【用户序列】的表示,最终计算商品的相似度达到推荐的目的。
    这两种方式的计算方法本质上的思路是类似的,但是鉴于不同场景下,两种方式各有优劣。基于item的协同过滤方式可以发现长尾商品并可以达到较好的个性化需求。

    1.2 LFM 隐变量的推荐模型
    通过对用户-item的打分矩阵,通过打分矩阵,可以只管的观察到用户对item的评价,这里假设评价的本身是用户对于item的某些属性例如:价格,颜色等的综合评价后,给出的最后得到,这里的某些属性可以理解为隐变量,基于该思想,可以将打分矩阵A分解为V和U两个矩阵的乘积表示,物理意义可以理解为 商品-商品的属性用户-商品属性 的偏爱。
    现在,通过对打分矩阵的分解,引入 隐变量 的概念,而隐变量的具体数据是多少,需要根据具体的场景决策。LFM算法完成推荐的同时可以得到用户和item的向量表示,通过LFM算法,可以得到1).给用户推荐的item列表;2).item的相似度矩阵;3).计算用户的相似度等。
    具体如何求解两个隐向量U,V,通过利用梯度下降的方式便可求解。


    1.3 基于图的推荐
    用户的关系可以描述为二分图表示,因此可以利用随机游走算法得到不同node之间的关系。物理意义的解释:在二分图中,两个顶点之间的连同路径越多则两个顶点的关联可能性越大;两个顶点之间的连同路径越短则关联可能性越大;两个顶点之间的连同路径经过的顶点出度和越小,则越可能关联。
    基于物理意义的含义,这里通过随机游走算法,计算不同定点之间的值,以最终的值最为推荐的依据。

  2. 基于内容
    将item表示成一个features向量,如电影的features向量可以是<author, title, actor, director, ...>对应的boolean或者value的数值向量。
    通过用户评分过(或者有过互动如观看)的item的profiles构建用户的profiles。
    通过距离计算方式度量用户和item的相似度。
    该种方式对于新的item可以直接计算与其他的item的相似性,由于计算相似性只依赖于item的基本属性,不依赖于用户对其的打分。对于CF中相似性较低的用户,也可以通过基于内容的方式达到推荐的目的。但是对于新用户的冷启动问题无法刻画用户,便无法计算相似性也无交互历史,无法推荐。对于用户对于某类型的item,例如特定属性的item没有交互,则该item就算是热门商品,也不会推荐给当前用户。

  3. 基于神经网络(item2vec)
    基于神经网络的方式基本通过利用word2vec的思想。利用神经网络在特征抽象表示能力的优势,通过神经网络对item进行表示。基本思路,对于用户的行为序列进行表示,通过word2vec方法训练,得到最终的item表示。通过论文的结论,利用item2ve的方法训练得到的item向量,其时序性表达缺失且item的点击强度无法表达等缺点。


以上内容是基于当前课程和一些资料的总结,如有错误请批评指正。
已邀请:

要回复问题请先登录注册

返回顶部