目录
针对问题:逻辑回归存在很大的一个问题就是只对单一特征做简单加权,不具备特征交叉生成组合特征的能力,因此表达能力受到了限制。
特征交叉举例:
例子1:
如果按照单凭每个人的个人实力去评判球队的实力,第一支球队完胜第二支球队;但我们忽略了这些球员的组合很能会导致整体实体的下降。所以对单一特征做简单加权可能会导致准确率的下滑。
例子2:
代表逻辑回归,简单的线性相加;这部分代表特征交叉,将每个特征之间进行两两相乘并附加上权值w
物理量表示:上三角
交叉熵损失:
求梯度:
梯度更新:
优点:既保留了逻辑回归的优点:充分利用用户特征、物品特征、上 下文特征;一定程度 上解决了特征组合的问题
缺点:1、one hot编码处理类别型数据时,会让特征向量变得极度稀疏[无选择的]特征交叉,'暴力’ 组合特征,会让原本就非常稀疏的特征向量更加稀疏;导致大部分交叉特征的权重缺乏有效的数据进行训练,无法收敛
2、训练复杂度由O(n)直接上升到O(n2)
传统推荐模型演化关系图:
提出问题:FM模型是延续了POLY2模型的一个特征交叉的能力,由于POLY2在应对稀疏性矩阵和计算复杂度问题上是有缺陷的。当数据十分稀疏时,很多的交叉特征没有办法进行梯度下降,等到收敛,其计算复杂度为N^2,在数据量庞大时将会出现很大的问题。FM的提出就是为了解决这个问题的。
在面对稀疏特征向量时, POLY2特征交叉项无法收敛,POLY2计算复杂度过高。
当k足够大时,对于任意对称正定的实矩阵W∈,均存在实矩阵V∈,使得W=
实例:
很多个特征进行热编码后,给每个特征分配一个隐向量V,当我们进行特征交叉时,不仅要对两个特征的值进行相乘,同时需要将他们对应的隐向量V进行相乘。 时间复杂度:O(kn)
交叉熵损失:
参数:、、 =
公式变形:
推导过程:
求梯度:、
参数更新:
(1)极大降低了训练开销O(n2)一> O(kn)
(2)隐向量的引入,使得FM能更好解决数据稀疏性的问题田
(3)FM模型是利用两个特征的Embedding做内积得到二阶特征交叉的权重,那么我们可以将训练好的FM特征取出离线存好,之后用来做其他扩展