推荐算法为啥这么“灵”,又为啥会“失灵”?
导读:一句话概括推荐算法的原理 。
作者:木羊同学
来源:华章计算机(ID:hzbook_jsj)

文章图片
推荐系统是为用户推荐所需物品的软件工具和技术 。 提供的推荐旨在通过各种决策过程来支持用户 , 例如 , 买什么物品、听什么歌曲或读什么新闻 。 推荐系统的价值在于帮助用户解决信息过载和做出更好的选择 , 也是现在互联网领域最强大和最流行的信息发现工具之一 。
今天就和大家聊聊:推荐算法为啥这么“灵” , 又为啥会“失灵”?
01推荐算法为啥这么“灵”?
要回答这个问题 , 首先得讲清楚推荐算法的原理是什么 。
我们知道 , 互联网最大的特点就是有海量的信息 。 不过 , 光是数量庞大是没有任何意义的 , 需要信息真正发挥作用才能产生价值 。 所以 , 如何让信息发挥价值 , 始终是互联网发展的一条主轴 。 为此 , 我们想了很多办法 。
“算法推荐系统”出现前 , 我们的做法是发现信息 , 这就是搜索引擎 。 搜索引擎很有用 , 但限制也很明显 , 遗留了很多问题 。 回想一下:我们要用搜索引擎找信息 , 不是直接就得到想要的结果 , 而是得首先掏出一个“关键词”输入进去 , 然后才能看到命中的结果 。
这个过程叫信息检索 , 也就是你得首先知道自己对什么信息感兴趣 , 得有线索 , 然后才能通过搜索引擎检索信息 。 但这就有个问题 , 互联网实在太大了 , 而人的认知圈子实在太小了 , 这就导致了大量本该有价值的信息 , 因为没被人看到 , 而只能静静躺在角落被白白浪费了 。
这个问题初看不可能有解 , 毕竟从常识推断 , 我们得首先知道那条信息 , 才可能判断对它是否感兴趣 , 这个过程应该没法颠倒过来 , 去发现我们不知道但感兴趣的信息 。 但推荐算法做到了 , 它改变了搜索引擎的做法 , 不再是发现信息 , 而是发现兴趣 。
【推荐算法为啥这么“灵”,又为啥会“失灵”?】推荐算法是怎样发现兴趣的呢?听起来好像很玄乎 , 不过原理远没有想象中的那么复杂 , 我用一句话概括——就是依靠人和物的关联关系 , 最少只要经过三次关联 , 就能完成兴趣发现 , 进行一次推荐 。
这么说不太形象 , 我举一个例子 。
我爱喝快乐水 , 经常去家旁边的便利店买快乐水 , 店长当然很快就知道我对快乐水感兴趣 , 这是第一次关联——我关联快乐水 。 接着 , 店长收完钱 , 想起来有另一位顾客也对快乐水感兴趣 , 名字就叫小编吧 。 小编也常到店里买快乐水 , 这是第二次关联——快乐水关联小编 。 这位小编和我一样 , 对快乐水有着相同的执念 , 但又有点不同:除了到店里买快乐水 , 小编还常买另一样东西——薯片 , 这就是第三次关联——小编关联薯片 。想到这里 , 店长觉得:既然我们都爱喝快乐水 , 那没准你们也都喜欢吃薯片呢?于是 , 店长就向我推荐了薯片 。 这就是基于兴趣的推荐算法 , 大数据分析常举的例子——啤酒尿布 , 就是上面的这个原理 。

文章图片
我最近看到很多文章 , 说推荐算法比女朋友更懂你 , 外人一看都觉得挺神奇的 , 其实明白了推荐算法的原理 , 就应该知道这是理所当然的 , 术业有专攻 , 除非你的女朋友正好是店长 。
当然了 , 推荐算法原理不复杂 , 但实际要发挥好作用 , 还需要根据应用场景作很多调整 。 推荐算法的重心在于发现人与人之间的共同点 , 但怎么划分共同点 , 是有很多不同的方法的 。
就拿我们常见的推荐来说 , 既有“看过这个视频的观众还看过”这类基于视频节目的推荐 , 也有“同城的观众都在看”这类基于地理位置的推荐 。
早期做推荐很简单 , 是基于点击量来推荐 , 但大家很快发现:基于点击量的推荐没法发现差异化的兴趣 。 所以 , 要想实现一套好用的推荐算法 , 通常要综合方方面面去考虑 , 而不只是单独的一两个点 。
02推荐算法为啥会“失灵”?
推荐算法平时没什么问题 , 但一旦出现极端情况 , 譬如说爆发大规模疫情 , 就会出现前面我们看到的推荐算法“失灵”的问题 , 大量推荐的都是疫情相同的信息 , 把其他信息都湮没了 。
不过说实话 , 推荐算法有这样的结果 , 其实是“合理”的 。 你想一下:疫情期间你的朋友、家人、同学或者同事 , 包括你自己 , 最关心的是什么?就是疫情 。
推荐算法这边呢 , 我们一再强调推荐算法要做的是发现兴趣 , 而恰恰是正确地发现了你对疫情的“兴趣” , 所以推荐算法才给你大量推荐了疫情相关的信息 。 非要说这是问题的话 , 恐怕首先也得是社会学的问题 。
但是 , 深入地想一想就会发现 , 这个问题没这么简单 。 互联网经济在过去很长一段的时间里是推崇一种理论的 , 叫长尾理论 , 大概意思是:人类社会中存在着大量的小众需求 , 你贩卖的东西再离经叛道 , 也总会能得到真爱的捧场 , 互联网就是沟通小众需求的桥梁 。
推荐算法在很大程度上也受了这种理论的影响 , 所以有一种说法是:推荐算法的最终目标就是能发现这一个一个的小众圈子 , 把小众的信息推荐给圈子里的人 。
但现实却是另外一回事 。 近几年大家讨论更多的是另一种互联网现象 , 如果你经营过公众号或者当过UP主 , 应该会对这种现象印象深刻 , 这就是头部效应 。
大部分甚至绝大部分的互联网流量 , 实际上是被少数几个“头部”信息生产者吸走了 , 剩下绝大多数的信息生产者 , 则仍然是静静地呆在角落里面被人遗忘 。

