导读:广告和推荐算法的技术框架比较相似,但是在优化目标等具体细节上又有很多不同。本文摘选自知乎问答板块“广告算法(系统)和推荐算法(系统)有什么异同?”下王喆老师的分享,有需要的小伙伴可以学习参考。
以下为王喆@知乎的回答:
要理解好广告算法和推荐算法的的异同,一定要首先抓住解决广告和推荐这两类问题的根本目标:
广告算法的目标是为了直接增加公司收入。
推荐算法虽然本质上也是为了增加公司收入,但其直接目标是为了增加用户的参与度。
1. 优化目标的区别
因为需要对每一条广告的CTR,CVR都估的准,广告算法基本全部都是point wise的训练方式,因为广告是很少以列表的形式连续呈现的。在采用负采样,weighted sampling等方式改变原始数据分布后,也需要在后续步骤中千方百计地把CTR,CVR纠正过来。
推荐算法就有大量不同的训练方式,除了point-wise,还有pair-wise,list-wise等等。此外为了增加用户的长期参与度,还对推荐内容的多样性,新鲜度有更高的要求,这就让探索与利用,强化学习等一些列方法在推荐场景下更受重视。
4. 辅助策略/算法的区别
广告系统中,CTR等算法只是其中关键的一步,估的准CTR只是一个前提,如何让广告系统盈利,产生更多收入,还需要pacing,bidding,budget control,ads allocation等多个同样重要的模块协同作用,才能让平台利益最大化,这显然是比推荐系统复杂的。
推荐系统中,由于需要更多照顾用户的长期兴趣,需要一些补充策略做出一些看似“非最优”的选择,比如探索性的尝试一些长尾内容,在生成整个推荐列表时要加入多样性的约束,等等。这一点上,广告系统也需要,但远没有推荐系统的重视程度高。
5. 模型本身的差异
在广告模型中,用户的兴趣是不那么连贯的,因此容易造成sequential model的失效,attention机制可能会更加重要一些。