由Rendle ( 2010 )提出的因式分解机 (FM)是一种监督算法,可用于分类、回归和排序任务。它很快引起了人们的注意,并成为一种流行且有影响力的预测和推荐方法。特别地,它是线性回归模型和矩阵分解模型的推广。此外,它让人想起具有多项式内核的支持向量机。分解机相对于线性回归和矩阵分解的优势在于:(1)它可以建模χ-way变量相互作用,其中χ是多项式阶数,通常设置为二。(2) 与因式分解机相关的快速优化算法可以将多项式计算时间减少到线性复杂度,使其非常高效,尤其是对于高维稀疏输入。由于这些原因,因式分解机被广泛应用于现代广告和产品推荐中。技术细节和实现描述如下。
21.9.1。2 维分解机
正式地,让x∈Rd表示一个样本的特征向量,并且y表示对应的标签,可以是实值标签,也可以是类标签,如二元类“点击/非点击”。二阶因式分解机的模型定义为:
在哪里w0∈R是全局偏差; w∈Rd表示第 i 个变量的权重;V∈Rd×k表示特征嵌入;vi代表 ith一排V;k是潜在因素的维度;〈⋅,⋅〉是两个向量的点积。 〈vi,vj〉模型之间的相互作用ith和jth特征。一些功能交互可以很容易理解,因此可以由专家进行设计。然而,大多数其他特征交互都隐藏在数据中并且难以识别。因此,自动建模特征交互可以大大减少特征工程的工作量。很明显,前两项对应线性回归模型,最后一项是矩阵分解模型的扩展。如果特征i代表一个项目和特征 j表示用户,第三项恰好是用户和项目嵌入之间的点积。值得注意的是,FM 还可以泛化到更高阶(degree > 2)。然而,数值稳定性可能会削弱泛化。
21.9.2。一个有效的优化准则
以直接的方法优化因式分解机会导致复杂度为O(kd2)因为所有成对交互都需要计算。为了解决这个低效率问题,我们可以重组 FM 的第三项,这可以大大降低计算成本,从而导致线性时间复杂度(O(kd)). 成对交互项的重新表述如下: