推荐系统概述

推荐系统简介

  推荐系统(RS)存在推荐方与被推荐方,对于推荐方而言,RS需要做到的是增加推荐方推荐物品的准确性与吸引力;而对于被推荐方而言,RS需要做到在被推荐方不明确信息喜好时能做出一定猜测而为其提供其感兴趣的内容。

常用评测指标

  1. 用户满意度:一般无法通过计算获得,需要去进行用户线上行为统计才可以获得
  2. 预测准确度:
    1. 评分预测

      对于评分预测而言,建立一个评分预测模型,利用评分预测模型进行打分预测得到数值数据,再与用户实际打分进行比较,误差评判一般采用RMSE或者MAE

    2. TopN推荐

      对于TopN推荐而言,我们存在准确率和召回率两个指标,对于准确率和召回率两个概念就不做过多赘述。

  3. 覆盖率:

    可以给出一个对于RS的简单定义:即对于一个RS来说推荐出来的商品占有全部商品的比率,但是对于相同的覆盖率,物品的流行程度可能不一样,即不同物品的数量分布。我们一般使用信息熵和基尼系数来进行评价

    1. 信息熵

    H = -\sum p(i)log(p(i))

    1. 基尼系数定义覆盖率:

    G = \frac {1}{n-1} \sum _{j=1} ^n(2j-n-1)p(i_j)

    其中i_j是按物品流行度从小到大排序的第j个物品

    其中,基尼覆盖率的主要作用为判定商品的流行度的趋势,可以参考博客https://www.cnblogs.com/xing901022/p/8603864.html
    个人结合博客的理解:基尼系数即为计算流行度分布的极端值,即是否大的很大,小的很小。

  4. 多样性

    多样性体现在推荐的物品之间的相似性很小,即差异性很大。如何估量商品之间的相似性,可以基于商品内容的相似,基于协同过滤的相似。所以可以定义用户推荐列表的相似性

diversity(R(u))=1-\frac{\sum_{i,j\in R(u)}s(i,j)}{\frac{1}{2}\mid R(u) \mid (\mid R(u)\mid -1)}

而对于推荐系统而言,一个推荐系统会给多个用户进行推荐,那么整个推荐系统的平均多样性就可以定义为

Diversity=\frac{1}{U}\sum_{u \in U}Diversity(R(u))

  1. 新颖性

    就是那些流行度小于平均流行度的东西一般而言就可以

  2. AUC曲线

    AUC曲线,即ROC曲线下与坐标轴围成的面积

    一些概念:

    • 混淆矩阵
    • 召回率
    • 精确率
    • ROC曲线

    ROC曲线中,横坐标为\frac{FN}{FN+TN}(假阳性率),\frac{TP}{TP+FP}(真阳性率)
    给出混淆矩阵的图片

召回

在RS架构中,召回层和排序层是RS的核心算法层,其中,召回层的作用是从海量数据中利用少量特征和简单的模型初步筛选,接着排序层使用更加复杂的模型进行精准的排序。

海量商品 \stackrel{召回层}{\rightarrow} 少量用户可能感兴趣的商品 \stackrel{排序层}{\rightarrow}

  1. 召回层:待筛选的数据集合大、模型和特征简单、计算速度快,所以保证召回率
  2. 排序层:利用较多的特征去对召回层筛选出来的数据进行排序

其中,召回层两个目标其实是矛盾的,为此,我们可以采用多个简单策略叠加的“多路召回策略”

多路召回策略

  对于多路召回策略,我们采用多个不同的策略对商品进行召回,然后将召回的商品进行混合,再利用排序模型去进行排序,但是对于多路召回策略而言存在一些问题,对于每个策略,我们都会要求其返回K个候选商品,那么这个K实际上就是一个超参数,需要进行测试来合理地选择K。

  此外,由于我们选择的策略一般都是割裂开的,所以无法同时考虑不同策略对同一个物品的影响,由此我们引出embedding策略。

Embedding召回

 embedding主要思想即为利用映射,将信息用一个向量表示,一看这种表示可能和one-hot编码类似,但是one-hot其实只是一个控制变量,标记一个特征的有无,而且对于one-hot而言,其总是可能引起维数灾难,而embedding并没有这种困扰。
 目前主流的embedding技术包括:

  • text embedding——用于推荐系统
  • image embedding——图和视频中,利用卷积去搭建网络
  • graph embedding——社交网络

其中,text embedding技术多用于推荐系统中,而对于非文本的id类特征,可以先将其转化为ID序列然后进行text embedding。


0 条评论

发表评论