@ [FM模型原理推导、实现及面试常问问题]
一、模型原理
https://zhuanlan.zhihu.com/p/394917869
1.线性回归
特征 X ∈ R m × n X\in R^{m \times n} X∈Rm×n,其中m为样本数,n为特征维度; x i , i = 1 , . . . , n x_i, i=1,...,n xi,i=1,...,n 代表第i维特征;标签 Y ∈ R Y \in R Y∈R.
线性回归公式:
y = w 0 + ∑ i = 1 n w i x i y=w_0 + \sum_{i=1}^{n}w_ix_i y=w0+i=1∑nwixi
其中, w i w_i wi为待学习的模型参数,为特征 x i x_i xi的权重,算上偏置 w 0 w_0 w0,有n+1个参数(假设特征之间是独立不相关)。
缺点:需要人工组合特征
2.二阶多项式回归:
因为在实际中,结果不止受到多个变量组合的影响,比如男性 和 喜欢运动 两个变量发生的条件下,购买男士运动服的情况比较大,因此需要将特征组合起来进行拟合:
y = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n ∑ j = i + 1 n w i j x i x j y=w_0 + \sum_{i=1}^{n}w_ix_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n}w_{ij}x_ix_j y=w0+i=1∑nwixi+i=1∑nj=i+1∑nwijxixj
参数除了 w i j w_{ij} wij基本和线性回归相同, w i j w_{ij} wij为特征 x i x_i xi和 x j x_j xj同时出现的权重。(当 x i x_i xi或者 x j x_j xj有一个为0, x i x j = 0 x_ix_j=0 xixj=0, 则无法学习 w i j w_{ij} wij,即使预测时出现了 x i x j = 1 x_ix_j=1 xixj=1的情况,也无法考虑该特征组合)
优点:考虑了二维组合特征
缺点:模型规模指数倍增长,并且增大了特征稀疏的情况
3.FM模型
3.1 公式:
对于每个特征 x i x_i xi的给一个k维隐向量 v i ∈ R k v_i \in R^k vi∈Rk,且令
w i j = v i ⋅ v j w_{ij}=v_i \centerdot v_j wij=vi⋅vj
则FM的模型:
y = w 0 + ∑ i = 1 n w i x i + ∑ i = 1 n ∑ j = i + 1 n v i ⋅ v j x i x j y=w_0 + \sum_{i=1}^{n}w_ix_i + \sum_{i=1}^{n} \sum_{j=i+1}^{n} v_i \centerdot v_jx_ix_j y=w0+i=1∑n<