1 传统算法-FM

FM(factor Machine,因子分解机)算法是一种基于矩阵分解的机器学习算法,是为了解决大规模稀疏矩阵中特征组合问题。

1. 核心思想

特征组合,通过对两两特征组合,引入交叉项特征,提高模型得分; 高维灾难,通过引入隐向量(对参数矩阵进行矩阵分解),完成对特征的参数估计。

  • 传统矩阵分解(MF), CF 等方法只能用到用户 id 特征,使用的特征少且稀疏; 而 LR 方法可以使用多特征,但是特征之间独立,忽略特征之间的关联信息。
  • POLY2 使用一个权重矩阵进行二维特征组合,高维稀疏矩阵且满足 xi 和 xj 组合的样本量少,计算量大,权重更新慢,对于缺失的特征组合的权重更新不准确。

FM 解决高维稀疏数据下的特征组合问题,优点:

  • 可以在非常稀疏的数据中进行合理的参数估计;
  • FM 模型的时间复杂度是线性的;
  • FM 是一个通用模型,它可以用于任何特征为实值的情况;同时解决了特征组合问题。

2. FM model

FM 给每个特征分量 xi,引入一个辅助向量 vi=(v1,v2,.......vk),然后利用 vi*vj 对交叉项的系数 wij 进行估计。

FM二阶公式


为了降低计算复杂度,通过公式变换,复杂度从 O(kn*n) --> O(kn), 其中 k 是属性数量,n 是样本数。

3. 训练

SGD

损失函数可以是 MSE 或者 Ligit loss。

损失函数

create By cicoa            此页面修订于: 2022-06-28 03:15:43

results matching ""

    No results matching ""