从FM到FFM自动特征交叉的解决方案

文章目录

  • 逻辑回归
  • POLY2特征交叉的开始
  • FM隐向量特征交叉
  • FFM引入特征域
  • FM源码
  • 演化

逻辑回归

由于矩阵分解的缺陷:不方便加入用户、物品、上下文环境等相关的特征,使得矩阵分解丧失了利用很多有效信息的机会。当缺乏用户历史行为的时候,无法进行有效推荐。
相比于协同过滤仅能利用用户与物品的相互信息进行推荐,逻辑回归可以综合利用用户、物品、上下文等不同的特征。它是将推荐问题看成一个分类问题,通过预测正样本的概率对物品进行排序。
逻辑回归虽然简单、可解释性好,但是模型不具备特征组合(特征交叉)的能力,只是对单一特征做简单加权,表达能力较差,有时会造成信息损失,甚至还会得出错误的结论,所以我们要多维度的特征交叉。

从FM到FFM自动特征交叉的解决方案_第1张图片

POLY2特征交叉的开始

改造逻辑回归只对单一特征做简单加权表达能力差的问题,该模型对所有特征进行了两两交叉,并对所有的特征组合赋予权重,一定程度上解决了特征组合的问题。
在这里插入图片描述
POLY2的缺陷

  • 我们经常采用onehot编码处理类别性数据,会使特征向量比较稀疏,POLY2进行无选择的特征交叉,会使原本就稀疏的特征向量更加稀疏。导致很多交叉特征的权重缺乏有效的数据进行训练,无法收敛。
  • 权重参数的数量由n直接上升到 n ( n + 1 ) 2 \frac{n(n+1)}{2} 2n(n+1),极大第增加了训练复杂度

从FM到FFM自动特征交叉的解决方案_第2张图片

FM隐向量特征交叉

FM引入了隐向量,与矩阵分解中隐向量代表用户和物品的做法异曲同工。也是在模型中加入二阶特征交叉,为每个特征学习一个隐权重向量,特征交叉的时候,使用两个特征隐向量的内积作为交叉特征的权重。和POLY2的区别在于它是用两个隐向量的内积 ( w j 1 ⋅ w j 2 ) (w_{j1} \cdot w_{j2}) (wj1wj2)取代单一的权重系数 w h ( j 1 , j 2 ) w_{h(j_1,j_2)} wh(j1,j2)通过隐权重向量的引入,直接把POLY2模型 n ( n + 1 ) 2 \frac{n(n+1)}{2} 2n(n+1) 级别的权重参数数量减少到了nk级别,并且也可以解决数据稀疏问题,泛化能力大大提高。

从FM到FFM自动特征交叉的解决方案_第3张图片

FFM引入特征域

FFM在FM的基础上,加入了特征域的概念,使每个特征在与不同域的特征交叉时采用不同的隐向量,也就是说在特征交叉时,每个特征选择与对方域对应的隐向量做内积运算,得到交叉特征的权重,进一步加强了特征交叉的能力,同时训练开销也大了。

从FM到FFM自动特征交叉的解决方案_第4张图片

FM源码

https://blog.csdn.net/qq_42363032/article/details/112756428

演化

从FM到FFM自动特征交叉的解决方案_第5张图片

你可能感兴趣的:(深度学习,推荐系统)