前言:
此刻各位老铁们对“基于最短路径的随机游走算法研究与应用”可能比较着重,咱们都需要了解一些“基于最短路径的随机游走算法研究与应用”的相关知识。那么小编也在网摘上汇集了一些对于“基于最短路径的随机游走算法研究与应用””的相关资讯,希望咱们能喜欢,小伙伴们快快来了解一下吧!笔者重读《推荐系统实践》,总结了其中要点,也阐述了自己的一些想法,分享给大家,供大家参考学习。
在这个信息过载的时代,个性化推荐系统是我们日常都会接触到的,最近因为要给小伙伴分享,重新过了一下《推荐系统实践》这本书的内容,也把其中一些要点整理分享出来。
首先来说说,为什么要有个性化推荐系统,主要是为了以下两点:
解决信息过载问题;挖掘长尾物品/信息。
推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾物品准确推荐给需要它的用户,帮助用户找到他们感兴趣但很难发现的物品。
推荐算法评估指标准确率:准确率是针对预测结果而言的,表示给用户推荐的物品中,有多少是真正感兴趣的。召回率:召回率是针对推荐的结果,它表示的是用户感兴趣的物品中,有多少个是系统推荐的。覆盖率:反映了推荐算法挖掘长尾物品的能力,如果所有物品都至少推荐给了1个用户,则覆盖率为100%。流行度:根据推荐物品的平均流行度进行度量,如果推荐物品的流行度都比较高,则物品新颖度比较低。
常用推荐算法
协同过滤算法是基于用户行为数据设计的推荐算法,其中主要包括三类算法:「基于领域的方法」、「隐语义模型」、「基于图的随机游走算法」,这里主要给大家介绍一下「基于领域的方法」,分为User CF和Item CF两种。
基于用户的协同过滤(User Collaborative Filtering)
User CF的基础逻辑是给用户推荐和他兴趣相似的其他用户喜欢的物品,步骤如下:
找到和目标用户兴趣相似的用户集合;找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
设有两个用户u和v,N(u)表示用户u曾经有过正反馈的物品集合,可通过以下方式计算两个用户的兴趣相似度:
Jaccard公式:
计算余弦相似度:
得到用户的兴趣相似度后,选择与用户兴趣最相似的K个用户,将他们的兴趣物品(并排除目标用户已反馈过的物品),推荐给目标用户。
算法缺点
随着网站用户数目越来越大,计算用户兴趣相似矩阵越来越困难;运算时间复杂度和空间复杂度与用户数增长近似于平方关系。
因此,亚马逊推出了-item CF。
基于物品的协同过滤(Item Collaborative Filtering)
User CF的基础逻辑是给用户推荐和他之前喜欢的物品相似的物品,步骤如下:
计算物品之间的相似度;根据物品的相似度和用户的历史行为给用户生成推荐列表。
通过计算喜欢物品 i 的用户中有多少也喜欢物品 j,来计算两个物品的相似度:
得到物品的相似度后,选择与其最相似的K个物品集合,推荐给目标用户。
User CF与Item CF算法的对比
推荐系统的评估维度
评估一个推荐系统的质量,需要综合多个维度进行评估,核心维度如下:
用户满意度:用户后续行为反馈,调研预测准确度:准确度/召回率覆盖率:对物品长尾的挖掘能力,注意马太效应的影响多样性:用户兴趣类型分布新颖性:排除用户历史反馈物品,排除热门物品惊喜度:非用户历史兴趣,但是满意信任度:透明度,推荐机制解释程度实时性:是否可以针对用户行为实时进行反馈健壮性:防攻击,反作弊商业目标达成情况
冷启动
除了以上所述,搭建推荐系统,还需要考虑的一个重要问题就是“冷启动”,涉及冷启动的场景主要有以下三类:
1. 用户冷启动
一个新用户,没有任何历史行为数据,怎么做推荐。
2. 物品冷启动
一个新上线的物品,没有用户对它产生过行为,怎么推荐给感兴趣的用户。
3. 系统冷启动
一个新开发的网站,没有用户数据,怎么做个性化推荐。
根据系统的场景属性,可以设计不同的冷启动方式:
提供非个性化推荐;利用用户注册信息如年龄性别等做粗颗粒度推荐;利用用户社交关系;新用户要求对一系列物品进行反馈;对应新物品,利用内容属性推荐给相似物品感兴趣用户;专家搭建多维度标签体系。
设计一个健全的推荐系统,算法和策略需要综合考虑多项因素,包括服务器、计算资源成本,人力成本,可持续性和可扩展性等。
高质量的推荐系统会使用户对系统产生依赖,因此,推荐系统不仅能为用户提供个性化服务,还能与用户建立长期稳定的关系,提高用户忠诚度,防止用户流失。
希望我的梳理可以给到一些启发和参考。
本文由 @orca 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
标签: #基于最短路径的随机游走算法研究与应用