深度学习推荐系统(3)
CTR问题
CTR(Click-Through-Rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(Show content)。
CTR是衡量互联网广告效果的一项重要指标。
CTR点击率预估,是一个二分类问题。
输入:user,Item,context
输出:该item被点击的概率或者是否被点击(取决于是否使用了sigmoid函数)
背景——处理CTR问题的关键
对于CTR问题,特征组合(Feature Interaction)被证明是有效的处理方式,因此针对CTR问题的研究主要集中在是如何更好地学习特征组合,进而更加精确地描述数据的特点上。研究表明,更高阶的特征组合,能使模型效果变好,但同时也提升了模型的复杂度,降低了实时性。因此“如何更高效的学习特征组合”是推荐系统相关模型需要解决的问题。
FM模型(Factorization Machines)
如何进行特征组合,最简单的方法是逻辑回归(LR),其表达式如下。
y = w 0 + ∑ i = 1 n w i x i y = w_0+\sum_{i=1}^nw_ix_i y=w0+i=1∑nwixi
LR本质上是一个线性模型,各个特征是被独立考虑的,并没有考虑特征与特征之间的关系。如果在LR基础上考虑所有的二阶交叉项,也就是将目标函数由原来的变为
y = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n − 1 ∑ i + 1 n w i j x i x j y = w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{i+1}^nw_{ij}x_ix_j y=w0+i=1∑nwixi+i=1∑n−1i+1∑nwijxixj
从公式来看,模型前半部分就是普通的LR线性组合,后半部分的交叉项:特征组合。当交叉项参数 w i j w_{ij} wij全为0的时候,整个模型就退化为普通的LR模型。对于有 n n n个特征的模型,特征组合的参数数量共有 1 + 2 + 3 + ⋯ + n − 1 = n ( n − 1 ) 2 1+2+3+\cdots + n-1=\frac{n(n-1)}{2} 1+2+3+⋯+n−1=2n(n−1)个,并且任意两个参数之间是独立的。所以说特征数量比较多的时候,特征组合之后,维度自然而然就高了。
依据定理
任意一个实对称矩阵(正定矩阵) W W W都存在一个矩阵 V V V,使得 W = V . V T W=V.V^{T} W=V.VT成立。
类似地,所有二次项参数 ω i j \omega_{ij} ωij可以组成一个对称阵 W W W(为了方便说明FM的由来,对角元素可以设置为正实数),那么这个矩阵就可以分解为 W = V T V W=V^TV W=VTV, V V V 的第 j j j列( v j v_{j} vj)便是第 j j j维特征( x j x_{j} xj)的隐向量。
于是公式变为:
y = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n ∑ i + 1 n < v i , v j > x i x j y = w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n}\sum_{i+1}^n\lt v_i,v_j\gt x_ix_j y=w0+i=1∑nwixi+i=1∑ni+1∑n<vi,vj>