目录
CTR预估综述
点击率(Click through rate)是点击特定链接的用户与查看页面,电子邮件或广告的总用户数量之比。 它通常用于衡量某个网站的在线广告活动是否成功,以及电子邮件活动的有效性。
点击率是广告点击次数除以总展示次数(广告投放次数)目前,CTR的数值平均接近
0.2%0.2%或
0.3%0.3%,超过
2%2%被认为是非常成功的。常用的CTR预估算法有FM, FFM, DeepFM。
Factorization Machines(FM)
FM的paper地址如下:
https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf FM主要目标是:
解决数据稀疏的情况下,特征怎样组合的问题 根据paper的描述,FM有一下三个优点:
1.
可以在非常稀疏的数据中进行合理的参数估计 2.
FM模型的时间复杂度是线性的 3.
FM是一个通用模型,它可以用于任何特征为实值的情况算法原理
在一般的线性模型中,是各个特征独立考虑的,没有考虑到特征与特征之间的相互关系。但实际上,大量的特征之间是有关联的。
一般的线性模型为:
y=w0+∑ni=1wixiy=w0+∑i=1nwixi从上面的式子中看出,一般的线性模型没有考虑特征之间的关联。为了表述特征间的相关性,我们采用多项式模型。在多项式模型中,特征
xixi与
xjxj的组合用
xixjxixj表示。为了简单起见,我们讨论二阶多项式模型。
y=w0+∑ni=1wixi+∑ni=1∑nj=i+1wijxixjy=w0+∑i=1nwixi+∑i=1n∑j=i+1nwijxixj该多项是模型与线性模型相比,多了特征组合的部分,特征组合部分的参数有
n(n−1)2n(n−1)2个。如果特征非常稀疏且维度很高的话,时间复杂度将大大增加。
为了降低时间复杂度,对每一个特征,引入辅助向量lantent vector
Vi=[vi1,vi2,...,vik]TVi=[vi1,vi2,...,vik]T, 模型修改如下:
y=w0+∑ni=1wixi+∑ni=1∑nj=i+1<Vi,Vj>xixjy=w0+∑i=1nwixi+∑i=1n∑j=i+1nxixj以上就是FM模型的表达式。
kk是超参数,即lantent vector的维度,一般取30或40,也可以取其他数 具体情况具体分析。上式如果要计算的话,时间复杂度是
O(kn2)O(kn2), 可以通过如下方式化简。对于FM的交叉项
∑ni=1∑nj=i+1<Vi,Vj>