协同过滤模型

今年早些时候看了一下协同过滤( Collaborative Filtering )的综述,看到 model-based 和 graph 方法,还只是觉得不明觉厉。然后,最近有两件事促使我再次看起这个模型,一个是同学的毕设可能会从这个方面着手做一些东西,另一方面,穿衣搭配算法比赛也用到了类似 graph 的商品关联想法。

对于协同过滤,一个比较好的入门例子可以百度一下,或者参考这篇博客。协同过滤有两个关键点:一个是构建评分矩阵,另一个是寻找相似用户和商品。

协同过滤的核心想法是通过寻找相似的用户,然后根据相似用户的关系进行推荐。例如,A 和 B 相似,而 B 喜欢 C ,那么猜测 A 也喜欢 C。在连续剧里可能比较狗血,但是如果真的能够抓住 A 和 B 的相似性(例如都喜欢小清新),那么 A 喜欢 C 也是很可能的。这样,用户与用户之间就建立起了联系,关系网就形成一张图(graph)。

协同模型最具影响力的例子是来自用户-商品(User-Item)的评分矩阵,大多数讲解都是从用户评分矩阵中,通过计算相似性进行推荐的。而评分矩阵式是一个比较有意思的东西,它并不直接根据某些内容指标对用户进行相似度的评估,而是根据用户的打分记录『挖掘』出用户的喜好。例如,A 喜欢商品 I 和商品 J,而 B 也喜欢商品 I 和商品 J,且商品 I、 J 喜欢的人又不是很多,那么是不是就可以认为 A 和 B 十分相似呢?从这个方面来看,协同过滤就和一般的基于内容(content-based)的方法区别开来。目的实际上是通过评分的不同找出用户喜好的不同方面,从而推荐,想想平时我们的朋友圈其实也是这样的 - - || 。

而评分矩阵实际上应该是用户行为汇总矩阵,但是在一般的兴趣社区(例如豆瓣),评分矩阵可以简化为用户对某电影、某书籍的评分。而对于其他没有明显评分的事情,实际上也可以归纳到评分,例如某些音乐电台可以根据收听次数确定一个用户对某音乐的喜好程度,那么这个次数就可以认为是一种评分。当然,评分应该有一个更严格的定义,例如存在一个理论上届和下界,满足对称性等等。怎样定评分也是协同过滤需要解决的一个很重要的问题。

另外,基于评分矩阵来计算相似性的时候,要考虑的是非缺失值。但是往往矩阵是『稀疏的』,也就是缺少用户的评分。两个用户评分的商品可能没有交集,也就不能比较相似性了。于是,考虑一种称为矩阵分解的技术就很有必要。矩阵分解(matrix factorization)是通过迭代计算两个矩阵相乘,使得结果中对应位置的值刚好是原来稀疏矩阵的值。那么分解出来的两个矩阵就可以看做是原矩阵在两个维度(用户和商品)的一种分解,其中的行向量或者列向量就可以作为各维度的特征进行相似度的比较。

但是,网站一开始没有评分记录啊。即便网站有了,新用户也没有评分记录,用这种方法怎么进行推荐?这个称为『冷启动问题』。和『稀疏性』有点类似,也是因为信息缺失,即使通过矩阵分解,也未必可以得到理想的值。现有的方法……记得在社交网络上注册一个用户的流程么?它会问你喜欢什么、关注什么人——也就说在猜你的评分向量了。所以注册的时候需要麻烦点,但是对于你短期内浏览这个社交网络(例如微博)还是很有帮助的。

不过,人们还想到了通过你的profile(例如你在社交网络中注册的个人信息)和内容的profile(文本分析?音频分析?视频分析?)进行内容的推测。某深度学习文章也曾结合过两者——首先取定一个比较稠密的用户商品评分矩阵,进行矩阵分解得到两个特征矩阵,然后用深度学习通过内容特征(就是从上文profile中提取的)训练处分解后的矩阵。那么新用户就可以通过这个深度学习模型解决冷启动问题了。

总之,尽可能从现有信息找用户喜欢,就是解决这类问题的关键了。

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

推荐阅读更多精彩内容