wide & deep
01 点击率预估
1.1 WHAT?
点击率预估是对每次广告点击情况做出的预测,其可以是输出点击或者不点击,也可以是输出该次点击的概率(pClick)
1.2 HOW?
通过上面的介绍我们知道点击率预估是一个二分类问题。因此可以使用机器学习中的逻辑回归作为模型的输出,其输出就是一个概率值,我们便可以将其作为我们对于某个用户是否点击该广告的估计。
1.3 与RS的区别
广告点击率预估是需要得到某个用户对某个广告的点击率,然后结合广告的出价用于排序;而推荐算法很多情况下只需要得到一个最优的推荐次序,即TopN推荐问题。当然也可以利用广告的点击率进行排序,作为广告的推荐。
1.4 FM的问题
当query-item矩阵是稀疏并且是high-rank的时候,很难非常有效率的学习出低纬度的表示。这种情况下,大部分的query-item都没有什么关系。但是dense embedding会导致几乎所有的qurey-item预测值都是非零的,这就导致了推荐算法的过度泛化,会推荐一些不那么相关的物品。相反,简单的linear model却可以通过cross-product transfaormation来记住这些exception rules。
02 wide & deep模型的”记忆能力“和”泛化能力“
Memorization 和 Generalization 是推荐系统常见的两个概念,Memorization表示的是通过用户与商品的交互信息矩阵学习规则,而Generalization是泛化规则。我们直接学习过的FM算法就是个很好的Generalization的例子,他可以根据交互信息学得一个比较短的矩阵V,其中 v i v_i vi储存着每个用户特征的压缩表示(embedding),而协同过滤与SVD都是靠记住用户 之前与哪些物品发生了交互从而推断出的推荐结果,这两者推荐结果当然存在一些差异,我们的Wide&Deep模型就能够融 合这两种推荐结果做出最终的推荐,得到一个比之前的推荐结果都好的模型。
简而言之,Memorization趋向于更加保守,推荐用户之前有过行为的items,而Generalization更加趋向于提高推荐系统的多样性。Memorization需要用一个线性模型就可以实现,而Generalization则需要用DNN才能实现。