童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

协同推荐算法没有这么复杂,真的

3月7日 相思宫投稿
  个性化推荐基本上是由两个策略算法来进行演变的,一个是基于数据挖掘的关联分析推荐,一个是基于协同过滤的方法。笔者将重点介绍什么是协同过滤算法以及细分下的算法类型。
  John之前写了一篇关于电商中的搜索和关联推荐策略的文以及一篇《产品经理,如何理解并应用策略?》。有些读者找到我说:太虚啦。没有算法叫啥子推荐咧?反思了下,嗯,一点都不虚。行呗,咱今天就好好聊聊推荐算法。
  我们在使用产品时,经常看到场景会给我们推荐内容,比如社交产品会给我们推荐一些关注的人;电商产品会给我们推荐同类型的商品或者套装的其他商品;资讯产品会给我们推荐感兴趣的内容(即我们浏览最多的)。
  以上都是基于我在看到一个结果,系统个性化给我的反馈。那为什么个性化推荐在业界这么火?
  信息过载,用户碎片化的时间,获取信息的成本变高,用户迫切需要个性化形式的产品。
  个性化提升了产品的体验、提升了用户的停留时长、粘性以及留存率。
  移动端的迅速发展,变小的载体促使了行业需要更快和更精准的信息呈现。
  用户越来越懒,而传统技术无法满足用户多样性的需求,迫使技术创新和发展。
  其中从产品策略上来说,基本上由两个策略算法来进行演变的:一个是基于数据挖掘的关联分析推荐;再一个是基于协同过滤的方法。
  一、基于数据挖掘的关联分析推荐算法
  举个例子:在电商产品中,总体消费者人数为10000人,A产品购买人数为1000人,B产品购买人数为2000人,C产品购买人数为3000人;同时购买AB产品人数为800人,同时购买AC产品人数为100人,从这个案例中当然可以AB建立捆绑销售策略,但是当商品SKU成千上万,怎么去归纳呢?
  这里基础的算法就是关联分析(电商中依托于销量可以做关联分析)。这儿设置到两个公式:支持度和置信度。
  依照这个公式算法:
  S(AB)0。08;S(AC)0。01;C(AB)0。8;C(AC)0。1
  所以AB关联推荐效率值更高。
  比较常用的应用场景就是电商品类捆绑销售(基于同一类型的不同商品,比如购买了篮球鞋,会关联推荐篮球服和篮球)。
  这种方法现在用得比较少了,就稍微介绍下。接下来协同过滤推荐算法,就是现在最普遍的算法了。
  二、基于协同过滤的推荐算法
  首先要说明的是,我们所有的推荐算法,最终目的都是为了给用户推荐他可能感兴趣的商品,从而提高销售和转化率,忘记这个目的的所有算法设计都是自嗨。
  目前常见的商品推荐算法是协同过滤,公认比较常用的方法俗称“邻居方法”。邻居方法中有两种视角:第一种是基于用户;第二种是基于商品。
  基于用户的协同过滤,称为UserbasedCF(UserbasedCollaborativeFiltering)。系统通过分析一个用户和哪些用户(参考用户)的特征比较相似,然后看看这些参考用户喜欢买哪类的商品,再从这些商品里挑出一些推荐给该用户。
  基于商品的协同过滤,称为ItembasedCF(ItembasedCollaborativeFiltering)。系统通过数据分析和挖掘用户的购买行为,来判断用户喜欢的商品类型,然后从那些用户喜欢的商品类型里挑出一些推荐给用户。
  1。UserbasedCF基于用户的协同过滤
  算法核心思路:当用户进入一个电商平台时,作为电商平台系统找到那些和该用户兴趣喜好类似的人,然后看看他们喜欢什么,就给该用户推荐什么。简而言之,A和B两个用户相似,然后给A推荐B喜欢的东西。
  举个例子:在电商产品中,有用户ID为10001至10006这六位用户,他们对几种商品进行了浏览、收藏、购买、添加到购物车、评论、分享等操作。为了得到用户对某类别产品的兴趣度,我们可以设计这样一个简单的模型,给不同的用户行为赋予不同的分值,比如浏览行为赋予0。1分。整体的行为分值如表:
  根据用户的行为,商品分值累加计算,满分10分,加到10后则不再累加。比如A买手机这个商品得到10分(可能是购买2部,则购买分为4分,两次5星评价,则评论分为6分;也有可能是购买分为4分,一次4星评价,一次5星评价,一次分享)
  然后,我们得到10011006六位用户对各种商品的偏好程度得分表:
  (其中表格的数字是用户对该商品“兴趣程度”的一个量化值,0为没兴趣,10为非常有兴趣。空白代表这个商品在系统内,还没有任何依据来判断兴趣如何。)
  如果以用户10005作为标本,现在要找到和他兴趣最接近的人,需要对商品的多维向量进行近似求法。一般用余弦相似度来进行度量。
  余弦函数相信大家都不陌生,就是中学时候学的cosine函数cos()。余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角的余弦值来评估他们的相似度。具体公式如下:
  这里的xi和yi表示a和b的分向量。
  给出的相似性范围从1到1:结果为1时意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性。用简单的话来说,最相似的是1,最不相似的是1。
  在刚才的例子中,把用户在一些不相干的商品类别的爱好当做一个空间向量,把每个商品类别作为一个维度,我们例子中就有手机、平板、电脑、化妆品、零食、水果和玩具共7个维度。我们试着求一下10005这个用户和10006这个用户已知部分的爱好相似程度:
  由于“用户10005”没有零食的记录,“用户10006”没有水果和玩具的记录,所以不需要用“用户10005”的零食维度的分数和“用户10006”的水果和玩具两个维度分数来计算相似度。
  因为“最相似的是1,最不相似的是1”。所以10005和10006两个用户的相似度还是很高的。同理也能够求出10005用户和其他任何一个用户的兴趣相似程度。
  之后设置一个相似的阈值,如0。8、0。85或者其他任何一个值,看看相似度超过这个阈值的用户都有什么购物喜好,把他们喜好购买的东西推荐给10005用户作为推荐方案即可(例如例子中,10005和10006的喜好高度相似,就可以将10006的喜欢的水果和玩具推荐给10005)。这就是一种思路最为朴素的基于用户的协同过滤算法思路。
  除了上述通过分析用户的行为来设计这个用户相似度外,还可以考虑通过用户的画像思维来补充和完善这个用户协调过滤算法。用户属性表如表所示:
  2。ItembasedCF基于商品的协同过滤
  这种算法给用户推荐那些和他们之前喜欢的商品相似的商品。(天猫经常这么搞)
  一般,推荐算法核心思想是,给用户推荐那些和他们之前喜欢的物品相似的物品。
  比如,内容推荐算法的“基于内容的协同过滤”,用户A之前阅读过NBA的相关信息,该算法会根据此行为给你推荐所有NBA相关的内容(去看头条的,就是这个套路),但是基于物品的协同过滤有点不同,ItembasedCF算法并不利用物品的内容属性计算物品之间的相似度,它主要通过分析用户的行为记录计算物品之间的相似度。
  ItembasedCF算法认为,“有很多人喜欢商品A,同时他们也喜欢商品B,所以A和B应该是比较类似的商品。”计算起来可以分成以下两个步骤:
  计算商品之间的相似度。
  根据物品的相似度和用户的偏好来给用户生成推荐列表。
  (一)计算物品之间的相似度
  这里同样用到了余弦相似性来求物品的相似度,但是公式略有不同:
  其中,N(i)是喜欢物品i的用户数,N(j)是喜欢物品j的用户数,N(i)UN(j)是同时喜欢物品i和物品j的用户数。
  从上面的定义看出,在协同过滤中两个物品产生相似度是因为它们共同被很多用户喜欢,两个物品相似度越高,说明这两个物品共同被很多人喜欢。
  这里面蕴含着一个假设:就是假设每个用户的兴趣都局限在某几个方面,因此如果两个物品属于一个用户的兴趣列表,那么这两个物品可能就属于有限的几个领域;而如果两个物品属于很多用户的兴趣列表,那么它们就可能属于同一个领域,因而有很大的相似度。
  举例说明,首先我们假定有5个用户,分别为A、B、C、D、E,他们的商品购买记录分别如下:
  这是一个水果店商店的销售记录,记录了每一个用户购买的产品内容。首先要分别得到每个用户购买物品的邻接矩阵,如用户A购物邻接矩阵如表所示:
  这个矩阵就是根据刚刚看到的用户A的购买记录得到的,由于红酒、啤酒和显示器同时出现在他的购物列表里,所以“梨和苹果”、“苹果和荔枝”、“荔枝和西瓜”、“西瓜和梨”两两“邻接”,也就是说这些标注1的小格子代表这两种一起在一个人的购物记录里出现过一次注意买过就算,不是必须出现在同一次购物篮里。
  同理能够得到其他B、C、D、E几人的购物邻接矩阵(所有的邻接矩阵都是沿对角线对称的)。然后将A、B、C、D、E五人的邻接矩阵,通过矩阵“叠加”的方式,即将每一个矩阵的每个对应的方格数字相加,最后得到中间矩阵C,过程如下:
  最终的叠加结果ABCDE购买记录汇总:
  从这个ABCDE购买记录汇总里,可以看到同时喜欢西瓜和梨的有2个人,同时喜欢柚子和板栗的有2个人,同时喜欢苹果和梨的有1个人由于矩阵是对称的,我为大家都划出了对角线,大家看表格对角线的一边就行。
  这时便可以计算任意两个商品的相似度做评估了,如计算西瓜和梨的相似程度,套用刚才的公式:
  说明相似度极高,买西瓜的人必买梨,买梨的人必买西瓜。再试算一下板栗和柚子的相似度:
  说明相似度极高,买板栗的人必买柚子,买柚子的人必买板栗。再试算一下西瓜和荔枝的相似度:
  以此类推,便可计算出所有商品之间的相似度。
  (二)根据物品的相似度和用户的历史行为给用户生成推荐列表
  得到相似度后,便可以计算基于相似度的商品推荐列表了。计算完汇总列表之后,当要对一个用户做推荐时,先把这个用户的历史购买记录都列出来,假设有n个购买记录。然后对这个列表里每一个产品都用查表的方法查一次相似度,这样会得到n个列表,每个列表里都是一个产品和其对应的相似度的关系。把这n个列表做一个排序,相似度高的在前,相似度低的在后。如果要推荐3个商品就取前3个,如果要推荐5个商品就取前5个。
  大概的推荐算法思路说到这大概就说完了,因为我们不是技术,产品经理了解到这个层面就差不多了。深挖一层还可以根据相似度和历史行为计算出用户对物品的感兴趣度,然后再给用户生成推荐列表。就是在相似度的维度上,在增加一个感兴趣的维度,作为推荐商品的衡量指标,思路相似,这里不再展开。
  优缺点说明
  优点是推荐都是基于用户的行为数据去不断学习和完善,在过程中发现用户的潜在商品兴趣,能给用户“制造惊喜”的同时,也在为自己制造惊喜。这是一个持续成长的过程,而推荐不过是其中的一个短程跑道,设计者的目光应该长远些,将最终的目放在构建行业的大数据库和用户画像的产业生态上。
  缺点则是启动的门槛高,用户量不够时,商品量太少时几乎无法开展;并且学习量不够时推荐结果较差,就会导致文初说的“愚蠢”现象出现,这也是很多时候人工智能被大家吐槽为“人工智障”的原因之一。
  关于个性化推荐的算法,在网上有很多资料,也有很多其他的实现方法。这里只是尝试以作为产品经理的角度,用较简单的语言来将自己学到的推荐算法原理剖析给大家听。
  关于产品经理要不要懂技术的问题,也是老生常谈了,高论很多,不敢多赞一词。只说一句,产品经理在算法产品的设计中,绝不能一句“做个性化推荐”就完事的,你须深入算法内部,了解算法,然后结合产品特点来优化和设计。
