推荐算法为啥这么“灵”,又为啥会“失灵”?

云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

导读:一句话概括推荐算法的原理。

推荐算法为啥这么“灵”,又为啥会“失灵”?

推荐系统是为用户推荐所需物品的软件工具3 M 6 @ ~ * J T ;和技术。提供的推荐旨在通过各种决策过程来支持用户,例如,买什么物品、听什么歌曲或读什么新闻。推I ) v S # 0 x荐系统的价值在于帮助用户解决信息过载和做出更好的选择,也是现在互联网领域最强大和最流行的信息发现工具之一。

今天就和4 ; 7 r Z v大家聊聊:推荐算法为啥这么“灵”,又为啥会“失灵”?w W x Z H d J

01 推荐算法为啥这么“灵”?

要回答这个问题,首先得讲清楚推荐算法的原理是什么。

我们知道,互联网最大的特点就是有海量的信息。不过,光是数量庞大是没有任何意义的,需要信息真正发挥作用! % _才能产生价值。所以,如何让信息发挥价值,始终是互联网发展的一条主轴。为此,我们想了很多办法。

“算法推荐系统”出现前,我们的做法是发现信息,这就搜索引擎搜索引擎很有用,但限制也很明显,遗留了很多问题。回想一下:我们要用搜索引擎找信息,不是直接就得到想要的结果,而是得首先掏出一个“关键词”输入进去,然后才能看到命中的结果。

这个过程叫信息检索,也就是你得首先知道自己对什么信息感兴趣,P = R h Y ? x f得有线索,然后才能通过搜索引擎检索信息。但这就有个问题,互联网实在太大了,而人的认知圈子实在太小了,这就导致了大量本该有价值的信息,因为没被人看到,而只s I e 5能静静躺在角落被白白浪费了。

这个问题初看不可能有解,毕竟从常识推断,我们得首先知道那条信息,才可能判断对它是否感兴趣,这个过程应该没法颠倒过来,去发现我们不知道但感兴趣的信息。但推荐算法做到了,它改变了搜索引擎的做法,不再是发现信息,而是发现兴) H * M趣。

推荐算法是怎样发现兴趣的呢?听起来` + j ) O好像很玄乎,不过原理远没有想象中的那么复杂,我用一句话概括——就是依靠人和物的关联关系,最少只要经过三次关联,就能完成兴趣发现d [ 4 H w j I,进行一次推荐。

这么说不太形象,0 $ [ k我举一个例子。

  • 我爱喝快乐水,经常去家旁边的便利店买快乐水,店长当然很快就知道我对快乐水感兴趣,这是第一次关联——我关联快乐水。
  • 接着,店长收完钱,想起来有另一位顾客也对快乐水感兴趣,名字就叫小编吧。小编也常到店里买快乐水,这是第二次关联——快乐水关联小编。
  • 这位小编和我一样,对快乐水有着{ V p相同的执念,但又有点不同:除了到店里买快乐水,小编还常买另一样东西—W L X h u—薯片,这就是第三次关联——小编关联薯片。

想到这里,店长觉得:既然我们都爱喝快乐水,那没准你们也都喜欢吃薯片呢?于是,店长就向我推荐了薯片。这就是基于兴趣的推荐算法,大数据分析常举的例` a 3 d ^子——啤酒尿布,就是上面的这个原理。

推荐算法为啥这么“灵”,又为啥会“失灵”?

我最近看到w } L ) c很多文章,说推荐Z d / r = ^算法比女朋友更懂你,外人一看都觉得挺神奇的,其实明白了推荐算法O @ y的原理,就应该知道这是理所当然的,术业有专攻,除非你的女朋友正好是店长。

当然了,推荐算法原` t = L W w U理不复杂,但实际要发挥好作用,还需要根据应用场景作很多调整。推荐算法的重心在于发现人与人之间的共同点,但怎么划分t i 5 a y t共同点,是有很多不同的方法的。

就拿我们常1 ! W ~ L见的推荐来说,既有“看过这个视频的观众还看过”这类基于视频节目的推荐,也有“, j v d R ` 0 Y 同城的观T * = c R 4 j众都在看”这类基于地理位置的推荐。

