美文网首页深度学习
2020 推荐系统入门 (3)

2020 推荐系统入门 (3)

作者: zidea | 来源:发表于2020-07-08 20:04 被阅读0次
    recommendation_sys.jpeg

    基于模型计算

    在大多数情况下,用户只会给少量分物品进行评分,所以表示用户和物品间关系矩阵上大部分位置都是 0,这就是稀疏矩阵。为了解决这个问题我们引入基于模型的计算,上面我们介绍是基于内容或者用户的协同过滤是适合哪些用户和物品间关系存在相对比较好,也就是用户看多绝大多数物品。

    基于图的模型

    • 首先将用户的行为表示为二分图
    • 基于二分图为用户进行推荐
    • 根据两个顶点之间的路径数、路径长度和经过的顶点数来评价两个顶点的相关性


      截屏2020-07-08下午7.42.07.png

      这里我们二分表来表示,将每一个用户和他看到的商品关联到一起,例如 UserA 看过或评价了 A、B 和 D 商品。然后在右侧将用户将他看过商品连接上,那么 User A 到 User B 的路径有多少条呢,我们一起来数一数


      截屏2020-07-08下午7.52.46.png
      第一条user A 经过商品 A 连接到 用户 B (U-I-U)
      第二条 user A 经过商品 B 到用户 C,用户 C 经过商品 E 连接到用户 D 然后用户 D 通过商品 C 到用户 B (U-I-U-I-U-I-U)

      第三条 userA 经过商品 D 到用户 D ,然后用户 D 经过 C 连接到用户 B(U-I-U-I-U)

    矩阵分解

    我们需要学会用数学语言来描述我们身边的事物,例如之前用户给商品评分矩阵,矩阵行也就是索引是用户,而列是物品,可以理解 0 维是用户而 1 维是物品。假设有 m 个用户和 n 物品,那么就可以用 A_{m \times n} 来表示评分矩阵。然后我们需要对这个大稀疏矩阵进行降维,也就是将矩阵分解为两个小的矩阵,U_{m\times k}V_{k \times n} 这里 k 需要远远小于 m 和 n,那么U_{m\times k} 矩阵 k 表示影响到用户对物品评分的特征,这些特征是其潜在特征,可能是用户年龄、收入和浏览习惯。那么如何使用这两个分解出矩阵来计算用户和物品关系,我们可以选择用户U_{alice} 是一个 1 \times k 向量,然后和表示物品 I_{itemA} 的转置1 \times k相乘就得到一个数。

    通过矩阵分解得到 m \times k 的用户矩阵和 k \times n 的物品矩阵相乘回去得到m \times n矩阵,我们希望这样得到矩阵和原有矩阵越接近越好,这样我们就可以他们(原有评价矩阵和通过将分解后用户矩阵和物品矩阵相乘得到矩阵)之间差越小越好作为目标函数来进行优化。具体优化方法 ALS(交替最小二乘法来优化损失),当然也可以用梯度下降来进行优化。

    推荐系统评估

    • 满足用户需求,获取想要内容和物品,同时扩展视野
    • 网站,留住用户实现商业目标
    • 获取长尾流量,获取互动和认可,同时得到回报
    显式反馈 隐式反馈
    准确性
    数量
    获取成本

    评价指标

    其实我们可以从两个方面来考虑推荐系统好坏,一个就是同一些指标,例如评分预测我们使用 RMSE 和 MAE 来评估预测效果等,或者也可以从实际业务上来看推荐系统好坏,如阅读时间是否曾长,分享、关注、评论和付费。对于视频产品,考量就不同于阅读,主要看用户是否看了我们推荐视频,看了多长时间,是否看完,以及看完之后是否进行点赞、关注、评论等行为。那么类似京东这种推荐,要看用户是否点击我们推荐商品,浏览时间、是否加入购物车、收藏以及最终是否购买,购买后是否给好评以及是否愿意再次购买。

    相关文章

      网友评论

        本文标题:2020 推荐系统入门 (3)

        本文链接:https://www.haomeiwen.com/subject/qfrhcktx.html