投诉 评论

设计新势力2019体验设计趋势探索在日新月异的数字市场,全新的技术带来新的体验,人们触达的产品和终端正变得更丰富多样。无论产品还是技术如何革新,都是围绕着用户至上的体验。作为设计师的我们,需要在变化的浪潮中调优……如何从0到1搭建家居新零售平台笔者通过对各大家居新零售平台进行了背景调研,并分析了家居新零售的特点与问题,最后通过产品思维和实战内容,来讲了如何系统化搭建家居新零售平台。关于平台型产品的工作方法论,作……小爱触屏音箱设计录01:系统级UI设计方法作为VUIGUI的多模态交互产品,小爱触屏音箱的UI体系比设计App更加复杂和困难。本文中,笔者为我们剖析了小爱触屏音箱背后系统级UI的设计方法与原因。VUI与G……结算系统功能详解下篇本文笔者针对京东、美团、阿里等平台的第三方(非自营)业务,对ToB商家订单款的结算系统的几个模块返利、发票、审批流、线下收款和汇率展开介绍。返利当平台在特定时间内采……一份全面的“项目研发计划说明书”是怎样的?本文作者根据自己的见解,给出了项目研发计划说明书的编撰方式,通过案例的形式非常详细地展示给大家,供大家参考学习。针对项目研发计划说明书,我有自己的见解和编撰方式。在这里拿……数据产品统计指标的时间维度该如何设计?从产品设计角度来看,数据产品统计指标的时间维度包括:单个指标的数据时间范围、指标展示的时间粒度,以及时间查看的支持。笔者在过去2年多时间,一直负责公司数据产品的搭建,踩了……你离不开的点赞:浅析“点赞”功能的交互设计“点赞”,可以毫不夸张地说是移动互联网和社交媒体时代最热门的交互方式。笔者关注到这一现象,并研究数款热门APP的点赞体验对比,浅析“点赞”功能的交互设计。目录前言……产品设计的从0到1深度解析产品是如何诞生的?我们作为产品的设计者,需要清楚的认识到产品从0到1的设计过程,对每个阶段深入的思考才能形成一个清楚的认识。吸收用户体验要素的精髓就必须在实践中不断地学习用户体验,了解用户体验,……淘宝特色聊天:聊天宝贝的差异化设计本文将以聊天宝贝设计为例,展示设计师在淘宝特色聊天中的思考和实践。enjoy在淘宝,每天有上亿人使用聊天功能。与其他IM产品不同,淘宝的聊天场景具备其特色的电商因素,如用……通过核心指标的搭建与拆解,实现产品用户增长本文以我之前负责过的一款产品为例,来说明如何通过核心指标的搭建与拆解来实现用户增长。产品介绍:该产品为一款电子竞技线上赛平台,为B端用户提供一站式的电竞比赛解决方案,盈利……协同推荐算法没有这么复杂,真的个性化推荐基本上是由两个策略算法来进行演变的,一个是基于数据挖掘的关联分析推荐,一个是基于协同过滤的方法。笔者将重点介绍什么是协同过滤算法以及细分下的算法类型。John之……产品体验问题评级标准如何给产品体验问题定级?在实际工作中,体验问题评级标准不仅仅会应用在用户反馈的跟进中,也可以应用在产品走查、用户调研等各种渠道搜集的体验问题管理中。前言作为一名用户研究人员,在进行用户调研……
在现代网页设计中,动效常见的几种用法做用户体验设计最难的是平衡实例分享在界面排版中,需要注意的七大原则(下)网页设计中视频运用的7个技巧不要忽视色彩在手机APP设计中的作用今天的扁平化设计中,值得注意的4个要点UX分析:朋友圈的外链知多少?QQ国际版视觉探索:准备了两套视觉设计方案视觉设计的思考:如何设计APP的登录页面对大项目,交互设计应该如何进行?零UI,为无屏交互而设计看似平淡无奇的Icons,到底什么才是它的正确使用方式?施工人员的个人安全保证书个人装修包工合同深圳中华田园犬可办犬证,土狗终于有了身份。。。上港外援奥斯卡多年前就是问题球员我的中秋节三年级作文400字5篇长靴脚踝处紧、有褶皱怎么办?小窍门解决烦恼软儿梨夏季修剪技术有关惦记的近义词,同义词和造句治疗糖尿病患者的方法有那些呢?中国男篮94黄金一代成员邮差纪敏尚,时刻都在为山东篮球忙碌要发财挡不住6项产后保健让妈妈不得月子病

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界