这篇文章是阅读《Wide & Deep Learning for Recommender Systems》后的总结,该文章中提出结合Wide模型和Deep模型的组合方法,对于提升推荐系统(Recommendation System)的性能有很重要的作用。
本文提出Wide & Deep模型,旨在使得训练得到的模型能够同时获得记忆(memorization)和泛化(generalization)能力:
在推荐系统中,记忆体现的准确性,而泛化体现的是新颖性。
在本文中,利用Wide & Deep模型,使得训练出来的模型能够同时拥有上述的两种特性。
Wide & Deep模型的结构如下图所示:
在Wide & Deep模型中包括两个部分,分别为Wide部分和Deep部分,Wide部分如上图中的左图所示,Deep部分如上图中的右图所示。
本文将上述的Wide & Deep模型应用在Google play的apps推荐中。
对于推荐系统,其最一般的结构如下图所示:
当一个用户访问app商店时,此时会产生一个请求,请求到达推荐系统后,推荐系统为该用户返回推荐的apps列表。
在实际的推荐系统中,通常将推荐的过程分为两个部分,即上图中的Retrieval和Ranking,Retrieval负责从数据库中检索出与用户相关的一些apps,Ranking负责对这些检索出的apps打分,最终,按照分数的高低返回相应的列表给用户。
模型的训练之前,最重要的工作是训练数据的准备以及特征的选择,在apps推荐中,可以使用到的数据包括用户和曝光数据。因此,每一条样本对应了一条曝光数据,同时,样本的标签为1表示安装,0则表示未安装。
对于类别特征,通过词典(Vocabularies)将其映射成向量;对于连续的实数特征,将其归一化到区间[0,1][0,1]\left [ 0,1 \right ]。
度量的指标有两个,分别针对在线的度量和离线的度量,在线时,通过A/B test,最终利用安装率(Acquisition);离线则使用AUC作为评价模型的指标。