第10章 推荐算法工程师的自我修养
重视离线评测
- 看论文的时候,论文中实验指标的具体数值可看可不看,但是,一定要看#card
离线实验的设计,
看论文作者如何无偏地收集测试样本、
从哪些维度来评测模型(不光只考虑准确性,还包括推荐结果的丰富性、对冷启动是否友好等)、
用了哪些指标来衡量模型在各个维度上的性能、
怎样设计图表使模型性能一目了然。
学习
- 正确的学习方法是,我们在读论文的过程中必须始终坚持问题导向,比如:#card
■看看作者提出的问题,是否也存在于我们自己的推荐系统中;
■如果存在的话,我们的解决方法与作者提出的方法相比,谁优谁劣;
■除了作者提出的方法,之前是否还见过别的解决方案;
面试环节
第一类可以称之为 “操作性” 问题,这类问题比较简单,就是询问应聘者是怎么做的,目的主要是确认项目经历的真实性。这部分问题都是关于项目的技术细节,真正做过的人自然能够对答如流,否则难免让人产生“简历作假”的联想。一些常见的问题如下。
- 这个项目的日活有多少?#card
- 你负责的这个模块,输入输出的规模有多大?#card
- 模型使用了哪些特征?#card
- 模型使用了哪些结构?画出模型的结构图。#card
- 训练模型使用的是什么优化算法?#card
- 优化的目标有哪些?多个目标的损失函数是怎么融合的?多个目标的打分是怎么融合的?#card
- 离线评估时采用了哪些指标?在线评估时主要看哪些指标?#card
- 模型多长时间更新一次?#card
第二类可以称之为 “理解性” 问题,这类问题的难度较之第一类问题要上一个档次,考察应聘者理解、掌握算法的深度与广度。目标是识别出应聘者对使用过的算法是彻底理解,还是只知道“照猫画虎”般地复现,“知其然,而不知其所以然”。
一些经典的问题如下。
■当初为什么要做出这个选型决策?原来的老模型是什么?有哪些缺点促使你决定升级?新模型是如何解决老模型的那些缺点的?#card
■对于实数特征是如何处理的?分桶是什么做的?对于观看次数这样的长尾分布的数据如何处理?#card
■面对高维稀疏的特征空间,如何处理特征维度爆炸的问题?#card
■召回模型中的负样本为什么是靠随机采样得来的?为什么不像精排那样用“曝光未点击”当负样本?排序与召回的样本策略为什么如此不同?#card
■召回中负样本的采样是如何实现的?离线采样还是在线采样?采样时是均匀采样吗?■
召回结果出现了热门内容垄断的现象,可能是什么原因造成的?如何解决?■#card
对于一些经典模型,我们假定每个应聘者都应该有深入理解,哪怕他没有亲身实践过。FM就是这样的经典模型。FM相对LR的优点有哪些?对于这个问题,我听到最多的答案是“FM能够自动做二元特征交叉”,如果应聘者只能回答到这一层,说明他对FM的理解还是太肤浅了。#card
■我们认为Wide & Deep也是每个从业者都必须熟悉的模型。对于Wide & Deep,哪些特征应该进Wide侧?哪些特征应该进Deep侧?为什么在训练中要采用两个不同的优化算法?#card
■阿里巴巴的DIN也属于那种每个算法工程师都应该必知必会的模型。提出这个模型主要解决什么问题?它的时间复杂度和什么有关?如果用户行为序列太短需要补齐,对那些补齐的位置,模型需要如何处理?#card
■如果要同时预测“点击率”与“购买率”,训练这两个目标的负样本应该如何选取?#card
第三类属于 “开放式” 问题,属于那种不经常见诸书本或论文,但是在日常工作中经常会遇到的问题。这类问题比较宽泛,甚至不见得有标准答案,主要考察候选人对推荐系统的理解是否深刻、实战经验是否丰富。典型问题如下。
- 哪些因素会导致线上线下的效果不一致?如何解决?#card
- 推荐系统中经常出现的偏差有哪些?如何解决?#card
- 做A/B实验的时候,有哪些需要注意的地方?#card
- 对新用户、新物料的冷启动,你有哪些好的解决方案?#card
对于第一类“操作性”问题,应聘者千万要对自己做过的项目做到完全熟悉。#card
如果时间太久导致记忆模糊,不妨面试前自己先把以前的项目细节回忆一遍。
对于一些自己参与度不高的项目,还是不要写进简历,否则回答不上来细节,反而引人怀疑,得不偿失。
对于第二类“理解性”问题,只能加强自己对推荐算法的理解。#card
平日里不要只满足于对论文算法“照猫画虎”地复现了事,了解算法是怎么做的,很重要;知道算法为什么这样做,更重要。
当然,认真学习本书也不失为一种好方法,以上所列举的那些问题,在本书中都能找到答案。
对于第三类“开放式”问题,尽管有些可以在本书中找到作者的解答,但是大部分问题在当今的推荐系统中仍然没有完美、标准的解决方案。所以对这类问题,只有依靠应聘者在日常实践中总结、积累经验和教训。#card
- 尽管困难,但是如果应聘者在面对这类“开放式”问题时给出独立见解,一定会让面试官刮目相看,是重要加分项。
第10章 推荐算法工程师的自我修养
https://blog.xiang578.com/post/logseq/第10章 推荐算法工程师的自我修养.html