首席数据官

Hi, 请登录

电商“猜你喜欢”,你知道算法是怎样的吗?快来get新技能吧!

一、推荐系统概述和常用评价指标

1.1 推荐系统的特点

在知乎搜了一下推荐系统,果真结果比较少,显得小众一些,然后大家对推荐系统普遍的观点是:

(1)重要性UI>数据>算法,就是推荐系统中一味追求先进的算法算是个误区,通常论文研究类的推荐方法有的带有很多的假设限制,有的考虑工程实现问题较少,推荐系统需要大量的数据整理和转化,同时更需要考虑公司业务特性以及与现有系统的集成,方能形成推荐系统和业务之间的良性循环;

(2)推荐系统离线测试很好,上线后要么没有严格的测试结果而只能凭感觉,要么实际效果差强人意,我想主要缘于离线测试比较理想,而在线AB冠军测试无论对于前端还是后台要求都很高,没有雄厚的研发实力难以实现;

(3)推荐系统受到的外部干扰因素特别多(季节、流行因素等),整个系统需要不断的迭代更新,没有一劳永逸的事情。

1.2 推荐系统的评价指标

由于推荐系统比较复杂,所以涉及到的评价指标也很多。当然,用户满意度最为的有效,因为这本来就是推荐系统的最终目标,但是奈何资源有限成本太高,推荐系统还依赖于其它客观评价指标。

(1)推荐准确度:这个参数可以离线计算所得,而且较为的客观,所以是各大研究论文算法最重要的参考指标。总体来说,推荐系统有两大任务:“预测”和“推荐”,所以推荐系统准确度的评分包括:

(2)覆盖率:体现了挖掘算法对发掘长尾商品的能力。最简单的定义是,对所有用户推荐出的产品做并集,然后看这个出现的并集产品与总产品数中所占的比例,这种方式比较的粗线条,因为推荐系统中马太效应频繁,所以好的推荐算法应当是所有商品被推荐的几率差不多,都可以找到各自合适的用户,所以实际中会考虑信息熵、基尼系数等指标。

(3)多样性:其原理可以表述为不在一棵树上吊死。因整个推荐系统涉及到的因素太多,如果只推荐用户一个类别的相似物品,失败风险比较的大,而且也难以实现整个推荐效益的最大化。

(4)新颖性:原理就是那些用户没有接触过、没有操作过的商品,或者是流行度比较低的商品,对用户来说是比较新鲜的物品,往往会有意外的效果。个人觉得这个指标有点扯~~

(5)信任度:这个指标比较的主观,就是让用户信任推荐系统做出的推荐是有根据有理由的,以及推荐系统内部是如何运作的。例如亚马逊的商品推荐会给出推荐理由,作为用户的我会觉得很贴心,否则用户会觉得商家的利益驱动而带有抵触心理。

(6)健壮性:比如针对关联推荐算法,商户恶意下单提高产品的推荐频率,水军恶意评论等。


二、静态数据推荐

基本上绝大多数算法都会利用用户-产品的交互数据动态生成个性化的推荐。而静态数据指还没生成用户交互数据的时候,这种情况在系统冷启动的时候尤为的常见,常常使用的静态数据包括:

(1)用户注册时候的性别、年龄、地域、学历、兴趣等人口统计学信息;

(2)授权的社交网络账号的好友信息;

这类基于推荐方法简单,可以根据每类用户预先设置好推送内容,也可以根据同类用户相互之间进行推送,但是这种方法面临着推荐颗粒度较大,对于涉及个人品味爱好的个性化强的商品,参考价值有限,同时在大家隐私意识加强的情况下,这类数据不见得能够轻易得到;第二类社交网络好友信息效果会比较好,但也需要相应的平台授权接入才可以。

然后这里引申出对于新加入的用户和新加入的商品的冷启动问题:


三、基于内容的推荐

其主要根据用户之前的喜好,推荐相似的物品。该系统包括用户属性和产品属性两方面构成,前者包括用户的固有属性(比如人口统计信息)以及用户的历史商品交互信息(比如对看过电影的评分,然后得到该用户对于喜欢电影的属性描述)淘宝大数据应用案例,后者是对商品的本身属性描述,这样通过简单的余弦相似度就可以实现推荐了。同时也能感觉到,对于同类型的物品描述维度相似,这种算法会工作的比较好,对于电商千奇百怪的商品,可能工作效果一般。

这个方法核心要解决的问题是推荐是否具有扩张性,如果根据用户之前的爱好只不断推荐同类的产品,显然整个推荐系统的价值就十分有限,但是如果能准确推荐其他不同类别的商品就会很好了。

Pandora的音乐推荐就是个典型的基于内容的推荐系统,他们把音乐使用各种维度的属性进行描述,然后根据用户之前的兴趣爱好推荐相似属性风格的音乐。


四、协同过滤算法

协同过滤算法算是推荐系统中最经典的算法了,也称为基于领域的算法。协同过滤牵涉到用户和商品的交互信息,也就是用户行为,而一般用户对于商品的行为反馈有:

显性反馈行为——用户明确表现出对某项产品和的喜好,比如用户对商品的打分、评论等信息。

隐性反馈行为——不能明确代表用户对产品喜好的行为,比如页面浏览行为等,这类数据量的比较多,常常伴有大量的噪音,需要经过处理和转化才可能有实际的用途。

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

淘宝大数据应用_视频监控大数据的关键技术和应用_淘宝大数据应用案例

其基于的假设是——喜欢类似物品的用户可能有相同或者相似的口味和偏好。UserCF实现的步骤包括:

(1)找到与目标用户兴趣相似的用户群;

假设用户u和v的正反馈的商品集合为N(u),N(v),那么两者兴趣相似度可以记为

(2)找到这个集合中用户喜欢的,而目标用户没有听说过得商品推荐之;

UserCF提供的一个参数K表示要考虑目标用户兴趣最相似的人的个数,在保证精度的同时,K不宜过大,否则推荐结果会趋向于热门商品,流行度指标和覆盖度指标都会降低。

4.2 基于内容的协同过滤算法(ItemCF)

目前用的最广泛的推荐算法,不是通过商品本身,而是通过用户对商品的行为来计算商品之间的相似度,其假设能够引起用户兴趣的商品,必定与其之前评分高的商品相似。ItemCF的操作步骤包括:

(1)计算商品之间的相似度。

物品相似度可以表示为(其实跟前面的支持度比较像)

第二个式子比第一个式子好在可以惩罚过热产品j。

(2)根据商品的相似度和用户的历史行为,给用户生成推荐列表。

4.3 基于模型的协同过滤算法

User-CF和Item-CF合称为memory-based CF,而model-based CF使用一般机器学习的方式,其基于样本的用户喜好信息,训练出一个推荐模型,然后根据实时的用户喜好的信息进行预测和计算推荐。

常用的模型包括LSI、贝叶斯网络等。

淘宝大数据应用案例_淘宝大数据应用_视频监控大数据的关键技术和应用

4.4 UserCF和ItemCF之间的比较

在现实的情况中,往往物品的个数是远远小于用户的数量的,而且物品的个数和相似度相对比较稳定,可以离线完成工作量最大的相似性计算步骤,从而大大降低了在线计算量,基于用户的实时性更好一些。但是具体使用的场景,还需要根据具体的业务类型来区分,User-CF偏重于反应用户小群体热点,更具社会化,而Item-CF在于维持用户的历史兴趣,比如:

对于新闻、阅读类的推荐,新闻阅读类的信息是实时更新的,所以ItemCF在这种情况下需要不断

试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

二维码
评论