[PML 30] C4S1 推荐系统介绍

从 [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, 而集合表示连评分信息都表示不了。 但是它们可以作为我们的起点, 也是未来进行更复杂分析的基石。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容