1、推荐系统的背景
在线广告投放,实则就是推荐系统,推荐系统被分为3大类:基于内容的推荐、协同过滤推荐(基于物品、基于用户)、关联规则,其实SVD(奇异值分解也可以用于推荐系统)。协同过滤推荐是目前使用较多的推荐算法,Amazon提出的基于物品的推荐系统,适用于用户量远远大于物品数量的电商平台(因为基于用户的CF,由于用户数量非常大,在计算用户相似性时计算量很大,这种情况下适合对物品友好的推荐系统),京东的最佳组合也是基于物品的协同过滤算法,猜你喜欢则是使用基于用户的推荐算法。
《基于分类模型的广告推荐方法研究_李哲》这篇文章介绍了协同过滤算法的两大主要问题:1、冷启动问题 2、数据稀疏 。
解决办法:
Item-based CF的冷启动问题:可以利用物品的内容信息,比如分词、关键字排名,或者使用基于内容的推荐
User-based CF的冷启动问题:
1、提供非个性化的推荐,如:热门的排行榜,等用户充足了再改为个性化推荐
2、根据用户的注册信息,如:兴趣爱好、或从其他网站导入行为数据(微博登录的用户,可以分析微博信息)
3、选择合适的物品启动用户兴趣,如:在用户首次登陆时,让用户选择感兴趣的话题(sina weibo)
数据稀疏问题:采用SVD对矩阵进行降维,另外,数据稀疏时,计算相似度适合采用余弦相似性
-------------------------------------------------------------分割线------------------------------------------------------------------
广告投放可以概括为三个最大化:1、搜索引擎收入最大化 2、(广告主)要求用户点击率最大化 3、(用户)推荐的广告最适合
2.1、CTR点击率
这里CL(u,i)表示 用户u 对 广告i 的总点击次数,PV(u,i)表示广告i 对 用户u 的总展示次数
2.2 收益---CTR的意义
广告主使用以下公式计算收益,为了使得自己的收益最大化,
这里 CPC(Cost Per Click)为单位点击的付费额。
如何计算CPC,有两个模型:统一费率模型(Flate-rate model)和竞价模型(bid-based model)
已目前流行的移动广告投放为例,网络媒体指google的Android平台,广告主指DSP公司
统一费率模型:DSP公司与google之间制定的关于单次点击费用的合约,在广告被用户点击后,google向DSP收取相关费用,这种模型使得google对广告的ctr进行排序,并对用户进行推荐。
竞价模型:各个DSP公司同时向google进行竞价,价高者得到广告位,所以DSP公司需要实时调整 单次广告点击费用。这种模型需要也是需要对广告的ctr进行排序(文章里这么说的,我怎么觉得应该是计算revenue,后续验证)
可以看出这两个模型都和ctr有着密切的关联,我们可以把广告的ctr当做推荐系统里用户对物品的打分。
文章介绍了利用广告日志来预测点击率的方法(点击率预估的框架),如下:
---------------------------------------------------------分割线-----------------------------------------------------------
文章讨论的是统一费率模型,使用的是基于内容的推荐方法,分为:传统分类模型、多标记分类模型
介绍两者模型之前,我们考虑广告推荐的特殊性,情景问题。因为广告日志包括很多情景的特征,如:时间、地点等。经济发达的地方,可能就推荐奢侈品啊~
而这种情景特征很难加入到协同过滤的中,因为协同过滤的思想主要是根据用户的喜好或历史行为记录,计算用户对物品的打分
总之,广告投放不仅仅是推荐,而是对某一用户在某一情景下进行推荐
3.1传统分类模型
这种模型将问题考虑成:在某种特定条件下,用户是否会点击广告,即二分类问题。
关于数据集:分为两部分展示数据、点击数据。展示数据是所有广告的数据,点击数据描述的是哪些数据被点击了。所以点击数据是展示数据的子集。
现在的目的是分类,所以所有点击数据的标签为正类,所有不包含点击数据的展示数据为负类。分类模型就是为了计算某用户u在特定情景c下是否会点击广告c,问题是我们最终的目标是需要计算点击率,(关于计算概率的的分类,常用的有朴素贝叶斯和逻辑回归,这里可以套用一下,有待后续研究),并对点击率进行排序,根据排序结果进行推荐。
概括一下,传统分类模型的步骤:
1、数据预处理:根据点击数据,将展示数据打上label,点击的为1,未点击的为0,如下图
2、训练:通过分类算法,构建分类器模型(这里分类器用朴素贝叶斯和逻辑回归,计算出是否点击和点击的概率是多少)
3、预测:输入特定的用户u,场景c,广告i,判断是否会点击,点击的概率ctr多少
4、推荐:按照ctr排序进行推荐,推荐一个或者多个。
3.2 多标记分类模型
这个模型的思想是:传统的分类模型标记位是0和1,表示是否点击广告,多标记的思路是将点击数据的广告特征作为标记。数据预处理过程如下:
将用户(应用app)和场景c作为特征,标记位为在点击数据中该用户该场景下点击了哪些广告。
这个思想类似于文本分类,一篇小说类别为爱情的、武侠的等多个标签
待续