推荐算法-CF

分类

  • 基于领域的协同过滤。(又可以细分为基于用户和基于项)。
  • 基于模型的协同过滤。

描述

协同过滤算法(Collaborative Filtering, CF) 是一种比较常用的推荐算法。CF是对用户行为数据进行分析,找到特定模式从而对用户产生有效推荐。比如基于用户的协同过滤算法是通过用户的行为数据计算出相似的用户,通过其相似用户的喜好推荐内容。基于项的协同过滤是通过分析商品的相似性,将相似的商品推荐给用户。协同过滤算法的特点是推荐行为不依赖于项的内容。比如商品的价格,描述等内容信息。

基于用户的协同过滤算法

我们以美甲款式的推荐为例。
比如有U1,U2,U3 ,U4 4个用户,有S1,S2,S3,S4 ,S5 5种款式。三个用户对5种款式的喜好为


由上图可以得到下面的表格

| User | Style |
|:|:--|
|U1|S1,S2,S3|
|U2|S2,S4|
|U3|S2,S4|
|U4|S1,S2,S5|
|U5|S3|

根据用户对不同款式的喜爱得出用户之前的相似度,如下表。(相似度如何计算,后面会详细说明,此处不做讨论)。

| User | U1 |U2|U3|U4|U5|
|:|
|U1|1|0.25|0.25|0.5|0.3|
|U2|0.25|1|1|0.25|0|
|U3|0.25|1|1|0.25|0|
|U4|0.5|0.25|0.25|1|0|
|U5|0.3|0|0|0|1|

对于用户U4来说,与其相似程度最高的用户为U1,U1与U4的并集为S1,S2,S3,S5。所以给用户推荐的款式为S3

基于项的协同推荐算法

还是以上面美甲款式为例。
不同的款式喜爱的用户如下表:

|Style|User|
|:||
|S1|U1,U4|
|S2|U1,U2,U3,U4|
|S3|U1,U5|
|S4|U2,U3|
|S5|U4|

假设两个不同款式被同样的用户喜爱,则认为这两个款式具有相似性。
不同款式之间的相似度如下表:

|User|S1|S2|S3|S4|S5|
|:|
|S1|1|0.5|0.3|0|0.5|
|S2|0.5|1|0.2|0.5|0.25|
|S3|0.3|0.2|1|0|0|
|S4|0|0.5|0|1|0|
|S5|0.5|0.25|0|0|1|

用户U4 喜欢的款式为S1,S2,S5,而与款式S1,S2,S5 相似度最大的款式为S4

通过以上的例子,可以看到,基于项的CF和基于用户的CF算法其实很相似,只是从两个不同纬度来计算推荐结果,但是同样的,我们也能发现这两者的推荐结果是不一样的。在实际的推荐中,往往将两者相结合。

计算相似度

计算相似度的算法很多,下面将介绍常见的几种算法。

Jaccard算法

Jaccard算法是比较简单的算法,通俗的讲就是交集除以并集。公式如下:

$$J(A,B) = \frac{|\quad A\quad \bigcap \quad B\quad |}{|\quad A \quad \bigcup \quad B\quad |}$$

A,B分别代表符合某种条件的集合

欧几里德距离(Euclidean Distance)

假设 x,y 是 n 维空间的两个点,它们之间的欧几里德距离是:

$$d(x,y)=\sqrt{(\sum(x_i-y_i)^2}$$

余弦相似性

余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。

$$similarity=cos(\Theta)=\frac{AB}{||A||||B||}$$

引用

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

推荐阅读更多精彩内容