当前位置: 首页 > news >正文

抖音的推荐技术这么强,为什么还有人觉得推荐的一点都不准呢?

685984f4b6485415ddd6e01a37132829.gif

4de490689b9e20c96387d33d95786443.png

导读:相信推荐系统从业者肯定都认同字节跳动的推荐算法能力是国内最强之一。抖音作为既今日头条之后字节系最重要的产品(没有之一),寄托了字节所有的希望和雄心。抖音作为一个推荐算法驱动的产品,推荐算法是其核心能力,抖音的推荐系统质量代表了字节系推荐算法能力的最高水平。

0ab0424032b12982ea7956edb4cd16d5.png

作者 | gongyouliu

编辑 | auroral-L

cb4acd34c147cca3ca8a3cf78aa273ee.png

相信推荐系统从业者肯定都认同字节跳动的推荐算法能力是国内最强之一。抖音作为既今日头条之后字节系最重要的产品(没有之一),寄托了字节所有的希望和雄心。抖音作为一个推荐算法驱动的产品,推荐算法是其核心能力,抖音的推荐系统质量代表了字节系推荐算法能力的最高水平。

在所有用过抖音的人中,肯定有很多人有这个感觉,觉得抖音给自己推荐的东西不是很准(不知道你又没有这个感觉?如果你不用抖音,那么用淘宝时你有这个感觉吗?)。不管你有没有这个感受,我是碰到很多朋友跟我说抖音的推荐达不到自己的预期。既然抖音的推荐算法能力这么强?为什么给我们推荐的就没有那么准呢?今天我们就来聊聊这个问题。

在讲原因之前,我讲一个我在做推荐系统早期时的故事。在我做推荐系统早期时(大概2013年左右),我的老板和同事经常会跟我说,为啥给他推荐的不是很准,明明他喜欢的或者觉得应该推荐的没有推荐,推荐的很多而他又不喜欢。我当时确实没法给他解释,一般遇到这种情况,我就去拉他的播放历史,然后去看算法实现,找出算法为什么给他这样推荐的原因。虽然能够解释给他这样推荐的内在原因,但是这种解释总归不能让他们满意,自己也感觉不够有说服力,还是没有解决他们的困惑和疑问。

我遇到的这个问题跟上面提到的抖音推荐不准的问题如出一辙。总结来说,就是在一个推荐系统(甚至是在一个推荐算法能力很强的系统)中,总有用户觉得他们的推荐达不到预期,这个问题我们该怎么去理解,怎么回答呢?

经过我这些年在推荐系统上的思考和实践。我觉得最好的解释应该从推荐系统优化的目标来考虑。推荐算法是一个数学中的最优化问题,它优化的是一个全局目标(比如人均播放时长、人均点击率等等),见下图(这里以预测用户评分为例,26a5af9209e15968770f37f58ae5bcb4.png是需要求的模型参数,93e97389d722d9453cbedacc3223191e.png是我们构建的数学模型,44c4958333dbe8c6b7971d8e67804b02.png是训练样本):

278111b9c054dbddedd4cd35c28bc343.png 

而个人的推荐效果只是整个全局目标的一个组成部分,全局最优化不代表个人的目标就能达到最优。何况在一个复杂的推荐算法体系,我们一般是很难(基本上是不可能)达到全局最优的,个人也就很难达到最优了。我觉得这应该就是为啥个人的推荐不够好的本质原因。

上面的结论如果用更通俗的话来说,在一个复杂的系统中,即使整体很好,也不能保证每个个体是最优的。这就像欧美国家虽然整体很富裕,但是它们国内也一些穷人,甚至连饭都吃不饱。

有了上面的解释。如果你是推荐系统的使用者,相信你也能够理解了为什么给你推荐的可能达不到你的预期。作为推荐系统使用者的我们,也希望大家看完这篇文章,不要认为给我们的推荐不够满意就否认整个推荐系统的价值和能力。如果你是推荐系统从业者,当你的领导或者老板问你推荐不准的问题时,你知道该怎么回答了。这个解答也不是给我们提供接口,我们还是要明确推荐系统的整体目标,尽力优化整体目标,整体目标有了较大的提升,那么给每个个体的推荐效果也会有所提高的。

RECOMMEND

推荐阅读

4f796714bac46eab19f378f4f3f54694.png

da2ce02fd2a78b15a4b1c9b9fe25de2d.png

推荐算法工程师必读

作者:刘强

推荐理由:推荐系统专家10年实践经验之作,从场景、算法、工程、运营、实践等多维度深度梳理构建企业级推荐系统的方法

695aec937a942f7348c5631644b20ae8.gif

4e2de3094dc424477f7b9b4bf41797a4.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

73c8ce0e4de442d90cf6fde615e694d4.gif

更多精彩回顾

书讯 | 1月书讯(下)| 2022年的第一本书

书讯 | 1月书讯(上)| 2022年的第一本书

资讯 | 重磅!达摩院发布2022十大科技趋势

书单 | 6本书,读懂2022年最火的边缘计算

干货 | Flink1.14.2发布,除了log4j漏洞你还需要关注什么?

收藏 | Docker冲顶技术热词,微服务应用热度不减,中国云原生开发者真实现状如何?

上新 | 【新书速递】金融领域可解释机器学习模型与实践

赠书 | 【第88期】这10本硬核技术书,带你读懂5G、物联网和边缘计算,玩转元宇宙

5c97321022fdd9d339a7a967513a8de3.gif

33aa870446d89a067f5235737835967f.gif

点击阅读全文购买

相关文章:

  • 【新书速递】如何高效学习存储系统?一本书全都讲明白
  • 学会这10个设计原则,离架构师又进了一步!!!
  • Electron开发者该如何提升自己的技能水平
  • 终于有人把ROS机器人操作系统讲明白了
  • 一文看懂——序列数据的生成:GAN的方法
  • “三行代码,确实需要耗上一整天!”
  • GraalVM下一代JVM到底是什么?
  • 【第89期】推荐几本电商必读书
  • 一文带你了解LoongArch自主指令系统
  • 2021年数据中台行业十大关键词
  • 测试工程师的未来发展方向在哪里?
  • 一个案例讲明白!如何更安全地实现数据备份和恢复
  • 省政协委员、南京大学人工智能学院院长周志华: 科研学习探索最重要的是“兴趣”和“勤奋”...
  • 为什么现在还有985高校给大一上C语言课?
  • 如何用数字化构建企业的“韧性”?
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【comparator, comparable】小总结
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • github从入门到放弃(1)
  • HTML-表单
  • JavaScript函数式编程(一)
  • Mybatis初体验
  • Python爬虫--- 1.3 BS4库的解析器
  • Spring-boot 启动时碰到的错误
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue脚手架vue-cli
  • Yeoman_Bower_Grunt
  • 从重复到重用
  • 前端之React实战:创建跨平台的项目架构
  • 数据可视化之 Sankey 桑基图的实现
  • 我与Jetbrains的这些年
  • 小程序button引导用户授权
  • ​2021半年盘点,不想你错过的重磅新书
  • ​flutter 代码混淆
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (十三)Flask之特殊装饰器详解
  • (转)程序员疫苗:代码注入
  • *p++,*(p++),*++p,(*p)++区别?
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET Core 版本不支持的问题
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net web项目 调用webService
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /etc/fstab 只读无法修改的解决办法
  • @Bean, @Component, @Configuration简析
  • @property括号内属性讲解
  • @RequestParam详解
  • [Android]一个简单使用Handler做Timer的例子
  • [Android学习笔记]ScrollView的使用
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练