作者:皓量科技 · 2021-02-23
本文为AdBright知乎账号发表的“如何搭建一个推荐系统?”原创文章,内容来自AdBright广告技术团队成员,后续也将持续不定期分享。
以下为文章全文:
在这个信息过载的时代,个性化推荐系统是我们日常都会接触到的,也是程序化广告算法的一部分。
首先来说说,为什么要有个性化推荐系统,主要是为了以下两点:
解决信息过载问题
挖掘长尾物品/信息
推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾物品/信息准确推荐给需要它的用户,帮助用户找到他们感兴趣但很难发现的物品/信息。
准确率:准确率是针对预测结果而言的,表示给用户推荐的物品中,有多少是真正感兴趣的。
召回率:召回率是针对推荐的结果,它表示的是用户感兴趣的物品中,有多少个是系统推荐的。
覆盖率:反映了推荐算法挖掘长尾物品的能力,如果所有物品都至少推荐给了1个用户,则覆盖率为100%。
流行度:根据推荐物品的平均流行度进行度量,如果推荐物品的流行度都比较高,则物品新颖度比较低。
协同过滤算法是基于用户行为数据设计的推荐算法,其中主要包括三类算法:「基于领域的方法」、「隐语义模型」、「基于图的随机游走算法」,这里主要给大家介绍一下「基于领域的方法」,分为User CF和Item CF两种。
User CF的基础逻辑是给用户推荐和他兴趣相似的其他用户喜欢的物品,步骤如下:
找到和目标用户兴趣相似的用户集合
找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
设有两个用户u和v,N(u)表示用户u曾经有过正反馈的物品集合,可通过以下方式计算两个用户的兴趣相似度:
Jaccard公式:
计算余弦相似度:
得到用户的兴趣相似度后,选择与用户兴趣最相似的K个用户,将他们的兴趣物品(并排除目标用户已反馈过的物品),推荐给目标用户。
算法缺点
随着网站用户数目越来越大,计算用户兴趣相似矩阵越来越困难;
运算时间复杂度和空间复杂度与用户数增长近似于平方关系。
因此,亚马逊推出了-item CF。
User CF的基础逻辑是给用户推荐和他之前喜欢的物品相似的物品,步骤如下:
计算物品之间的相似度;
根据物品的相似度和用户的历史行为给用户生成推荐列表。
通过计算喜欢物品 i 的用户中有多少也喜欢物品 j,来计算两个物品的相似度:
得到物品的相似度后,选择与其最相似的K个物品集合,推荐给目标用户。
评估一个推荐系统的质量,需要综合多个维度进行评估,核心维度如下:
用户满意度:用户后续行为反馈,调研
预测准确度:准确度/召回率
覆盖率:对物品长尾的挖掘能力,注意马太效应的影响
多样性:用户兴趣类型分布
新颖性:排除用户历史反馈物品,排除热门物品
惊喜度:非用户历史兴趣,但是满意
信任度:透明度,推荐机制解释程度
实时性:是否可以针对用户行为实时进行反馈
健壮性:防攻击,反作弊
商业目标达成情况
除了以上所述,搭建推荐系统,还需要考虑的一个重要问题就是“冷启动”,涉及冷启动的场景主要有以下三类:
一个新用户,没有任何历史行为数据,怎么做推荐。
一个新上线的物品,没有用户对它产生过行为,怎么推荐给感兴趣的用户。
一个新开发的网站,没有用户数据,怎么做个性化推荐。
根据系统的场景属性,可以设计不同的冷启动方式:
提供非个性化推荐;
利用用户注册信息如年龄性别等做粗颗粒度推荐;
利用用户社交关系;
新用户要求对一系列物品进行反馈;
对应新物品,利用内容属性推荐给相似物品感兴趣用户;
专家搭建多维度标签体系。
设计一个健全的推荐系统,算法和策略需要综合考虑多项因素,包括服务器、计算资源成本,人力成本,可持续性和可扩展性等。
高质量的推荐系统会使用户对系统产生依赖,因此,推荐系统不仅能为用户提供个性化服务,还能与用户建立长期稳定的关系,提高用户忠诚度,防止用户流失。
部分内容整理自《推荐系统实践》,如需了解更多推荐系统相关的知识,推荐品读原著,希望我的文章可以给到你一些启发和参考。
*以上内容仅供参考,欢迎与AdBright交流,合作共赢
作者:AdBright
本文经授权发布,不代表APP干货铺子立场。如若转载请联系原作者。
原文链接如下:https://mp.weixin.qq.com/s/stLF2vqJ79DhWFMRbE3SRQ
标签:
联系微信:18938040424
微 信 公 众 号
Copyright © 2015- APP干货铺子 版权所有 京ICP备20017819号
您的报名信息已提交!
请等待工作人员的进一步通知
皓量科技 · 2021-02-23
本文为AdBright知乎账号发表的“如何搭建一个推荐系统?”原创文章,内容来自AdBright广告技术团队成员,后续也将持续不定期分享。
以下为文章全文:
在这个信息过载的时代,个性化推荐系统是我们日常都会接触到的,也是程序化广告算法的一部分。
首先来说说,为什么要有个性化推荐系统,主要是为了以下两点:
解决信息过载问题
挖掘长尾物品/信息
推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾物品/信息准确推荐给需要它的用户,帮助用户找到他们感兴趣但很难发现的物品/信息。
准确率:准确率是针对预测结果而言的,表示给用户推荐的物品中,有多少是真正感兴趣的。
召回率:召回率是针对推荐的结果,它表示的是用户感兴趣的物品中,有多少个是系统推荐的。
覆盖率:反映了推荐算法挖掘长尾物品的能力,如果所有物品都至少推荐给了1个用户,则覆盖率为100%。
流行度:根据推荐物品的平均流行度进行度量,如果推荐物品的流行度都比较高,则物品新颖度比较低。
协同过滤算法是基于用户行为数据设计的推荐算法,其中主要包括三类算法:「基于领域的方法」、「隐语义模型」、「基于图的随机游走算法」,这里主要给大家介绍一下「基于领域的方法」,分为User CF和Item CF两种。
User CF的基础逻辑是给用户推荐和他兴趣相似的其他用户喜欢的物品,步骤如下:
找到和目标用户兴趣相似的用户集合
找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
设有两个用户u和v,N(u)表示用户u曾经有过正反馈的物品集合,可通过以下方式计算两个用户的兴趣相似度:
Jaccard公式:
计算余弦相似度:
得到用户的兴趣相似度后,选择与用户兴趣最相似的K个用户,将他们的兴趣物品(并排除目标用户已反馈过的物品),推荐给目标用户。
算法缺点
随着网站用户数目越来越大,计算用户兴趣相似矩阵越来越困难;
运算时间复杂度和空间复杂度与用户数增长近似于平方关系。
因此,亚马逊推出了-item CF。
User CF的基础逻辑是给用户推荐和他之前喜欢的物品相似的物品,步骤如下:
计算物品之间的相似度;
根据物品的相似度和用户的历史行为给用户生成推荐列表。
通过计算喜欢物品 i 的用户中有多少也喜欢物品 j,来计算两个物品的相似度:
得到物品的相似度后,选择与其最相似的K个物品集合,推荐给目标用户。
评估一个推荐系统的质量,需要综合多个维度进行评估,核心维度如下:
用户满意度:用户后续行为反馈,调研
预测准确度:准确度/召回率
覆盖率:对物品长尾的挖掘能力,注意马太效应的影响
多样性:用户兴趣类型分布
新颖性:排除用户历史反馈物品,排除热门物品
惊喜度:非用户历史兴趣,但是满意
信任度:透明度,推荐机制解释程度
实时性:是否可以针对用户行为实时进行反馈
健壮性:防攻击,反作弊
商业目标达成情况
除了以上所述,搭建推荐系统,还需要考虑的一个重要问题就是“冷启动”,涉及冷启动的场景主要有以下三类:
一个新用户,没有任何历史行为数据,怎么做推荐。
一个新上线的物品,没有用户对它产生过行为,怎么推荐给感兴趣的用户。
一个新开发的网站,没有用户数据,怎么做个性化推荐。
根据系统的场景属性,可以设计不同的冷启动方式:
提供非个性化推荐;
利用用户注册信息如年龄性别等做粗颗粒度推荐;
利用用户社交关系;
新用户要求对一系列物品进行反馈;
对应新物品,利用内容属性推荐给相似物品感兴趣用户;
专家搭建多维度标签体系。
设计一个健全的推荐系统,算法和策略需要综合考虑多项因素,包括服务器、计算资源成本,人力成本,可持续性和可扩展性等。
高质量的推荐系统会使用户对系统产生依赖,因此,推荐系统不仅能为用户提供个性化服务,还能与用户建立长期稳定的关系,提高用户忠诚度,防止用户流失。
部分内容整理自《推荐系统实践》,如需了解更多推荐系统相关的知识,推荐品读原著,希望我的文章可以给到你一些启发和参考。
*以上内容仅供参考,欢迎与AdBright交流,合作共赢
作者:AdBright
本文经授权发布,不代表APP干货铺子立场。如若转载请联系原作者。
原文链接如下:https://mp.weixin.qq.com/s/stLF2vqJ79DhWFMRbE3SRQ
标签:
联系微信:18938040424
您的报名信息已提交!请等待工作人员的进一步通知
您的报名信息已提交!
请等待工作人员的进一步通知