FM的论文名字为《Factorization Machines》,其核心思想是组合一阶和二阶特征,基于K维的隐向量,处理因为数据稀疏带来的学习不足问题。并且通过公式推导出其学习时间是线性的,非常适用于大规模的推荐系统。首先从LR到多项式模型方程再到FM进行演进的梳理,随后对于论文中的某些细节进行展开。

 

演进梳理:

一、LR模型方程

回顾一般的线性回归方程LR,对于输入任意一个n维特征向量FM梳理以及公式细节推导,建模估计函数FM梳理以及公式细节推导

FM梳理以及公式细节推导

FM梳理以及公式细节推导

LR模型的参数为:FM梳理以及公式细节推导FM梳理以及公式细节推导

从LR模型方程中我们可以看到:

(1)各个特征分量FM梳理以及公式细节推导FM梳理以及公式细节推导FM梳理以及公式细节推导彼此之间是独立的

(2)FM梳理以及公式细节推导将单个特征分量线性的组合起来,却忽略了特征分量彼此之间的相互组合关系

对于特征的组合关系,我们定义:

(1)一阶特征:即单个特征,不产生新特征,如FM梳理以及公式细节推导

(2)二阶特征:即两个特征组合产生的新特征,如FM梳理以及公式细节推导

(3)高阶特征:即两个以上的特征组合产生的新特征,如FM梳理以及公式细节推导

所以LR模型只考虑了一阶特征的线性组合关系

二、多项式模型方程

为了克服模型欠缺二阶特征组合因素,我们将LR模型改写为二阶多项式模型

FM梳理以及公式细节推导

FM梳理以及公式细节推导
二阶多项式模型

其中FM梳理以及公式细节推导表示两个互异特征组合的二阶特征FM梳理以及公式细节推导表示二阶特征的交叉项系数

至此,该模型似乎已经加入了特征组合的因素,接下来只要学习参数即可

但是,上述二阶多项式模型却有一个致命的缺陷:

数据稀疏性普遍存在的实际应用场景中,二阶特征系数FM梳理以及公式细节推导的训练是很困难的

造成学习困难的原因是:

(1)FM梳理以及公式细节推导的学习需要大量特征分量FM梳理以及公式细节推导FM梳理以及公式细节推导都非零的样本

(2)样本本身是稀疏的,同时满足FM梳理以及公式细节推导的样本非常稀少

所以多项式模型虽然加入了二阶特征组合,却受到数据稀疏的影响

三、FM模型方程

为了克服模型无法在稀疏数据场景下学习二阶特征系数FM梳理以及公式细节推导,我们需要将FM梳理以及公式细节推导表示为另外一种形式

为此,针对样本FM梳理以及公式细节推导的第i维特征分量FM梳理以及公式细节推导,引入辅助隐向量FM梳理以及公式细节推导

 FM梳理以及公式细节推导
FM梳理以及公式细节推导
辅助隐向量

其中k为超参数,表示特征分量FM梳理以及公式细节推导对应一个k维隐向量FM梳理以及公式细节推导,则将FM梳理以及公式细节推导表示为:

FM梳理以及公式细节推导

 

上式引入隐向量的含义为:

二阶特征系数FM梳理以及公式细节推导等价于:特征分量FM梳理以及公式细节推导FM梳理以及公式细节推导对应的隐向量FM梳理以及公式细节推导FM梳理以及公式细节推导的内积FM梳理以及公式细节推导,这就是FM模型的核心思想

则我们将二阶多项式模型改写为FM模型

FM梳理以及公式细节推导

从FM模型方程可知,FM模型的参数为:

FM梳理以及公式细节推导

FM梳理以及公式细节推导
FM模型的参数

各个参数的意义为:

(1)FM梳理以及公式细节推导表示FM模型的偏置

(2)FM梳理以及公式细节推导表示FM模型对一阶特征的建模

(3)FM梳理以及公式细节推导表示FM模型对二阶特征的建模

参数的个数为:FM梳理以及公式细节推导

模型的复杂度为:FM梳理以及公式细节推导

 

公式细节:

1、关注模型中的第三项:

FM梳理以及公式细节推导

其中<v1,v2>该项的具体展开如图所示:

FM梳理以及公式细节推导

 2、在证明该模型具有线性时间复杂度的第一步时,用到如下的方法证明:

 

FM梳理以及公式细节推导

 

相关文章: