数据与智能 出版了专著「构建企业级推荐系统:算法、工程实现与案例分析」。每周输出7篇推荐系统、数据分析、大数据、AI原创文章。「数据与智能」(同名视频号、知乎、头条、B站、快手、抖音、小红书等自媒体平台号) 社区,聚焦数据、智能领域的知识分享与传播。
作者 | gongyouliu
编辑 | auroral-L
大家好,我是强哥。一个热爱暴走、读书、写作的人!
相信推荐系统从业者肯定都认同字节跳动的推荐算法能力是国内最强之一。抖音作为既今日头条之后字节系最重要的产品(没有之一),寄托了字节所有的希望和雄心。抖音作为一个推荐算法驱动的产品,推荐算法是其核心能力,抖音的推荐系统质量代表了字节系推荐算法能力的最高水平。
在所有用过抖音的人中,肯定有很多人有这个感觉,觉得抖音给自己推荐的东西不是很准(不知道你又没有这个感觉?如果你不用抖音,那么用淘宝时你有这个感觉吗?)。不管你有没有这个感受,我是碰到很多朋友跟我说抖音的推荐达不到自己的预期。既然抖音的推荐算法能力这么强?为什么给我们推荐的就没有那么准呢?今天我们就来聊聊这个问题。
在讲原因之前,我讲一个我在做推荐系统早期时的故事。在我做推荐系统早期时(大概2013年左右),我的老板和同事经常会跟我说,为啥给他推荐的不是很准,明明他喜欢的或者觉得应该推荐的没有推荐,推荐的很多而他又不喜欢。我当时确实没法给他解释,一般遇到这种情况,我就去拉他的播放历史,然后去看算法实现,找出算法为什么给他这样推荐的原因。虽然能够解释给他这样推荐的内在原因,但是这种解释总归不能让他们满意,自己也感觉不够有说服力,还是没有解决他们的困惑和疑问。
我遇到的这个问题跟上面提到的抖音推荐不准的问题如出一辙。总结来说,就是在一个推荐系统(甚至是在一个推荐算法能力很强的系统)中,总有用户觉得他们的推荐达不到预期,这个问题我们该怎么去理解,怎么回答呢?
经过我这些年在推荐系统上的思考和实践。我觉得最好的解释应该从推荐系统优化的目标来考虑。推荐算法是一个数学中的最优化问题,它优化的是一个全局目标(比如人均播放时长、人均点击率等等),见下图(这里以预测用户评分为例,
是需要求的模型参数,
是我们构建的数学模型,
是训练样本):
而个人的推荐效果只是整个全局目标的一个组成部分,全局最优化不代表个人的目标就能达到最优。何况在一个复杂的推荐算法体系,我们一般是很难(基本上是不可能)达到全局最优的,个人也就很难达到最优了。我觉得这应该就是为啥个人的推荐不够好的本质原因。
上面的结论如果用更通俗的话来说,在一个复杂的系统中,即使整体很好,也不能保证每个个体是最优的。这就像欧美国家虽然整体很富裕,但是它们国内也一些穷人,甚至连饭都吃不饱。
有了上面的解释。如果你是推荐系统的使用者,相信你也能够理解了为什么给你推荐的可能达不到你的预期。作为推荐系统使用者的我们,也希望大家看完这篇文章,不要认为给我们的推荐不够满意就否认整个推荐系统的价值和能力。如果你是推荐系统从业者,当你的领导或者老板问你推荐不准的问题时,你知道该怎么回答了。这个解答也不是给我们提供接口,我们还是要明确推荐系统的整体目标,尽力优化整体目标,整体目标有了较大的提升,那么给每个个体的推荐效果也会有所提高的。