产品案例

您当前的位置:主页 > 产品案例 >

推荐策略产品经理:什么是协同过滤推荐算法?

来源:http://www.cdpst0.com 编辑:d88尊龙 时间:2019/03/21

  首先,千人千面融合各种场景,如搜索,如feed流,如广告,如风控,如策略增长,如购物全流程等等;其次千人千面的大脑肯定是内部的推荐引擎,这里有诸多规则和算法在实现对上述各个场景进行“细分推荐排序”;最后是推荐引擎的算法又以“协同过滤”为最核心、最主流热门,也是当下众多内容型、电商型、社交工具、分发型的基础。

  一是收集用户偏好(知道为什么要收、收哪些哪样的、如何收集、收集过程有什么原则?);

  二是找到相似的用户或者物品(这里的核心有2大方面:1是怎样定义算“相似”,属于相似度问题,用什么公式去计算、有什么特点;2是相似邻居问题,可用什么公式计算两个相似邻居);

  三是计算推荐(这里核心是基于物品的方式是如何计算推荐、基于用户又是如何、两者PK又有什么差异点,如在场景,多样性)每个部分再挖出各个关键点、(学习,不是了解,是学习)

  (4)举个推荐引擎中-应用协同过滤的实践案例。国外的产品案例。(包括如何使用,用什么公式,什么场景,有什么问题,怎么解决,代码层面附录。PS:为什么选国外呢? 是因为这个推荐最早是应用于国外,不管是算法还是理论层面,确实要比国内深究多一分,觉得比较客观,可以参考和适用更强,这点可以跳着看。)

  在网络时代来临之前,集体智慧就一直活跃在生物学、社会学、计算机科学、大众行为学等领域 [1] [2] 。

  随着Web 2.0的崛起和社会性软件的普及,集体智慧这在社交网络服务、众包、分享、评论和推荐等领域也得到了广泛应用 [3] (典型案例包括:维基百科、百度百科、百度知道、猪八戒网、任务中国、Threadless、InnoCentive、digg、iStockphoto、Mechanical Turk等。)

  Wikipedia 是一个知识管理的百科全书。(相对于传统的由领域专家编辑的百科全书)

  Wikipedia 允许最终用户贡献知识,随着参与人数的增多,Wikipedia 变成了涵盖各个领域的一本无比全面的知识库。

  所以在 Wikipedia 上,这种改版和修正被变为每个人都可以做的事情,任何人发现错误或者不完善都可以贡献他们的想法,即便某些信息是错误的,但它一定也会尽快的被其他人纠正过来。从一个宏观的角度看,整个系统在按照一个良性循环的轨迹不断完善,这也正是集体智慧的魅力。

  (补充:或许也许有人会质疑它的权威性,但如果你从另一个侧面想这个问题,也许就可以迎刃而解。在发行一本书时,作者虽然是权威,但难免还有一些错误,然后通过一版一版的改版,书的内容越来越完善。(饭友们可以回忆思考下。常见的个性化推荐产品,如电商,如头条,网易等等,不管是推荐系统也好,搜索也罢,各种策略产品,是不是都说你越使用、越反馈,越懂你,越精准,这里的本质原理是“相通”的))

  Google:目前最流行的搜索引擎,与 Wikipedia 不同,它没有要求用户显式的贡献,但仔细想想 Google 最核心的 PageRank 的思想,它利用了 Web 页面之间的关系,www.ag88环亚娱乐水产养殖业淡季,将多少其他页面链接到当前页面的数目作为衡量当前页面重要与否的标准;

  或许饭友们绝对这不好理解,那么你可以把它想象成一个选举的过程,每个 Web 页面都是一个投票者同时也是一个被投票者,PageRank 通过一定数目的迭代得到一个相对稳定的评分。Google 其实利用了现在 Internet 上所有 Web 页面上链接的集体智慧,找到哪些页面是重要的。

  大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。

  核心原理:协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。

  【将不同的行为分组】:(假设以第一个案例为例),一般可以分为“查看”和“购买”等等,然后基于不同的行为,计算不同的用户 / 物品相似度。类似于当当网或者 Amazon 给出的“购买了该图书的人还购买了 ”,“查看了图书的人还查看了 ”

  【用户、行为加权】:(假设以第二个案例为例),根据不同行为反映用户喜好的程度将它们进行加权,得到用户对于物品的总体喜好。(有些饭友联系到画像内容,这里我要补充下:一般来说,显式的用户反馈比隐式的权值大,但比较稀疏,毕竟进行显示反馈的用户是少数;同时相对于“查看”,“购买”行为反映用户喜好的程度更大,但这也因应用而异。)

  【补充:上面的全部,都可以作为针对“如何组合、提取用户行为”的面试问题,所表达的观点,这肯定会加分,并且这些都是关键知道思想。就如同可以理解成:以前走农村包围城市的战略,其根本指导思想是:如论持久战。 所以上面1-3的例子是做法,那么作为策略PM一个核心的点是,你要学会有方法策略,怎么能迁移复用。这里的指导思想就如上面所说的,虽然不一定说完整全面,但对于大部分互联网产品,都是这个原理。】

  如图 1 中的 A,假设要计算点 1 的 5- 邻居,那么根据点之间的距离,取最近的 5 个点,分别是点 2,点 3,点 4,点 7 和点 5。

  【核心问题,如果细节会问到-即为什么的解答】因为要取固定个数的邻居,当它附近没有足够多比较相似的点,就被迫取一些不太相似的点作为邻居,这样就影响了邻居相似的程度。(比如图 1 中,点 1 和点 5 其实并不是很相似。)

  与计算固定数量的邻居的原则不同,基于相似度门槛的邻居计算是对邻居的远近进行最大值的限制,落在以当前点为中心,距离为 K 的区域中的所有点都作为当前点的邻居,

  如图 1 中的 B,从点 1 出发,计算相似度在 K 内的邻居,得到点 2,点 3,点 4 和点 7。

  【核心观点,问为什么认为好】这种方法计算出的邻居的相似度程度比前一种优,尤其是对孤立点的处理。

  从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,(找用户偏好的“共性”物品)

  得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。(预测召回,排序)

  (举个例子,如图 3 ,对于物品 A,根据所有用户的历史偏好,喜欢物品 A 的用户都喜欢物品 C,得出物品 A 和物品 C 比较相似,而用户 C 喜欢物品 A,那么可以推断出用户 C 可能也喜欢物品 C。)

  对于一个在线网站,用户的数量往往大大超过物品的数量,同时物品的数据相对稳定,因此计算物品的相似度不但计算量较小,同时也不必频繁更新。(但只是适用一些电商)

  但往往忽略了这种情况只适应于提供商品的电子商务网站,对于新闻,博客或者微内容的推荐系统,情况往往是相反的,物品的数量是海量的,同时也是更新频繁的。

  面试挖坑:用户海量、内容物品海量,因此要看产品实际情况而去使用相应的协同过滤算法,不能一概而论。

  Item CF 的推荐成为了引导用户浏览的重要手段 。(比如在当当网(购书网站)上,当你看一本书的时候,推荐引擎会给你推荐相关的书籍,这个推荐的重要性远远超过了网站首页对该用户的综合推荐。)

  同时 Item CF 便于为推荐做出解释。(在一个非社交网络的网站中,给某个用户推荐一本书,同时给出的解释是某某和你有相似兴趣的人也看了这本书,这很难让用户信服,因为用户可能根本不认识那个人;但如果解释说是因为这本书和你以前看的某本书相似,用户可能就觉得合理而采纳了此推荐。)

  相反的,在现今很流行的社交网络站点中,User CF 是一个更不错的选择,User CF 加上社会网络信息,可以增加用户对推荐解释的信服程度。

  一般来说,刚开始研究推荐引擎的学者们在相同的数据集合上分别用 User CF 和 Item CF 计算推荐结果,发现推荐列表中,只有 50% 是一样的,还有 50% 完全不同。

  (补充1 ,可作为面试细节:这里的用户,一般在我们PM可以叫白名单用户、随机用户、抽样用户、分组测试用户、体验用户都可以~ 具体看业务规则策略。如我以前做这方面验证会分两种情况:如特定场景会分组用户测试(侧重是对场景的验证,白名单)、如果是走量测试机率、抗压等等,就导出随机大量。后者一般有条件都可以联合用户画像去勾选某些条件的用户群))

  第二种度量方法是考虑系统的多样性,也被称为覆盖率 (Coverage),它是指一个推荐系统是否能够提供给所有用户丰富的选择。

  在这种指标下,Item CF 的多样性要远远好于 User CF(因为 User CF 总是倾向于推荐热门的),从另一个侧面看,也就是说,Item CF 的推荐有很好的新颖性,很擅长推荐长尾里的物品。

  首先,假设每个用户兴趣爱好都是广泛的,喜欢好几个领域的东西,不过每个用户肯定也有一个主要的领域,对这个领域会比其他领域更加关心。

  给定一个用户,假设他喜欢 3 个领域 A,B,C,A 是他喜欢的主要领域,这个时候来看 User CF 和 Item CF 倾向于做出什么推荐:

  如果用 User CF, 它会将 A,B,C 三个领域中比较热门的东西推荐给用户;

  那么看到因为 User CF 只推荐热门的,所以它在推荐长尾里项目方面的能力不足;

  而 Item CF 只推荐 A 领域给用户,这样他有限的推荐列表中就可能包含了一定数量的不热门的长尾物品,同时 Item CF 的推荐对这个用户而言,显然多样性不足。

  但是对整个系统而言,因为不同的用户的主要兴趣点不同,所以系统的覆盖率会比较好。

  从上面的分析,可以很清晰的看到:这两种推荐都有其合理性,但都不是最好的选择,销售特殊管理的药品应当严格按什么执行。因此他们的精度也会有损失。

  结合的基本原则就是:当采用 Item CF 导致系统对个人推荐的多样性不足时,通过加入 User CF 增加个人推荐的多样性,从而提高精度,

  而当因为采用 User CF 而使系统的整体多样性不足时:可以通过加入 Item CF 增加整体的多样性,同样同样可以提高推荐的精度。

  策略:以下可以作为用户视觉的“推荐引擎、推荐策略”相关问题的想法,记住是想法!具体怎么说,除了按我梳理的逻辑顺序,也可以自己去按理解去表达。由于站在用户角度,就是上帝角度,只要结合了推荐算法的特性,怎么回答都可以。】

  坑:切记!不要说用户觉得爽就行了,也不要说看指标就很不错了!不要单单的说怎样怎样就好,一定要结合推荐引擎本身!客观的说! 切记切记~ 否则你就跳坑了~ 此坑适用于其他的策略PM面试。

  回到来说,前面大部分都是从推荐引擎的角度考虑哪个算法更优,面试或者谈需求时,如果不懂技术或者细节,也可以拔高的回答:其实,我认为更多的应该考虑作为推荐引擎的最终使用者——应用用户对推荐算法的适应度。

  Item CF 算法也有一个基本假设:就是用户会喜欢和他以前喜欢的东西相似的东西,那么可以计算一个用户喜欢的物品的自相似度。

  逻辑1:一个用户喜欢物品的自相似度大,就说明他喜欢的东西都是比较相似的,也就是说他比较符合 Item CF 方法的基本假设,那么他对 Item CF 的适应度自然比较好;

  逻辑2:反之,如果自相似度小,就说明这个用户的喜好习惯并不满足 Item CF 方法的基本假设,那么对于这种用户,用 Item CF 方法做出好的推荐的可能性非常低。

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、社群为一体,全方位服务产品人和运营人,成立8年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里与你一起成长。

Copyright © 2013 d88尊龙,尊龙d88,尊龙人生就是博,尊龙备用网站 All Rights Reserved 网站地图