FM模型
AI摘要: 本文介绍了FM模型,这是一种统计学模型,用于处理高维稀疏数据和特征交叉,能捕捉特征之间的关系。FM模型通过引入低秩因子向量来减少计算参数的数量,并增加对特征交互作用的捕捉,特别关注二阶相互作用。该模型采用梯度下降法优化损失函数,并通过因子向量学习用户与物品之间的相互作用。在推荐系统中,FM模型可用于预测用户对物品的评分或点击概率,通过分析用户与商品的特征相互作用来进行预测。
FM模型是一种统计学模型,适合处理高维稀疏数据和特征交叉,能够有效捕捉特征之间的关系。
原理
FM 模型可以看做线性模型的扩展,可以捕捉特征之间的二阶相互作用。
公式如下
其中,w_0是偏置项、w_i是特征i的权重,v_i为特征i的因子向量,x_i为特征i的值。
因子向量v_i用于捕捉特征i与其他特征之间的交互作用,又因为因子向量特征维度通常较小,因此有助于降低模型复杂度和过拟合风险。
v_i, v_j的内积反应了这两种特征之间的相互作用强度
总体来看,就是线性模型的基础上增加了特征交互部分,并且特征交互以因子向量的内积作为权重
处理高维稀疏数据
通过引入低秩的因子向量来处理稀疏数据,从而减少参数的数量,哪怕是成千上万维度的特征向量,用来计算特征交互的因子内积也是很小的
对比线性模型
线性模型只捕捉不同特征的一阶作用,而FM多了二阶特征相互作用
训练
和线性模型一样,采用梯度下降法来优化损失函数。
因子向量
因子向量是通过随机初始化得到的,通过梯度下降来优化
在推荐系统中的应用
FM模型可以预测用户对物品的评分或点击概率,通过学习用户特征和物品特征之间的相互作用来预测
因子向量的维度
通过交叉验证的方法来确定,在模型复杂度和泛化能力之间平衡
冷启动
与DIN,DIEN的不同
FM更加关注特征之间的交互作用,尤其是二阶交互,而DIN和DIEN更侧重于对用户兴趣的建模
例子
假设我们有一个用户行为数据集,其中每个用户可能与数千个商品发生过互动,但每个用户实际上只与少数几个商品发生了互动。这意味着用户-商品矩阵中的绝大多数元素都是0,这是一个典型的稀疏数据集。
在FM模型中,我们可以为每个用户和每个商品分配一个因子向量。当预测某个用户对某个商品的兴趣时,我们只需要考虑该用户和该商品对应的非零特征(即发生过互动的商品),并通过计算这两个因子向量的内积来估计它们之间的相互作用。这样,即使用户和商品的总数非常大,FM模型仍然可以高效地学习和预测。