美文网首页
[PML 30] C4S1 推荐系统介绍

[PML 30] C4S1 推荐系统介绍

作者: 数科每日 | 来源:发表于2022-02-26 12:17 被阅读0次

从 [PML 6] 直接跳到本章, 主要是2,3 的内容过于基础。等以后有时间再做那个部分的笔记吧,序号先留着。


在第 2 章和第 3 章中,讨论回归和分类时,我们提供个性化预测的唯一方法是提取与用户特征(例如年龄、位置、性别)相关的特征。这种模型的成功很大程度上取决于提取特征的能力,这些特征足以解释我们试图预测的标签的变化。虽然在许多回归或分类场景中有效,但在对推荐场景中的交互进行建模时,很难搞清楚哪些特征可以预测用户的行为,而且也不可能一开始就收集上来这些特征。考虑例如:

  • 给观众推荐电影的时候, 人口统计特征只能解释一部分的用户间差异, 其他特征是什么, 一开始很难弄明白。
  • 有些领域你也不太懂, 这个啥时候特征工程就比较难了。比如吐司机,纹身贴。
  • 用户会随着时间变化。
  • 如果 Featrue 无法获取, 我们还能做推荐么?

在以上场景中, 推荐系统是一个基础工具。 总的来说, 推荐系统的工作原理是找到用户和物品联系的共同模式(common patterns)。 因此, 我们可以根据用户相似度来进行推荐。

本章, 我们讨论的方法里,基本思路是:根据物品和用户之间的相似度。 我们从简单的算法开始, 最后会讨论比较复杂的基于随机游走的方法。 本章从High level 讨论推荐问题和工作 pipeline。在第五章, 才会讨论算法本身。

基本步骤和问题定义

在推荐系统,我们常用的数据形状如下, 包括了用户物品的历史交互。

历史交互数据

一般我们都会进行进一步处理, 对用户, 物品, 时间戳进行编码,比如:

image.png

这是大部分推荐系统数据的模式, 有时候, 还有会一些 metadata 比如人口信息, 电影信息。 但是有的数据也会特别简陋, 连时间戳和评价都没有。

总之, 我们打交道的数据一般都会描述用户和物品的交互。 这些交互可能包括:点击,购买, 评价, 点赞。 基于上面例子的数据,我们可以问这些问题:

  • Laura 会如何评价 Pulp Fiction?
  • Laura 喜欢 The Godfather, 那她还会喜欢其他那些电影?
  • Laura 下一个评价的电影会是那个?

推荐系统的主要任务,就是回答这些问题。

推荐系统和 回归/分类 任务的不同点:

拿电影推荐来举例, 如果可以提取出来用户和电影的特征, 那么一个对用户评分的回归模型可以表示成:

\operatorname{rating}(\text { user }, \text { movie })=\left\langle{\phi(\text { user, movie })}_{\text {user and movie features }}, \theta\right\rangle (4.3)

如果用户和电影可以独立的获取, 那么对于一个线性模型, 上面的式子可以写成:

image.png

也就是说, 评分结果可以分为用户评分 f(u) 和 物品评分f(i) , 那么用户对于一个没看过的电影评分应该是:

image.png

那么对于任意一个观众来说, 因为他自己的 f(u) 是固定的, 不会随着电影不同而变化; 那么,预测的用户评分完全取决于电影自身的特征 f(i) 。 所以,对所有人的推荐都将是相同的。 这就不是个性化算法了。

为了克服这个问题,模型必须以某种方式捕捉用户和物品之间的交互,例如。用户与特定电影的兼容性如何。显式的建模用户和项目之间的交互是推荐系统的主要目标,也是将它与其他类型的机器学习区分开来的主要特征。

推荐系统与其他机器学习的差异

交互数据的表征

对于用户物品交互数据,有好几种表示方法, 其中常用的一种是 (u, i, r, t) 或者 r_{u, i, t} \in \mathbb{R}, 它表示用户 ut 时刻为 物品 i 的评价为 r

但从概念上讲,根据集合或矩阵来考虑这些数据更容易。

  • 集合更好: 建立用户之间根据他们消费过的物品集的相似性(或者类似地根据消费过的用户集建立物品之间的相似性)
  • 矩阵更好 :开发基于矩阵分解(或降维)概念的模型时
用集合表示活动:

在简单的推荐模型中,我们可以用用户购买的商品集合来描述用户和物品的联系。
这种模式下, 用户的表示:
I_{u} = \text{set of items consumed by } u
物品的表示:
U_{u} = \text{ set of users who consumed item } i

用矩阵表示活动:

可以用行,列分别表示用户和物品:

image.png

每一行代表一个单独的用户, 每一列代表一个物品。 C_{i,j} 代表用户 i 和 物品 j 的交互, \cdot 代表该用户和物品没有交互数据。

集合表示与矩阵表示其实都很简单, 不能表示复杂的信息。 比如, 矩阵表示无法存储时间信息, 以及其他metadata, 而集合表示连评分信息都表示不了。 但是它们可以作为我们的起点, 也是未来进行更复杂分析的基石。

相关文章

  • [PML 30] C4S1 推荐系统介绍

    从 [PML 6] 直接跳到本章, 主要是2,3 的内容过于基础。等以后有时间再做那个部分的笔记吧,序号先留着。 ...

  • [PML 1] 介绍

    今天上课, 老师推荐了一本讲推荐系统的书 Personalized Machine Learning。 看了第一章...

  • 推荐系统介绍

    https://mp.weixin.qq.com/s/DofYtvZCe-7RTicLqYtL4A

  • 推荐系统架构-1 推荐系统

    目录 一、推荐系统 1、推荐系统介绍 1.1 什么是推荐系统 1.2 推荐方法 1.3 推荐系统的应用 1.4 评...

  • 一窥推荐系统的原理

    一、推荐系统介绍 一句话介绍推荐系统的作用: 高效地达成用户与意向对象的匹配。 1.1 推荐系统的应用 推荐系统是...

  • 推荐系统实战第01课 推荐系统简介

    @[toc](推荐系统实战第01课 推荐系统简介) 推荐系统介绍(what why where) Industri...

  • 常见推荐系统介绍

    本文主要是对项亮的推荐系统实践部分章节进行了一些总结,先从什么是推荐系统开始讲起,然后介绍了评测推荐系统的指标和方...

  • 一文简单理解推荐系统

    本文主要介绍什么是推荐系统,为什么需要推荐系统,如何实现推荐系统的方案,包括实现推荐系统的一些常见模型,希望给读者...

  • 社会现状

    17821774728陈1221 3月14日邻居介绍我到PMI社区。之前邻居时常大概介绍一些PMl运作模式,说这是...

  • 基于协同过滤算法的推荐系统

    推荐系统有着广泛的应用,电影推荐,商品推荐等都用到推荐系统。本文介绍协同过滤算法的基本原理,进而理解推荐系统的实现...

网友评论

      本文标题:[PML 30] C4S1 推荐系统介绍

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