利用用户行为数据


1.背景

1.1如何了解用户的兴趣和需求:通过用户留下的行为和文字的方式了解

1.2现行了解用户需求的方法

(1)主动

用户在注册的时候主动告诉我们喜欢什么

缺点:我们可能对用户的描述语言存在歧义、用户的兴趣会发生变化、用户无法精准的描述自己的兴趣

(2)被动

利用算法自动挖掘用户行为数据,推测出用户喜欢什么

由于用户的行为的行为非随机,通过用户与网站的互动,用户自身的推荐列表能够不断更新,过滤掉自己不喜欢的物品,从而满足自己的需求

2.用户行为数据简介

用户行为数据是用户在产品上的各种操作行为,比如浏览、点击、播放、购买、搜索、收藏、点赞、评论、转发、加购物车、甚至滑动、暂定、快进快退等等一切操作行为。用户在产品上的操作行为为我们了解用户提供了线索,用户的操作行为也是用户真实意图的反馈。通过挖掘用户行为,我们可以获得对用户兴趣偏好的深刻洞察。

2.1.按照反馈的明确性可以分为

2.1.1.显性反馈行为

明确表示对物品喜好,主要方式为评分以及喜欢/不喜欢

2.1.2.隐形反馈行为

无法明确反应用户的喜好和行为:具有代表性的行为就是用户的页面浏览行为

2.2.按照反馈的方向可以分为

正反馈:用户的行为倾向于用户喜欢该商品

负反馈:用户的行为倾向于用户不喜欢该商品

3.用户行为分析

3.1用户活跃度和物品流行度的分布

物品流行度和用户活跃度均满足长尾分布,越活跃的用户单个的值虽然极低,但是这个长长的尾巴,总和不可小觑

3.2用户活跃度和物品流行度的关系

新用户会倾向于热门物品,老用户会逐渐开始浏览冷门的物品。用户越活跃越倾向于浏览冷门物品(新用户会倾向于热门物品, 老用户会逐渐开始浏览冷门的物品)

仅仅基于用户行为数据设计的推荐算法一般称为协同过滤算法

4、实验设计和算法评测

4.1.数据集:会被分为训练集和测试集

4.2.实验方法

将用户行为数据集按均匀分布随机分成M份,挑一份作为数据集,其他作为测试集;在训练集上建立用户兴趣模型,并在测试集上对用户行为进行预测,统计相应的评价指标;为了防止过度拟合,需要在进行M次实验,并且每次都使用不同的测试集;将M次实验测出的评测指标的平均值作为最终评价指标

4.3.评测指标

5.基于邻域的算法

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

基本思想:在一个在线个性化推荐系统中,当一个用户A需要个性化推荐时,可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户A没有听说过的物品推荐给A

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

关键是计算两个用户的兴趣相似度,对两个用户喜欢物品的集合做交集(找到和目标用户兴趣相似的用户集合。)

5.1.1计算用户兴趣相似度

利用Jaccard(杰卡德)公式计算或者余弦相似度

5.1.2 User-IIF 考虑到了物品的热门程度(User-IIF)

两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似

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

根据物品的相似度和历史行为给用户生成推荐列表

为什么有了用户协同过滤的算法还需要基于物品协同过滤的算法呢?

1、用户数目的增加导致了兴趣相似度矩阵计算的困难

2、基于用户的协同过滤算法河南队推荐结果做出解释。

5.2.1.核心思想

计算物品之间的相似度,根据物品的相似度和用户的历史行为给用户生成推荐列表

5.2.2.itemIUF 考虑到了用户的活跃度(itemIUF)

认为活跃用户对物品相似度的贡献应小于不活跃用户

通过增加IUF(用户活跃度对数的倒数)参数在来修正物品相似度

6.几个指标的解释

6.1准确率Precision

推荐中的正确数据(与真实数据相同的数据)与推荐数据之比。代表推荐数据中有多少是准确的。查准。

6.2召回率Recall

推荐中的正确数据(与真实数据相同的数据)与真实数据之比。代表所有真实数据中,有多少被推荐出来了。查全。

准确率和召回率有时候两者是相冲突的(准确率Precision, 召回率Recall)如果只推荐了一个结果,且是准确的,则准确率100%,但召回率很低。如果推荐了所有的准确结果,召回率100%,准确率就有可能很低。

6.3.覆盖率Coverage

覆盖率只说明了有多少物品被推荐了,并不能展示出被推荐的次数

例如,100个用户,100个物品。其中有99个物品都只推荐给了1个人,只有1个物品推荐给了所有人。覆盖是100%,但这种推荐系统绝不是大家想要的。

6.4.流行度

就是有多少用户与此物品发生了关系,这个物品被推荐给了多少用户,或者多少用户点击了这个物品。也就是物品出现在推荐列表中的概率。

比如:同样是100个物品,100个用户,如果所有物品都出现在了推荐列表中,且推荐给了所有人,则物品流行度的分布曲线就是平的,效果好。反之如覆盖率一节所举的例子,其曲线就比较陡,效果并不好。

你可能感兴趣的:(利用用户行为数据)