推荐算法模型 & 冷启动问题

Posted 产品经理没有日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐算法模型 & 冷启动问题相关的知识,希望对你有一定的参考价值。

最近看了园长写的,想想自己的理解还是很缺乏,就边查阅边理解,汇总出了这一篇文章。


推荐则是通过已经掌握的数据,从大量的选择项目中,判断出用户最有可能感兴趣的某些合集,在这样的场景内,用户是在被动的接受信息。


然而算法也并不总是万灵药,我在查资料的时候看到一个有趣的小故事,先来一起看看:

 

推荐算法模型 & 冷启动问题

例如在某著名电子商务网站上,每年母亲节时都有鲜花促销,十几 岁的青少年在为母亲购买鲜花之余,顺便会为自己买上几部恐怖片。

系统中的鲜花和恐怖片便建立了相似关联,在有人购买鲜花时系统便会推荐恐怖片,反之亦然。


这种推荐自然会引起很多用户的不适,对于某些主观性的因素,比如用户对系统推荐 的信任和心理感受,却有着相当负面的影响。

这些影响可能很难用具体的指标和数字来衡量,但它们对一个产品的成败来说,往往是长期的、根本性的,甚至是决定性的。

 

在数据稀疏的情况下系统偶尔也会放大噪声,给出低质量的推荐。有人甚至专门为此造了一个单词,叫做“freakommendation”,用来指代那些稀奇古怪的推荐。[i]

 

推荐算法模型 & 冷启动问题

鉴赏下几个常见的推荐思想~


1、基于流行度的算法
推荐算法模型 & 冷启动问题

理解

基于流行度的算法是相对简单的,根据PV、UV、日均PV或分享率等数据来按某种热度排序来推荐给用户,类似于各大新闻、微博热榜等。


优缺

优点是简单,适用于刚注册的新用户,没有冷启动的问题。同时缺点也很明显,无法针对用户提供个性化的推荐。

 


2、基于内容的算法
推荐算法模型 & 冷启动问题

理解

根据推荐物品或内容发现其之间的相关性,然后基于用户以往的喜好记录,浏览记录,收藏记录等等痕迹,推荐给用户相似度高的物品(拟用户偏好内容)。

这种推荐系统多用于一些资讯类的应用上,针对文章本身抽取一些标签作为该文章的关键词,继而可以通过这些标签来总结两篇文章的相似度。


优缺

优点是基于内容的推荐算法基本没有解决冷启动的问题,内容也不会由于热度的限制被埋没,也不会由于热度积累产生马太效应(指强者愈强、弱者愈弱的现象)。


弊端1是过度专业化的问题。这种方法会持续保证推荐给用户内容密切关联的物品,而失去了推荐内容的多样性。

2是对标记的物品特征精度要求高,要有很高的准确性,才能保证被推荐结果合理。比如豆瓣网采用人工维护tag的策略,依靠用户去维护内容的tag的准确性。 



3、基于协同过滤的算法
推荐算法模型 & 冷启动问题

看到一句个人认为很精准的描述:“物以类聚,人以群分”,很好的描述了这一思想的特点。


协同过滤推荐系统可分为两种类型:User-CF(基于用户的协同过滤)、Item-CF(基于物品的协同过滤)。下面就来分别理解下:

 推荐算法模型 & 冷启动问题

3.1基于用户的协同过滤


理解

首先分析各个用户对item的评价(通过浏览、购买记录等);

依据用户对item的评价计算得出所有用户之间的相似度;

选出与当前用户最相似的N个用户;

将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户。


简单来说就是大黑觉得A、B好玩,小美觉得A、B、C好玩。

那么根据两人都对A、B高评分的数据得出,给大黑推荐C这一他没有体验过的项目是合理的。

 

优缺

优点是时效性很强,有用户看过一个新的内容并且喜欢,那么和他相似的用户集就能得到推荐。

缺点是这个方法在技术实现上需要维护每两个用户之间的关系,如果用户量极大,那么带来的计算压力也是巨大的,系统性能容易成为瓶颈。

 

应用

UserCF更适合用于个性化多项目的推荐,比如:新闻平台,资讯,用户自产生内容平台等。


原因总结出了两点:

a、偏向角度:对于新闻平台来说,热门程度和时效性是个性化新闻推荐的重点,而个性化相对于这两点略显次要。

因此,UserCF可以给用户推荐:和他有相似爱好的一群其他用户,今天实时都在看的新闻内容,这样在抓住热点和时效性的同时,保证了相对程度的个性化。


b、技术角度:在这类平台上,资讯作为物品更新非常快。如果使用基于物品的协同过滤(ItemCF),需要维护每个更新的物品的相关度表,如果更新过快,那么对于每一项新增物品属性进行随时更新是很难实现的。

而UserCF只需要用户相似性表,在用户少于物品的平台,计算用户之间相似度是代价更少的。


推荐算法模型 & 冷启动问题

 3.2基于物品的协同过滤


理解

基于物品的CF主体在于物品:

分析各个用户对item的浏览记录。

依据浏览记录分析得出所有item之间的相似度;

对于当前用户评价高的item,找出与之相似度最高的N个item;

将这N个item推荐给用户。

 

简单来说就是喜欢物品A的用户大都也喜欢物品B。

当大黑喜欢《人人都是产品经理》时,算法会根据这一行为给他推荐《产品思维》,因为和大黑口味相似的小美觉得《产品思维》也很优质。


