一文讲清推荐算法原理

近几年,推荐算法越来越火。所谓推荐算法,其实是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西。

推荐算法的价值在于帮助用户解决信息过载,做出更好的选择,这也是现在互联网领域最强大和最流行的信息发现工具之一。日前,娱乐向机器学习解说选手莫凡在公众号“华章计算机(ID:hzbook_jsj)”发表文章,文章分析了推荐算法背后的原理,以及推荐算法为何会“失灵”。

以下是重点内容。

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

互联网最大的特点就是有海量的信息,不过,光是数量庞大是没有任何意义的,只有信息真正发挥作用才能产生价值。所以,如何让信息发挥价值,始终是互联网发展的一条主轴。

在推荐算法系统出现之前,互联网公司通常的做法是发现信息,这就是搜索引擎。搜索引擎很有用处,但限制也很明显,遗留了很多问题。比如,你要用搜索引擎找信息,不是直接就能得到想要的结果,而是得先掏出一个“关键词”输入进去,然后才能看到命中的结果,这个过程叫做信息检索。

也就是说,你得先知道自己对什么信息感兴趣,得有线索,然后才能通过搜索引擎检索信息。这样做存在一个问题:互联网实在太大了,而人的认知圈子实在太小了,这就导致大量本该有价值的信息,因为没被人看到,只能静静躺在角落里被白白浪费掉了。

推荐算法是怎么做的呢?它改变了搜索引擎的做法,不再是发现信息,而是发现兴趣。其实推荐算法的原理远没有想象中的那么复杂,用一句话概括就是:依靠人和物的关联关系,最少只要经过三次关联,就能完成兴趣发现,进行一次推荐。

比如,小明经常去一家便利店买可乐,店长就会知道小明对可乐感兴趣,这是第一次关联——小明关联可乐。店长还知道另一位顾客小华也对可乐感兴趣,这是第二次关联——小华关联可乐。不过,小华除了买可乐,还喜欢买薯片,这是第三次关联——小华关联薯片。

当小明再去买可乐的时候,店长觉得,既然他俩都爱喝可乐,没准小明也喜欢薯片,于是店长就向小明推荐了薯片。这就是基于兴趣的推荐算法。有人说,推荐算法比另一半更懂你,当你明白了推荐算法的原理,就知道这是理所当然的事情。

其实推荐算法的原理并不复杂,但要想在实际中发挥好作用,还需要根据应用场景做很多调整。推荐算法的重心在于发现人与人之间的共同点,但怎么划分共同点,是有很多不同的方法的。有基于视频节目的推荐,比如“看过这个视频的观众还看过”;也有基于地理位置的推荐,比如“同城的观众都在看”等等。

早期做推荐很简单,是基于点击量来推荐,但后来大家发现,基于点击量的推荐没法发现差异化的兴趣。所以,要想实现一套好用的推荐算法,通常要综合方方面面去考虑,而不只是单独的一两个点。

2. 推荐算法为啥有时会“失灵”?

多数时候,推荐算法是没什么问题的,但一旦出现极端情况,它就会“失灵”。比如,出现了一个爆炸话题,算法推荐的都是这个话题下的相似内容,把其他信息都湮没了。

其实这个现象可以用“长尾理论”来解释:人类社会中存在着大量的小众需求,你贩卖的东西再离经叛道,也能得到真爱的捧场,互联网就是沟通小众需求的桥梁。推荐算法在很大程度上也受了这种理论的影响,所以有一种说法是:推荐算法的最终目标就是能发现一个个小众圈子,把小众的信息推荐给圈子里的人。此外,还有一种“失灵”的情况就是“头部效应”。

很多信息占据头部,所以容易被推荐,因为容易被推荐,所以继续占据头部,形成循环。在推荐算法下,这种“头部效应”会更加明显。这个问题应该怎么解决呢?从技术的角度看,要想解决这个问题就四个字:去极端化,把极端情况变得不那么极端就可以了。

比如,很多依靠评委打分的比赛为了避免受极端情况影响,通常会选择采取去掉一个最高分和一个最低分的做法,就是类似的思路。不过,技术本身是中立的,是正是邪,还要看使用它的人。算法自己是不会产生价值观的,算法的价值观,说到底还是人的价值观。

推荐算法究竟要怎么改,说到底还是要看推荐算法的使用者怎么定义价值。

转载自:https://time.geekbang.org/column/article/249609

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值