FM模型--对核心思想的理解

  在《深入FFM原理与实践》中提到:“所有二次项参数 w i j w_{ij} 可以组成一个对称阵 W W ,那么这个矩阵就可以分解为 W = V T V W=V^TV V V 的第 j j 列便是第 j j 维特征的隐向量。换句话说,每个参数 w i j = v i , v j w_{ij}=\left \langle v_i,v_j \right \rangle ,这就是FM的核心思想。”
  在POLY2模型中等式为: y ^ ( x ) = w 0 + i = 1 n w i x i + i = 1 n j = i + 1 n w i , j x i x j \hat{y}(x)=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n{\sum_{j=i+1}^n{w_{i,j}x_ix_j}}   在梯度下降时,偏导求解结果如下:
θ y ^ ( x ) = { 1 i f    θ    i s    w 0 x i i f    θ    i s    w i x i y i i f    θ    i s    w i j \frac{\partial }{\partial \theta}\hat{y}(x)=\begin{cases} 1 &{if\;\theta\;is\;w_0} \\ x_i &{if\;\theta\;is\;w_i} \\ x_iy_i &{if\;\theta\;is\;w_{ij}}\\ \end{cases}   而在FM模型中等式为: y ^ ( x ) = w 0 + i = 1 n w i x i + i = 1 n j = i + 1 n v i , v j x i x j \hat{y}(x)=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n{\sum_{j=i+1}^n{{\left \langle v_i,v_j \right \rangle}x_ix_j}}   偏导结果为:
θ y ^ ( x ) = { 1 i f    θ    i s    w 0 x i i f    θ    i s    w i x i j = 1 n v j , f x j v i , f x i 2 i f    θ    i s    v i , f \frac{\partial }{\partial \theta}\hat{y}(x)=\begin{cases} 1 &{if\;\theta\;is\;w_0} \\ x_i &{if\;\theta\;is\;w_i} \\ x_i\sum_{j=1}^nv_{j,f}x_j-v_{i,f}x_i^2 &{if\;\theta\;is\;v_{i,f}}\\ \end{cases}   于是便会发现在POLY2模型中,如果训练数据过于稀疏,导致 x i y i = 0 x_iy_i=0 的情况大量出现,那么在求解的时候 w i j w_{ij} 也会大量出现0,也就是虽然引进两两组合的特征,但是训练效果不好;但是在FM模型中则不会出现这个问题,FM能够抓住变量间的相互作用,并且时间复杂度为 O ( k n ) O(kn)

发布了27 篇原创文章 · 获赞 10 · 访问量 5004

猜你喜欢

转载自blog.csdn.net/l1l1l1l/article/details/103529195