早期做推荐r X ; 9 s o很简单,是基于点击量来推荐,但大家很0 + 1快发现:基于点击量的推荐没法发现差异化的兴趣。所以,要想实现一套好用的推荐算法,通常1 ] [ # &要综合方方面面去考虑,而不只是单独的一两个点。

02 推荐算法为啥会“失灵”?

推荐算法平时没什么问题,但一旦出现极端情况,譬如说爆发大规模疫情,就会出现前面我们看到的推荐算法“失灵”的问题,大量推荐的都是疫情相同的信息,把其他信息都M ? A { 4 a H湮没u + & ! T p O r了。

不过说实话,推荐算法有这样的结果,其实是1 w 9 p @ ? T Z K“合理”的。你想一下/ f 1 K q N:疫情期间你~ u K { `的朋友、家人、同学或者同事,包括你自己,最关心的是什么?就是疫情。

推荐算法这边呢,我们一再强调推荐算法要做的是发现兴趣,而恰恰是正确地发现了你对疫情的“兴趣”,所以推荐算法才给你大量推荐了疫情相关的信息。非要说这是问题的话,恐怕首先也得是社会学的问题。

但是,深入地想一想就会发现,这个问题没这么简单。互联网经济在过去很长一段的时间里是推崇一种理论的,叫长尾理论,大概意思是:人类社会中存在着大量的小众需求s A o i y S i (,你贩卖的东西再离经叛道,也总会能得到真爱的捧场,互联网就是沟通小众需求的桥梁。

推荐算法在很大程度上也受了这种理论的影响,所以有一种说法是:推荐算法的最终目标就是能发现这一个一个的小众圈子,把小众的信息推荐给圈子里的人。

但现实却是另外一回事。近几年大家讨论更多的是另一种互联网现象,如X ! c g S果你经营过公众号或者当过UP主,应该会对这种现象印象深刻,这就是头部效应。

大部分F j y J u P x甚至绝大部分的互联网流量,实际上是被少数几个“头部”信息生产者吸走了,剩下绝大多数的信息生产者,则仍然是静静地呆在角落里面被人遗忘。

推荐算法为啥这么“灵”,又为啥会“失灵”?

本该* A 打破这一现象的推荐算法,反而加剧了这种现象。因为占据头部,所以容易被推荐,因为容易被推荐$ e V,所以继续占据头O . A @ %部,* ` z推荐算法导致的这种上升螺旋,让头部效应更加明显。如果R O g U P N把本次疫情看作是一个新的头部,也许能更好地理解推荐算法为什么会在疫情中出现失灵。

那么,这个问题应该怎么解决呢?这个问题,容易回答,也不容易回答。从技术的角度看,这个问题想要M j ; n d解决,思路是很清晰的,就四个字:去极端化。

理论研究和真实环境往往有差别。理论研究都爱对环境条件进行简化假设,智能算法l d V m 7也不例外,通常假设各种情况出现的概率是服从均匀分布的,大家应该是旗鼓相当的公平竞争,谁也压不住谁,然后再在这个假设条件下构X E i 8 I建算法的各种逻辑。

但实际上,一枝) k #独秀也许才是真实环境中最为常见的情况。其它的所谓竞争者,要么是萌新,躲在角落瑟瑟发抖,要么是菜鸡,互啄上不了台面。在算法看来,这种现实情况和假设情况相差实在太远,太极端,所以,会出现H 1 v q Z奇奇怪怪的结果自然也就不值得* l : g m奇怪了。

要让算法恢复正常怎么办呢?只要把极端情况变得不那么极端就可以了,很多依靠评委打分的比赛为了避免受极端情况影响,通常会! & 选择采取去掉# V M h =一个最高分和一个最低分的做法,就是类似的思路。

不过,技术本身是中立的,是正是邪,要看使用的人,就4 . | w v 2 D好比菜刀,究竟是用来切菜还是砍人,不是由菜刀自己说了算。现在讨论的很多问题看起来是技术的问题,其实还是人的问题。譬如人工智能,说到自动驾驶,我们就很爱讨论一个话题,说算法应该怎么处理电车难题。

但实际上,算法自己是不会产生价值: _ r d T观的,算法的价值观,说到底还是人的价值观。推荐算法究竟要怎么改,说到底还是要看推荐算法的使用者怎么定义价值。

我想,推荐算法最后一定能够满足“推荐有价值信息”这一要求的,但是,这里的“有价值”究竟是V 5 q p 7 N u对谁而言的有价值,那就是另一个问题了。

关于作者:莫凡,笔名木羊同学,娱乐向机器学习解说选手,《k d _ %机器学习算法的数学解析与Pyt2 l l E y 0 B ehon实现》作者,前沿技术发展观潮者,擅长高冷技术的“白菜化”解说,微信公众号“睡前机器学习”,个人知乎号“木羊”。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课~ - G程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-07
本文作者:木羊同学
本文来自:“大数据y 2 3DT 微信公众号”,了解相关信息可以关注“大数据DT”