换个角度看推荐 从业务视角理解算法,用好算法 人工智能——生产力工具 导言 从历史说起 1946 年宾西法尼亚大学诞生了世界第一台电脑——ENIAC; ENIAC 比人类算数快很多(每秒 5000 次加减法),引起世界一片惊叹和争论; ENIAC 是什么,能做什么,只有科学家懂; 我们不是科学家,但如今的我们可以用手机创造更大的生产力 文明史就是工具进化史 第一次工业革命,掀起了“羊吃人”运动,解放了大量生产力,促使了资本主义的诞生; 第二次工业革命,人类进入电气化时代;包括后来计算机的普及,人没有被淘汰,而是利用工具创造了更大的价值; 人工智能,依旧不是为了替代人而产生的,而是解放人们在智力上的重复劳动。 谁最应该用好算法? 算法工程师类似于电脑制造商,负责造出更快的、性价比更高的电脑;他们的技能树不是“如何使用电脑”; 业务同学(运营、产品)不需要理解电脑底层的电路原理、运转机制,但他们才是真正发挥电脑作用的人; 亚洲四大邪术之中国 PS 术,都是电脑达人吗? 算法原理 第 1 节 如何理解“算法(人工智能)是解放人类在智力上的重复劳动的工具”? 运营是如何进行推荐的? 如果有一个货架需要运营同学来搭建,普通的运营会怎么做? 先解决千人一面的问题。 如果场景的最终指标是 ctr,那么就把 ctr 最高的那些商品放到场景中来; 商品的 ctr 跟场景是相关的,所以要数据驱动,保持场景中的商品始终是当前 ctr 最高的那些商品。 进阶一下:分人群运营 如果我们对人群做把控,男性和女性可以看到不同的货架,那么如下做就可以提升整体效果: 男性看到对男性而言 ctr 最高的商品; 女性看到对女性而言 ctr 最高的商品; 再进阶一下:精细化运营 如果能将用户区分得更加精细(例如:中国东北 30~35 岁高购买力男性),类似这样的简单组合,就可以将人分为大概 700 多类。 推荐算法就是用类似的方法,可以自动的对上述分类进行数据驱动下的自动商品货架调整。 推荐中最有效的策略(i2i)是这种分类:刚刚看过某个商品的人群,对他们而言哪些商品的 ctr 更高。 算法的本质 第 2 节 推荐(搜索)算法的本质是学习用户的行为 万物皆可“个性化”吗? 推荐系统能对彩票进行推荐吗? 推荐算法学得是用户行为,而不是彩票; 用户做不到的事情,算法就学不到; 思考:算法能学出商品的质量吗? “学习用户行为”会发生什么? 为了预测用户的行为,则必须要从用户的行为中学习; 但如果一个场景下,用户也无法识别商品的好坏,那算法还有效吗? 电商购物场景下,用户能有效识别商品的好坏吗?他们怎么识别的? 算法同学说:“我的模型中考虑了客诉、物流、用户评论、DSR 等因素”,这些因素真的起作用了吗? 帮助用户做出有效的行为 推荐算法有效,背后的假设:用户行为值得学习 产品设计上应当帮助用户做出有效的行为 例如,辅助用户决策,将用户评论、好评率、DSR 等信息外显出来; 增加点赞等丰富的用户后验的社交行为,帮助其他用户进行决策。 用户行为都值得学习吗? 人都会有犯错的时候。犯错的行为不值得学习; 一些高门槛的领域里,大多数用户都不是资深用户,他们的行为就未必值得学习; 推荐系统要是学习了这种行为会怎样? 推荐结果中充斥着大量标题党、牛皮癣、黄图、爆款等等; 用户无从选择时,只能利用上述信息进行决策;反过来,也使此类内容更容易获得高点击; 正确的做法:通过背书(例如品牌旗舰店),教会用户该看什么; 指标问题 第 3 节 如何评估推荐的效果 推荐算法是学习过程,所以评估可以类比于考试: 学得好,成绩会提升; “应试教育”是存在的; 不忘初心,不“唯指标”论。观察到指标的提升,还要想一想是不是效果真的提升了。 评估结果不是一切 考试是衡量学习的手段,不要为了考试而学习;不要为了指标而制定策略。 面对指标时,不要盲目认定“这是个黑盒”便放弃了思考;成绩不好反映的是学习过程出现了问题。 成绩没反映出来问题也不代表没有问题 统计数据会说谎 如何让一个班级的成绩快速提升? 开除这个班级平均分以下的学生 思考: 算法可以引领消费升级吗? 算法可以引领内容化吗? 关于指标的误区 当我们考核点击率、客单价时,统计指标是否反应了我们的本意: 我们希望同一拨人的指标均值得到提升; 更准确的,我们期待人的成长,而不是数据的增长。不加限制(例如有些人流失了)的点击率提升证明不了任何事情。 也回顾前面的话题:任何人群的指标增长都能证明业务的提升吗?例如作弊人群?新用户(无产品心智)人群? 算法被应用时也需要小心 推荐算法不以改变用户为目标 我们希望学生学会更多知识,进而提升了成绩: 教育工作者的重点会考察学生还有哪些知识没掌握,然后教会学生; 算法会找出最容易考高分的卷子来提升成绩; 短期内,算法指导得成绩一定更好,甚至任何时候互换老师(AB 测试),算法的成绩都更高; 但算法无法指导学生变得更好。 总结 本文要点 算法是工具,需要人来使用好这个工具; 算法的基本原理:统计当前场景下,对于不同细分人群,怎样的推荐结果指标更好; 算法的本质:学习用户行为!用户不懂的,算法也学不会。 指标问题:算法是唯指标论的,但人不是。需要人把控算法,而不是算法控制人。 算法在场景中应用的要点 场景要解决用户什么问题?这个问题是否可以通过学习用户行为而习得?值得学习哪些用户行为? 这件事用什么指标评估?需要哪些限定条件?除了指标,还有没有其他的佐证方式? 项目的不同阶段需要不同的指标和做法,不盲目使用算法,同算法工程师沟通清楚需求。 最后的一个小问题 如果产品经理的 KPI 和 算法工程师的 KPI 是一样的,那产品和算法究竟应该听谁的?