利用用户数据——《推荐系统实践》第二章读书笔记

一、书籍介绍

《推荐系统实践》项亮编著,陈义、王益审校,人民邮电出版社。

本篇读书笔记主要针对该书的第二章内容。

二、结构概览


利用用户数据书籍结构

三、主要内容

推荐结果是否好,取决于我们是否深入用户。我们可以通过用户留下的文字和行为了解用户兴趣和需求。有两种方法了解用户兴趣,第一,用户在注册的时候主动告诉我们喜欢什么,但是存在一定的缺点a)是否能理解用户的描述语言;b)兴趣的不断变化无法知晓;c)用户是否可以准确描述自己的兴趣。第二,利用算法自动挖掘用户行为数据,推测出用户喜欢什么。

用户行为本身是蕴含一定规律的,算法就是要通过计算机去发现这些数据中蕴含着的规律,从而为产品设计提供指导,提高用户体验。

1. 用户行为数据简介

用户行为一般在个性化推荐系统中分为两种:

1)显性反馈行为:明确表示对物品喜好(如有些网站的评分、喜欢不喜欢等)

2)隐性反馈行为:明确表示对物品喜好(如页面浏览行为)-数据量大

按照反馈方向还可以分为正反馈和负反馈。在隐性反馈行为中较难区分正负反馈。

2.用户行为分析

通过去了解用户行为数据的规律去对算法设计起指导作用。

(1)用户活跃度和物品流行度的分布

用户行为数据同时也满足长尾分布的规律,即物品流行度和用户活跃度均满足长尾分布。(物品流行度指对物品产生过行为的用户总数。用户活跃度指用户产生过行为的物品总数。)用公式表达即:

fi(k)为被k个用户产生过行为的物品数;fu(k)为对k个物品产生过行为的用户数。

(2)用户活跃度和物品流行度的关系

a)新用户会倾向于阅读热门物品。用户越活跃,越倾向于浏览冷门物品。

b)基于用户行为数据设计的推荐算法一般称为协同过滤算法。后面将详细介绍各种算法。

3. 基于邻域的算法

(1)基于用户的协同过滤算法(UserCF)

-基础算法

定义:当一个用户A需要个性化推荐时,可以先找到和他相似兴趣的其他用户,然后把那些用户喜欢的、而用户A没有听说过的物品推荐给A。

步骤:1⃣️找到和目标用户兴趣相似的用户集合;2⃣️找到这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。

公式表达如下:

1⃣️计算用户兴趣相似度


jaccard公式
余弦相似度


代码实现:可以先计算出交集不为0的用户集合。

2⃣️推荐和他兴趣相似的K个用户喜欢的物品


用户u对物品i的感兴趣程度;s(u,k)包含和用户u兴趣最接近的k个用户,N(i)时对物品i有过行为的用户集合,Wuv是用户u和用户v的兴趣相似度,r代表用户v对物品i的兴趣

*K个和他兴趣相似用户的选取是UserCF算法中的重要参数。K值和准确率召回率无线性关系,选择合适的K对于获得高的推荐系统精度比较重要。K越大,推荐结果越热门。K越大覆盖率越低。

-用户相似度计算的改进

问题1:对热门物品,很多用户都可能会有相似行为(比如可能所有人都会买新华字典,但不代表他们兴趣相似)

解决方案:惩罚用户共同兴趣列表中热门物品对他们相似度的影响。


(2)基于物品的协同过滤算法(ItemCF)

典型运用:亚马逊、YouTube

-基础算法

定义:给用户推荐那些和他们之前喜欢的物品相似的物品。(注意:ItemCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为计算物品之间的相似度。例如物品A和B有很大相似度是因为喜欢物品A的用户大都也喜欢物品相似度)

步骤:1⃣️计算物品之间的相似度。2⃣️根据物品的相似度和用户的历史行为给用户生成推荐列表。

步骤1⃣️公式:


喜欢物品i的用户中有多少比例的用户也喜欢物品j

公式优化:任何物品都会和热门的物品有很大的相似度。


惩罚物品j的权重

实现:建立用户-物品倒排表——C矩阵——余弦相似度矩阵

步骤2⃣️

公式:

用户u对物品j的兴趣

*精度也是和K无线性关系,随着K增加,结果流行度会逐渐提高,但当K增加到一定程度,流行度就不会再有明显变化。K增加会降低系统的覆盖率。

-用户活跃度对物品相似度的影响

问题:有些用户活跃并不能代表自身的兴趣(如开书店的买了很多书来卖)

解决方案(ItemCF-IUF):


IUF:活跃用户对物品相似度的贡献应该小于不活跃的用户,增加参数修正

-物品相似度归一化

提高推荐的准确率,提高推荐覆盖率和多样性。


最大值归一化

(3)UserCF和ItemCF的综合比较

-UserCF的推荐结果着重于反映和用户兴趣相似的群体的热点,更社会化;而ItemCF的推荐结果着重于维系用户的历史兴趣,更个性化。

优缺点对比

-思考:为什么一般新闻网站一般都使用UserCF?

第一,新闻用户兴趣个性化程度一般比较粗粒度,比较注重时效性和热门程度,推荐和他相似爱好的用户阅读的新闻,即保证了时效性又有一定的个性化。

第二,新闻更新非常快,如果使用ItemCF没需要维护一张更新很快的物品相关度的表,技术实现有困难。UserCF只需维护用户相似性表。

-哈利波特问题

问题:《哈利波特》太热门,几乎购买任何一本书的人都会购买。

解决方案:加大对热门物品的惩罚。(但仍旧无法完全解决问题。

问题的本质:两个不同领域的最热门物品之间往往具有比较高的相似度。解决方案:引入物品的内容数据结局这个问题。

4. 隐语义模型

a)基础算法

定义:从数据出发,基于用户行为统计自动聚类。(主要针对推荐方法对物品兴趣进行分类,对于用户先得到他的兴趣分类,然后从分类中选他可能喜欢的物品)

LFM公式:


用户u对物品i的兴趣

针对隐性反馈数据,负样本采样遵循的原则:对于每个用户,保证正负样本均衡(数目相似);对每个用户采样负样本时,要选取那些很热门但是用户没有行为的。

LFM模型的缺点:很难实现实时的推荐,一般只能每天训练一次。

b)LFM与基于领域方法的比较。

-理论基础:LFM学习方法;基于领域的方法统计方案;

-离线计算的空间复杂度:LFM优于基于领域的方法,节省内存。

-离线计算的时间复杂度:一般而言,LFM的时间复杂度高于基于领域的方法,但实际上没有质的区别。

-在线实时推荐:LFM基本可以认为无法在线实时推荐,基于领域的方法可以。

-推荐解释:ItemCF可以,LFM无法提供。

5.基于图的模型

(1)用户行为数据的二分图表示

用户二分图模型

(2)基于图的推荐算法

给用户u推荐物品就转化为度量用户顶点和与顶点没有直接相连的物品节点再图上的相关性,相关性越高的物品推荐权重越高。

-相关性取决因素:

*两个顶点之间的路经数;

*两个顶点之间的路径长度;

*两个顶点之间的路径经过的顶点。

-PersonalRank算法:随机游走。

-PersonalRank算法缺点:时间复杂度上。解决方案:减少迭代次数;从矩阵论出发,重新设计算法。

四、思考与总结

用户行为数据是推荐算法的基础,在这个领域已经有非常多的研究,对于应该选择那种类型的计算模型,我们应该根据自身的产品的性质进行选择,以目标为导向,结合技术实现。

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

推荐阅读更多精彩内容