数据挖掘之CTR预估(FM算法)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32146369/article/details/89048182

CTR预估有一个传统的方法叫做FM。

源数据如下:

由于都是categorical类型数据,所以需要进行one-hot编码转化为数值型

这里会发现数据变得很稀疏,这在现实问题中是十分常见的情况,并且one-hot编码的另一个特点就是会造成特征空间变大。

而引入FM的时机就是,某些特征经过关联之后,与label之间的相关性会提高。例如USA与Thanksgiving等等,因此引入两个特征的组合是很有必要的。

多项式模型是包含特征组合的最直观的模型,特征x_{i}和x_{j}的组合采用x_{i}x_{j}来表示,即二者均非零时,多项式组合才有意义。

二阶多项式模型表达如下:

然而二次项参数的训练是很困难的,每个参数到的训练都需要大量的非零样本,由于样本本来就稀疏,所以将会导致参数不准。

为了解决二次项参数的训练问题,矩阵分解提供了一种思路,把每个user表示成一个二维向量,同时把每个item表示成一个二维向量,两个向量的点积就是矩阵中user对item的打分。

FM的模型方程:

利用SGD训练模型,模型各个参数的梯度如下:

猜你喜欢

转载自blog.csdn.net/qq_32146369/article/details/89048182