楼主: 共同关注
947 6

懂你的推荐算法,推荐逻辑是怎样的? [推广有奖]

  • 14关注
  • 2粉丝

大专生

95%

还不是VIP/贵宾

-

威望
0
论坛币
175 个
通用积分
45.0480
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
1053 点
帖子
36
精华
0
在线时间
61 小时
注册时间
2017-8-9
最后登录
2018-1-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币




学习交流:

如果你对学习数据分析、机器学习、深度学习人工智能感兴趣,欢迎来CDA数据分析社区流学习,我会在群里发布所有与人工智能和深度学习有关的有趣文章。CDA社区QQ群:346390869







推荐在生活中是一个再平常不过的事情,你失业了,有人会给你推荐工作,你失恋了,有人会给你推荐姑娘。但是在我们这个机器远没有人类聪明的时代,这些事情要是交给机器去做,你就得设计出一套机器能理解的算法出来,这就是所谓的推荐算法。大家看到算法两个字不要慌,以为我又要搬一个大东西出来吓唬人。你可以把算法看做现实生活中的办事流程,它规定了你第一步干什么,第二步干什么,只要你按它说的做,就可以把事情办好。举个例子,你现在要做一个电影推荐APP,我们来看下整个过程是怎样的。

在推荐算法中,我们第一步要有一大堆要推荐的东西。也就是说,你的电影首先要足够多,才能满足不同用户的需求。算法再精准,最后发现推导出来的结果,在你的数据库中并没有,就悲剧了。第二步是要有用户的行为数据。这个也是越多越详细越好。这时候你要把看了哪部电影,看完没有,评价怎么样悄悄的记下来,上传到后台服务器。经过长期的积累,这些数据将为你以后的精准推荐奠定基础。

有了上面的数据基础,我们就可以进入正题了。推荐算法有不少,我们今天介绍一种最基本的叫做协同过滤算法。它的核心思想是物以类聚,人以群分。具体可以分为基于用户的协同过滤算法和基于物品的协同过滤算法。我一直觉得专业领域起这种高大上的名字,是用来过滤智商的,因为很多人看到这里就不打算往下看了,哈哈。

先看第一种基于用户的协同过滤。可以简单理解为我虽然不认识你,但是我通过查看你的朋友圈都是些什么人,根据人以群分的道理,他们喜欢的很可能就是你喜欢的。

假设从历史数据上来看,用户A喜欢《捉妖记》、《大圣归来》,用户B喜欢《栀子花开》、《小时代》,用户C喜欢《捉妖记》。那我们就可以简单认为AC二人口味相似,可以归到一个朋友圈里,C极有可能也喜欢A所喜欢的《大圣归来》。

这是最简单的情况,实际上仅仅用喜不喜欢来评价感兴趣程度是远远不够的,用户不可能看完还填个调查表选择yes or no,但是会通过一些其他行为比如影评、是否收藏来反应他们的喜欢程度。机器只能理解量化的东西,所以在算法中,这些行为会转化成相应的分数。比如完整看完的,给3分;看完还给了正面评价的,给5分;看到一半就怒删的,给负10分。这样每个用户都会有一个电影评分表,在计算两个用户相似度的时候,把这些数据代入下面这种专门计算相似度的公式,就能得到二人口味的相似程度。

现在我们要给用户D推荐电影,分别计算AD、BD、CD的相似度,找到跟D最相似的用户,然后把他喜欢的,都推荐给D,就行了。(下面的公式叫做余弦相似度公式,通过计算n维空间中两个向量的夹角余弦,来表示相似度,大家感受一下就好,感兴趣的可以去问google。)

第二种是基于物品的协同过滤。基本思想是假设甲乙是相似的物品,那么喜欢甲的人,很可能也喜欢乙。还是上面的例子,现在假设用户E喜欢《栀子花开》和《小时代》,那我们可以推导出,喜欢《栀子花开》的用户(B和E)都喜欢《小时代》,那基本可以确定两部电影是相似的,下回来个用户F,他喜欢《栀子花开》,那我顺便就把《小时代》推荐给他,他可能比较容易接受。

大家可能要问,我的APP第一天上线,没有这些所谓的用户行为数据怎么推荐啊。这就是推荐算法面临的冷启动问题。这时候可以用基于内容的算法了。你可以事先把所有电影归个类,战争片归到一起,喜剧片归到一起,动画片归到一起。用户H看了一部喜剧片,你就把所有喜剧片推荐给他。显而易见,这种算法简单粗暴,当然命中率也最低。

真正的推荐系统会综合运用各种算法,加之机器学习和人工调优的不断改进,所以是非常复杂的。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
军旗飞扬 发表于 2017-8-10 07:07:42 |只看作者 |坛友微信交流群
谢谢楼主分享!

使用道具

藤椅
六八一零 发表于 2017-8-15 19:53:09 |只看作者 |坛友微信交流群
我觉的基于人的分类在满意度上应当优于基于物的分类。因为人总好奇新,虽然喜欢套路和内核一样的影片,但不喜欢连机器都觉得相似的影片。但基于人的话运算量就比较大,基于物品的运算量小一些,假如你的用户网络相当大的话。

使用道具

板凳
sue_meyi 发表于 2017-9-6 17:32:34 |只看作者 |坛友微信交流群
学习了,感谢分享~

使用道具

报纸
sue_meyi 发表于 2017-9-6 17:36:08 |只看作者 |坛友微信交流群
六八一零 发表于 2017-8-15 19:53
我觉的基于人的分类在满意度上应当优于基于物的分类。因为人总好奇新,虽然喜欢套路和内核一样的影片,但不 ...
想请问一下基于人的分类和基于物的分类,能再讲点点吗?我看楼主和你的还是有点似懂非懂的感觉,基于人的分类是看人之间的共同点,而基于物的分类是看事物的共同点吗?而这两种本质上不是一样的吗?

使用道具

地板
共同关注 发表于 2017-9-13 14:36:24 |只看作者 |坛友微信交流群
sue_meyi 发表于 2017-9-6 17:36
想请问一下基于人的分类和基于物的分类,能再讲点点吗?我看楼主和你的还是有点似懂非懂的感觉,基于人的 ...
基于用户的推荐系统是,物品数远大于用户数的情况下,按照用户间距离的给行为相似的用户推荐合适的物品;基于物品的推荐系统是,用户数远大于物品数,按照物品间距离的将特征相似的物品推荐给需要的用户。目前较常用的是基于物品的推荐

使用道具

7
sue_meyi 发表于 2017-9-15 17:14:18 |只看作者 |坛友微信交流群
共同关注 发表于 2017-9-13 14:36
基于用户的推荐系统是,物品数远大于用户数的情况下,按照用户间距离的给行为相似的用户推荐合适的物品; ...
感谢楼主,通俗易懂,学习了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 08:36