利用FTRL优化FM算法

前言:这篇文章主要是对论文《Factorization Machines with Follow-The-Regularized-Leader for CTR prediction in Display Advertising》中的主要内容的总结。

一、广告中的CTR计算问题

1、竞价模型

在广告计算中,主要的竞价模型有如下的几种:

  • 按点击付费(Cost per Click, CPC)
  • 按行为付费(Cost per Action, CPA)
  • 按展示付费(Cost per Impression, CPM)

在以上的竞价模型中CPC是使用最多的一种竞价模型,在CPC中,其核心是点击率(Click Through Rate, CTR)的预测,CTR预测是指对于对于一个广告,一个用户对广告的点击的概率。

2、CTR预测的常用方法

对于CTR的预测,使用最多的方法是Logistic Regression(LR)。LR被广泛使用在CTR预测问题中是因为LR算法在大规模系统中比较容易实施而且具有较好的性能。对于LR算法,其优化的方法主要有:

  • Stochastic (online) Gradient Descent (SGD)
  • Newton and Quasi-Newton methods, 如L-BFGS
  • Coordinate Descent

SGD算法是求解LR模型的卓有成效的方法,但是其不能产生稀疏解,为了能够产生更加稀疏的模型,主要有如下的一些优化的方法:

  • Forward-Backward Spliting, FOBOS
  • Regularized Dual Averaging, RDA
  • Follow-The-Regularized-Leader, FTRL

在上述的优化算法中,FTRL-Proximal能够产生稀疏的模型,同时具有较好的性能。

二、FM算法

1、FM算法的基本原理

FM算法是在LR算法的基础上增加了交叉项,其度为2的FM模型为:

ϕ(w,x):=w0+i=1nwixi+i=1n1j=i+1nvi,vjxixj

其中, wiR vi,vj 表示的是两个大小为 k 的向量 vi 和向量 vj 的点积:

vi,vj:=f=1kvi,fvj,f

其中, kN+ 是一个超参数。交叉项的系数 w^ij 定义为:

w^ij:=vivTj

其中, V 的形式为:

V=v11v21vn1v12v22vn2v1kv2kvnkn×k=v1v2vn

对于交叉项的计算,在FM算法中巧妙的使用了公式 ((a+b+c)2a2b2c2)/2 ,其具体的计算方法如下:

i=1n1j=i+1nvi,vjxixj=12i=1nj=1nvi,vjxixj12i=1nvi,vixixi=12i=1nj=1nf=1kvi,fvj,fxixji=1nf=1kvi,fvi,fxixi=12f=1k(i=1nvi,fxi)j=1nvj,fxji=1nv2i,fx2i=12f=1k(i=1nvi,fxi)2i=1nv2i,fx2i

对于分类问题,其类别为 yi{0,1} ,类似于LR模型,利用FM处理分类问题时,预测的类别为:

y^=σ(ϕ(w,x))

其中, σ(x) 为Sigmoid函数:

σ(x)=11+exp(x)

因此,最终需要学习的目标是:

argminwil(σ(ϕ(w,x)),y)+λr(w)

其中,函数 l(σ(ϕ(w,x)),y) 表示的是损失函数, r 表示的是正则项。损失函数为:

l(σ(ϕ(w,x)),y)=ylog(σ(ϕ(w,x)))(1y)log(1σ(ϕ(w,x)))

这样的优化问题可以使用SGD算法进行求解,具体求解过程可以参见博文“简单易学的机器学习算法——因子分解机(Factorization Machine)”。

注意:上述两个公式在论文中存在问题。

作者在文中提出:对于FM模型中,其线性项和偏置项对于模型的准确性没有帮助,反倒是增加了计算的难度,所以去掉了线性项和偏置项,只保留交叉项。

2、FTRL-Proximal算法概述

在SGD中,权重的更新公式为:

wt+1=wtηtgt

其中, ηt 为学习率,可以取为如下的形式:

ηt=1t

对于SGD中的学习率的取值有很多种情况。

在FTRL-Proximal算法中,权重的更新公式为:

wt+1=argminw(s=1tgsw+12s=1tσswws22+λ1w1)

其中, gs 表示的是梯度, σs 是学习率的一种更新策略,如:

σ1:t=1ηt

其中,

ηt,i=αβ+ts=1g2s,i

这样的学习率的更新策略称为:Per-Coordinate Learning Rates。

三、实验

1、度量标准

在CTR预测中,评价模型的标准一般都是ROC。

2、特征

特征包括:

  • advertiser (ad ID,campaign ID, …)
  • publisher (url, publisher ID, …)
  • user (CRM data)
  • time特征(server time,click time)

特征通过hash的方法进行处理,其目的是进行降维。

你可能感兴趣的:(广告,FM,CTR,FTRL)