文章图片
本该打破这一现象的推荐算法 , 反而加剧了这种现象 。 因为占据头部 , 所以容易被推荐 , 因为容易被推荐 , 所以继续占据头部 , 推荐算法导致的这种上升螺旋 , 让头部效应更加明显 。 如果把本次疫情看作是一个新的头部 , 也许能更好地理解推荐算法为什么会在疫情中出现失灵 。
那么 , 这个问题应该怎么解决呢?这个问题 , 容易回答 , 也不容易回答 。 从技术的角度看 , 这个问题想要解决 , 思路是很清晰的 , 就四个字:去极端化 。
理论研究和真实环境往往有差别 。 理论研究都爱对环境条件进行简化假设 , 智能算法也不例外 , 通常假设各种情况出现的概率是服从均匀分布的 , 大家应该是旗鼓相当的公平竞争 , 谁也压不住谁 , 然后再在这个假设条件下构建算法的各种逻辑 。
但实际上 , 一枝独秀也许才是真实环境中最为常见的情况 。 其它的所谓竞争者 , 要么是萌新 , 躲在角落瑟瑟发抖 , 要么是菜鸡 , 互啄上不了台面 。 在算法看来 , 这种现实情况和假设情况相差实在太远 , 太极端 , 所以 , 会出现奇奇怪怪的结果自然也就不值得奇怪了 。
要让算法恢复正常怎么办呢?只要把极端情况变得不那么极端就可以了 , 很多依靠评委打分的比赛为了避免受极端情况影响 , 通常会选择采取去掉一个最高分和一个最低分的做法 , 就是类似的思路 。
不过 , 技术本身是中立的 , 是正是邪 , 要看使用的人 , 就好比菜刀 , 究竟是用来切菜还是砍人 , 不是由菜刀自己说了算 。 现在讨论的很多问题看起来是技术的问题 , 其实还是人的问题 。 譬如人工智能 , 说到自动驾驶 , 我们就很爱讨论一个话题 , 说算法应该怎么处理电车难题 。
但实际上 , 算法自己是不会产生价值观的 , 算法的价值观 , 说到底还是人的价值观 。 推荐算法究竟要怎么改 , 说到底还是要看推荐算法的使用者怎么定义价值 。
我想 , 推荐算法最后一定能够满足“推荐有价值信息”这一要求的 , 但是 , 这里的“有价值”究竟是对谁而言的有价值 , 那就是另一个问题了 。
关于作者:莫凡 , 娱乐向机器学习解说选手 , 《机器学习算法的数学解析与Python实现》作者 , 前沿技术发展观潮者 , 擅长高冷技术的“白菜化”解说 , 微信公众号“睡前机器学习” , 个人知乎号“木羊” 。

文章图片
延伸阅读《机器学习算法的数学解析与Python实现》
推荐语:如果你之前不太了解机器学习 , 现在想要了解机器学习的主流算法和原理 , 并希望快速、清晰地建立对机器学习的“大局观” , 但是担心一上来就被各种艰涩的数学公式“揍”得眼冒金星 , 那这本书就是你想要的 。
推荐阅读
- 剑与远征秘宝峡湾第二关怎么过?剑与远征秘宝峡湾第二关阵容推荐攻略心得
- 新个体经济为啥这么"火" 分享也是一项"严肃创业"
- 喜欢走走停停|海拔1800米的地方游览南天湖!为啥重庆丰都漂流风景区美?
- 绿色可循环包装好处多,为啥收快递时却遇不到?
- 挺过上半年疫情冲击,中国电竞行业为啥更红火了?
- 星车记|新能源车上市这么久,为啥很多人不喜欢?买过的车主说出实话
- 推荐|沈阳一门市发生爆炸,系正在营业的包子铺,有消防队员受伤
- 推荐|北京丰台一处自来水井发生“井喷”,多方联动,不到一小时修好
- 补水眼霜哪个牌子好用 十大口碑好的补水保湿眼霜推荐
- 全球保湿水品牌排行榜 口碑最好的保湿水推荐
