之前写了两篇关于graph embedding的文章,这次换个主题,分享两个ctr预估算法。一个是Wide&Deep,是谷歌16年提的算法《Wide & Deep Learning for Recommender Systems》,链接https://arxiv.org/pdf/1606.07792.pdf,这个算法是用在谷歌应用商店做排序的。另外一个是DeepFM,来自于华为17年提出的《DeepFM: A Factorization-Machine based Neural Network for CTR Prediction》,链接https://arxiv.org/pdf/1703.04247.pdf,这个是华为用在应用商店做排序的。这两个算法既可以在广告中做ctr预估,也可以在推荐系统中做排序。
ctr预估算法中最经典的莫过于逻辑回归LR,优势是速度快,便于加特征,可解释。缺点也很明显,就是无法直接拟合高阶特征,无法做特征交叉,因此需要大量的人工特征工程和专家经验来做特征交叉。后来出现的因子分解机FM,可以解决二阶特征交叉问题,但是不能解决高阶特征交叉。比如年轻男性喜欢玩射击游戏,就包括3阶特征。最近几年随着深度学习的快速发展,工程师引入深度学习解决高阶特征交叉问题,并提出了一批算法,比如FNN,AFM,NFM,DeepCrossing以及Wide&Deep和DeepFM等,私以为最后两篇文章比较经典。
最早看这两篇算法的时候,我的感觉是这两个算法有什么差别,不是一样的吗?最近重新细读了一遍,才理解其中的不同。先来介绍一下Wide&Deep,模型结构如下图所示。所谓Wide&am