前言:这篇文章主要是对论文《Factorization Machines with Follow-The-Regularized-Leader for CTR prediction in Display Advertising》中的主要内容的总结。
在广告计算中,主要的竞价模型有如下的几种:
在以上的竞价模型中CPC是使用最多的一种竞价模型,在CPC中,其核心是点击率(Click Through Rate, CTR)的预测,CTR预测是指对于对于一个广告,一个用户对广告的点击的概率。
对于CTR的预测,使用最多的方法是Logistic Regression(LR)。LR被广泛使用在CTR预测问题中是因为LR算法在大规模系统中比较容易实施而且具有较好的性能。对于LR算法,其优化的方法主要有:
SGD算法是求解LR模型的卓有成效的方法,但是其不能产生稀疏解,为了能够产生更加稀疏的模型,主要有如下的一些优化的方法:
在上述的优化算法中,FTRL-Proximal能够产生稀疏的模型,同时具有较好的性能。
FM算法是在LR算法的基础上增加了交叉项,其度为2的FM模型为:
其中, wi∈R , ⟨vi,vj⟩ 表示的是两个大小为 k 的向量 vi 和向量 vj 的点积:
其中, k∈N+ 是一个超参数。交叉项的系数 w^ij 定义为:
其中, V 的形式为:
对于交叉项的计算,在FM算法中巧妙的使用了公式 ((a+b+c)2−a2−b2−c2)/2 ,其具体的计算方法如下:
对于分类问题,其类别为 yi∈{0,1} ,类似于LR模型,利用FM处理分类问题时,预测的类别为:
其中, σ(x) 为Sigmoid函数:
因此,最终需要学习的目标是:
其中,函数 l(σ(ϕ(w,x)),y) 表示的是损失函数, r 表示的是正则项。损失函数为:
这样的优化问题可以使用SGD算法进行求解,具体求解过程可以参见博文“简单易学的机器学习算法——因子分解机(Factorization Machine)”。
注意:上述两个公式在论文中存在问题。
作者在文中提出:对于FM模型中,其线性项和偏置项对于模型的准确性没有帮助,反倒是增加了计算的难度,所以去掉了线性项和偏置项,只保留交叉项。
在SGD中,权重的更新公式为:
其中, ηt 为学习率,可以取为如下的形式:
对于SGD中的学习率的取值有很多种情况。
在FTRL-Proximal算法中,权重的更新公式为:
其中, gs 表示的是梯度, σs 是学习率的一种更新策略,如:
其中,
这样的学习率的更新策略称为:Per-Coordinate Learning Rates。
在CTR预测中,评价模型的标准一般都是ROC。
特征包括:
特征通过hash的方法进行处理,其目的是进行降维。