个性化推荐系统:深度解析与实战应用
个性化推荐系统通过阅读趋势分析来优化图书推荐列表。 #生活乐趣# #阅读乐趣# #阅读趋势分析#
概述
推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。
推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。
个性化推荐系统的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网站的点击率和转化率。个性化推荐的成功应用需要两个条件,第一是存在信息过载,用户看不完所有物品,第二是用户没有明确需求。
定义没有明确需求的用户访问了服务,且服务的物品对用户构成了信息过载。系统通过一定的规则对物品进行排序,并将排在前面的物品展示给用户
分类 社会化推荐:向朋友咨询,让好友给自己推荐物品基于内容的推荐:根据查找的内容,看返回结果里有哪些用户是没用过的基于协同过滤的推荐:找到与用户历史兴趣相似的用户集合,找到这个集合中的用户喜欢的,且目标用户没有使用过的物品推荐给目标用户。基于流行度的推荐:根据物品的流行程度,推荐热门物品给用户 要素 UI和UE(前端界面)数据(Lambda架构)业务知识算法 架构
实验方法
离线实验 通过日志系统获得用户行为数据,生成一个标准数据集;在数据集上进行训练,通过事先定义的离线指标评测算法在测试集上预测结果。优点是速度快、不需要用户参与实验、不需要实际系统
缺点是无法获得点击率、转化率等商业关注指标、离线指标和商业指标存在差距
用户调查需要有真实用户,需要用户在推荐系统上完成一些任务,记录用户行为,通过分析他们的行为了解系统性能。
优点是可以获得很多体现用户主观感受的指标
缺点是招募测试用户成本高,需要保证测试用户的分布与真实分布相同,需要保证是双盲实验
AB测试通过一定规则将用户随机分成几组,并对不同组的用户采用不同的算法,通过统计不同组用户的各种不同的评测指标比较不同算法。
优点是可以公平获得不同算法实际在线时的性能指标
缺点是周期比较长,需要长期的实验才能得到可靠的结果。需要切分流量控制不同层之间的流量是正交的
在在线系统中,用户满意度主要通过一些对用户行为的统计得到。一般情况下可以用点击率、用户停留时长和转化率等指标度量用户的满意度。预测准确度:通过离线实验计算,需要包含用户历史行为记录的数据集,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。
一般预测准确度指标有评分预测(通过均方根误差和平均绝对误差计算)、TopN推荐(通过准确率或召回率度量)、覆盖率(推荐出的物品占总物品集合的比例;为了保证所有物品出现次数差不多,用信息熵和基尼系数来衡量)多样性:提高推荐列表的多样性,覆盖用户绝大多数兴趣点,增加用户找到感兴趣物品的概率。新颖性:指给用户推荐他们没有听说过的物品。通过牺牲精度来提高多样性和新颖性是很容易的,困难的是如何在不牺牲精度的情况下提高多样性和新颖性。惊喜度:令用户惊喜的推荐结果是和用户历史上喜欢的物品不相似,但用户却觉得满意的推荐。信任度:如果用户信任推荐系统就会增加用户和推荐系统的交互。度量信任度只能通过问卷调查的方式,询问用户是否信任推荐系统的推荐结果。提高信任度的方法有增加推荐系统的透明度,提供推荐解释;其次是考虑用户的社交网络信息,利用用户的好友信息给用户做推荐,并用好友进行推荐解释。实时性:实时性包括两个方面,首先需要实时地更新推荐列表来满足用户新的行为变化;第二是能够将新加入系统的物品推荐给用户,考验处理物品冷启动的能力。健壮性:衡量推荐系统抗击作弊的能力,主要利用模拟攻击。商业目标:注重网站的商业目标是否达成。 评测维度 用户维度:用户的人口统计学信息、活跃度、是不是新用户物品维度:物品的属性信息、流行度、平均分、是不是新物品时间维度:季节、工作日或周末、白天或晚上 用户行为
用户行为数据在网站上最简单的存在形式是日志。网站运行过程中会产生大量原始日志,多种原始日志可以按照用户行为汇总成会话日志,每个会话标识一次用户行为和对应的服务。
用户行为在个性化推荐系统中一般分为显性反馈行为(用户明确表示对物品喜好)和隐性反馈行为(页面浏览行为等)
一个用户行为数据集通常含有用户ID、物品ID、行为种类、行为上下文(时间和地点等)、行为的权重、行为的内容。产生行为的用户和行为的对象是必须包含的。
冷启动问题 用户冷启动:为新用户做个性化推荐。收集用户特征,引导用户填写兴趣,使用其他站点的行为数据,构建用户画像;根据用户的标签做人群聚类;基于流行度推荐物品冷启动:给物品打标签,利用物品的内容信息,基于内容推荐系统冷启动:系统早期先使用基于内容的推荐;随着用户行为积累,逐渐过渡到协同过滤;基于内容的推荐和协同过滤的推荐结果进行加权Lambda架构
推荐算法架构
常用推荐算法
协同过滤算法仅仅基于用户行为数据设计的推荐算法一般称为协调过滤算法。学术界提出的有基于邻域的方法、隐语义模型、基于图的随机游走算法等。业界最广泛应用的是基于邻域的方法,包括基于用户的协调过滤算法(给用户推荐和他兴趣相似的其他用户喜欢的 物品)、基于物品的协同过滤算法(给用户推荐和他之前喜欢的物品相似的物品)
基于用户的协同过滤算法 找到和目标用户兴趣相似的用户集合。找到这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。 基于物品的协同过滤算法 计算物品之间的相似度根据物品的相似度和用户的历史行为给用户生成推荐列表 相似度计算方法 余弦相似度 c o s θ = X ⋅ Y ∥ X ∥ ∥ Y ∥ cos\theta=\frac{X \cdot Y}{\|X\|\|Y\|} cosθ=∥X∥∥Y∥X⋅Y皮尔逊相关系数 p = E [ ( X − μ x ) ( Y − μ y ) ] σ x σ y p=\frac{E[(X-\mu_x)(Y-\mu_y)]}{\sigma_x\sigma_y} p=σxσyE[(X−μx)(Y−μy)]Jaccard相似度 J = ∣ X ∩ Y ∣ ∣ X ∪ Y ∣ J=\frac{|X \cap Y|}{|X \cup Y|} J=∣X∪Y∣∣X∩Y∣ 基于图的模型 将用户行为数据表示为二分图,基于二分图为用户进行推荐根据两个顶点之间的路径数、路径长度和经过的顶点数来评价两个顶点的相关性。 基于矩阵分解的方法 根据用户与物品的潜在表现,可以预测用户对未评分的物品的喜爱程度将 M × N M \times N M×N维的用户-物品评分矩阵近似分解成两个小矩阵的乘积,可以实现数据降维两个小矩阵分别是用户对商品隐含特征的偏好矩阵,另一个是商品所包含的隐含特征的矩阵网址:个性化推荐系统:深度解析与实战应用 https://www.yuejiaxmz.com/news/view/678636
相关内容
深度解析京东个性化推荐系统探索个性化购物之旅:深度解析商品推荐系统
Python推荐系统实战:构建个性化推荐系统
新兴短视频应用的个性化推荐系统深度解析与使用体验分享
Python实现个性化美食推荐系统:从算法到实战全解析
深度解析京东个性化推荐系统演进史
深度解析与展望,个性化推荐与智能技术应用的影响
聚类分析与推荐系统:用户行为分析与个性化推荐
推荐系统与个性化服务
智能推荐系统在个性化体检服务中的应用与挑战