记一次商品推荐算法优化过程中的思考与总结

前不久对某个商品推荐业务场景进行了优化,经历近2个月的迭代,线上效果覆盘,现将一些小感悟整理一下。出于隐私保护需要,文中不会涉及到具体信息。

 

  • 养成好的习惯

首先是模型迭代习惯上的改进,刚入职那会儿觉得自己能记住每次的改动就没有做详细的记录,看起来也没有啥问题。后面业务逐渐忙了起来,日常工作会在不同业务中切来切去,有时候上线一个模型后没有很详细的记录改动情况,等迭代个几次回过头来复盘效果自己都觉得头大,从那以后自己每次迭代后一定会做一个比较详细的记录,这样覆盘时就会一目了然,做了哪些改动有什么效果。

 

  • 科学的验证方式

感受到了工业界和学术界做实验的一个不同就是,做学术拿数据集跑一下,只要出了结果效果好就可以开始写论文了。工作中在业务线上面验证一个模型是否有用,往往需要经历一个时间段才有比较准确的结论,因为会受到产品周期,活动投放等因素的影响,需要一个时间段来平滑这些因素的影响。此外科学的A/B test以及对比方式也是得到客观结论的保证,比如理解相对指标和绝对指标之间的差异,如何通过科学的分桶来消除其他业务,活动投放,消费层次分布不均对效果验证的影响。然后就是需要形成一些数据分析的直觉去规避直线思维中的一些陷阱,比如我在数据分析一栏提到的【辛普森悖论】就是一个很好的例子。

 

  • 业务指标和优化指标之间的gap

最后一个感悟也是自己觉得比较难的一个点,就是业务指标和推荐算法优化指标之间的gap。一般来说,商品推荐算法如果推送的是消费者喜欢的,能拉动消费者消费那么就被认为是有效的,这种情况下,优化指标设定为精确率,召回率,auc,top-n命中,消费额等指标就和业务指标关联比较大,优化起来也是比较直接的一个导向。但是在实际业务中可能面临着不同场景之间的相互影响,常见的有消费转移,消费透支等问题。举个栗子,消费者会在场景a和场景b购物,而你负责场景a这一块的优化,消费者在a场景消费了很多,但也可能会影响到在场景b的消费意愿,但是业务指标是需要提升整体消费额,所以你a场景推荐做的再好也不意味着业务指标的直接提升。这时候要优化的目标不仅包括a场景的各项指标,同时也得考虑对其他场景的影响,对于这种问题就比较灵活了,最直接的思路就是自行设计一个和业务指标更加相关的优化指标,或者是结合业务经验去对推荐结果进行一些后处理,也有在调研强化学习的一些方案,以后有机会可以尝试一下。

 

目前想到的这么多,以后每隔段时间会来更新一下~

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章