区分:基于物品的协同过滤和基于内容推荐的区别在于,它并不利用物品的内容属性计算物品之间的相似度,而是主要通过分析用户的行为记录计算物品之间的相似度。

 

优缺

 

优点是,由于协同过滤更多考虑了用户的实际评分,并且只是计算相似度而非寻找频繁集,因此可以认为基于物品的协同过滤准确率较高并且覆盖率更高。

缺点是非常依赖用户的准确评分,而且会有很多物品没有或不足量的用户评分,造成评分矩阵稀疏,不利于这些内容的正确推荐。

 

应用

ItemCF更适合于用户兴趣较稳定、物品数少于用户数领域:如图书、电影网站,电商(比如亚马逊、豆瓣)等。


原因总结有2:

1、特征方面:这些网站中,用户的兴趣是较固定和持久的。热门并不一定是首要因素,而一个集合中关联性强的推荐更有吸引力。

并且用户可以通过自行选择的方向逐步接触新的物品,新颖性上不会过差。


2、技术方面:这类平台更新物品相似度频率不高是可接受的。由于平台物品数量少于用户数量,要求计算物品相似度矩阵相对代价更少。

 


推荐算法模型 & 冷启动问题

不论是UserCF还是ItemCF,协同过滤在使用时都会遇到冷启动的问题,在此着重展开下几个解决方向。



冷启动问题解决
推荐算法模型 & 冷启动问题

当有一名新用户或者新物品进入系统时,推荐将无从依据。那么这里总结了一些比较直观的解决方法:


1)引导用户主动呈现自身特点属性

如: 

选择兴趣标签(健身、宠物、军事);

回答相关问题(学习目的?何时参加雅思考试?当前英语水平?)。

然而,这类做法会增加新用户使用新产品的成本, 导致门槛过高或用户体验降低,有时还会得到不准确的信息。所以除非是必需的推荐要素,一般会尽量精简。

 

2)利用开放的授权数据

如:

 facebook, 百度、新浪微博或者微信这些平台,通过用户授权的历史数据,来识别一些用户的属性。

这样做的好处是,在用户角度来看过程简单,并且在平台角度来看,这样获取的信息更加真实。

 

3)利用用户的手机信息

如:

android手机开放度较高,因此对于一个新软件来说多了很多了解用户的机会。比如,当一个用户安装了蘑菇街,唯品会,大姨妈等APP,是否可以判断该用户为女性,甚至可以细分的知道是在孕育期还是少女,也会知道用户是否喜欢浏览时尚相关资讯;

再如检测用户每天开启应用的频率了解使用习惯,运动步数侧面反映生活状态,行动路径反映生活区域等等,这样对用户的近期行为画像会更为精准且真实。

 

4)全局联动

比如打通公司各大业务平台,通过获取其他平台的用户数据,对公司生态产品的要求会比较高。

 

5)先让用户上手,再逐步推荐

在用户初步使用新产品时,没有任何的数据来源,也可以选择先不做个性化推荐,而是根据热度、规则等方式进行粗颗粒度的推荐,先让用户进行体验。再通过用户使用表现进行颗粒度细化。


 

4、混合算法
推荐算法模型 & 冷启动问题

推荐算法模型 & 冷启动问题


混合算法:由于各个算法自身带来的局限性,在现实应用中,很少有直接单纯使用某种算法来做推荐的系统。通过给不同算法的结果加权重来综合结果,或者是在不同的计算环节中运用不同的算法来混合,达到更贴合自己业务的目的。


比如加权式是加权多种推荐技术结果;切换式是根据问题背景和实际情况或要求决定变换采用不同的推荐技术;混杂式、特征补充等等。


可以在CSDN的这篇文章中看到详细的解释,里面的流程图画的十分详细,值得参考。


https://blog.csdn.net/shinecjj/article/details/82286386



5、其他算法
推荐算法模型 & 冷启动问题

推荐算法模型 & 冷启动问题


其他算法:除了以上文章提到的四个思想,还有基于规则的推荐、基于人口统计学的推荐策略等等,都有其各自的不同特点。


如果想要了解,我在CSDN论坛找了一篇算是比较全面,论坛内部也有很多相关文章写的都很有趣形象,可以多多参考。


https://blog.csdn.net/rachel715/article/details/51732722?t=1489851246106



6、推荐结果评估
推荐算法模型 & 冷启动问题


关于推荐结果评估,都有很理论化、规范化的结论。比如根据预测准确度、覆盖率、新颖性、惊喜度等等进行评估。

在此也贴一个链接大家按兴趣自取。

我这里采用了“不管你要不要,我先贴上再说推荐策略” haha


https://blog.csdn.net/checkche/article/details/84673650

 

(这里不能实现外部链接跳转,所以只能贴上网址,大家复制到浏览器查看。我知道体验并不好,但为了学习嘛!嘻嘻)

 

 

 



[i]王守崑.下一代个性化推荐系统[EB/OL].https://blog.csdn.net/zhoubl668/article/details/8432083,2012-12-25.

[ii]程相智.混合协同过滤推荐算法研究[D].北京工业大学,2017.

本文部分观点来源于网络,未能找到最终来源,作者看到可联系我添加原文链接。




以上是关于推荐算法模型 & 冷启动问题的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结冷启动召回复购召回用户行为召回等算法实战

深度学习在花椒直播中的应用—推荐系统冷启动算法

推荐系统基础-纪要

推荐算法小小结

推荐算法基于内容的推荐算法(Content-Based)

冷启动处理