标题 * 表示未完成
- 本文模型及方法
-
对于一般的LR模型来说,模型形式如下:
此时为 order-1 (一阶特征),那么 order-2 如何表示呢?如下:
该 order-2 模型与 order-1 的标准LR模型相比,对每个二阶交叉特征都配备了权重 w ^ \hat{w} w^,难以学习,泛化能力比较弱,特别是在大规模稀疏特征场景下,问题尤为突出。 -
FM模型
FM模型为了解决此类问题,提出以下的模型表示。(此处以二阶为例)向量 v i v_i vi, v j v_j vj分别是特征 x i x_i xi, x j x_j xj对应的低维稠密隐向量
可以发现FM模型中包含传统的LR模型,之后将超参数 w ^ \hat{w} w^改写成了 v i v_i vi与 v j v_j vj的点积。即如同SVM的核函数分解那样,令 W = V ⋅ V T W = V \cdot{V^T} W=V⋅VT -
上式在论文中继续被优化
下图讲解来自知乎:正在打开传送门!
-
FM与MF相比
MF(矩阵分解)的思想可以被看做一个大的矩阵 R 等于 两个小矩阵 U 、 I U、I U、I的乘积。
而矩阵分解中SVD分解方式是最具有代表性的。其方程如下。
R = A B C T R = ABC^T R=ABCT
R为 m × n m \times n m×n ;A为 m × m m \times m m×m ;B为 m × n m \times n m×n ;C为 n × n n \times n n×n ;这里将 A B AB AB看做 U U U , C T C^T CT看做 I I I,即:
R = U T S = < U , S > R = U^TS = <U,S> R=UTS=<U,S>
是不是很眼熟,这就是上面所说的FM中对二阶特征建模的部分,所以可以说MF是FM的特例。文章中指出将User与Movie矩阵看做一个矩阵,如下。
此时 x ( i ) x^{(i)} x(i)为一个特征,按照FM方程可以得到:
x i x_i xi为1时可以计算,其它为0时直接忽略。 w u w_u wu表示在位置 u u u上 x u x_u xu不为0.
这样就变成了带有偏置信息的SVD了,带有偏置信息SVD基础上加上用户历史评过分的电影ID,就是SVD++;带有偏置信息SVD基础上加上时间信息就是time-SVD。 -
N维FM方程
- 实验结果
-
FM优点:
从理论上解决了高维特征组合提取的问题,即使在高稀疏矩阵下也可以做到。
经过方程优化后,参数与预测时间及模型学习时间都是线性的。 -
END