FM后半部分公式化简,时间复杂度从
O(kn2)降到O(kn)
∑i=1n−1∑j=i+1n(VTiVj)xixj
=12(∑i=1n∑j=1n(VTiVj)xixj−∑i=1n(VTiVi)xixi)
=12(∑i=1n∑j=1n∑l=1kvilvjlxixj−∑i=1n∑l=1kv2ilx2i)
=12∑l=1k(∑i=1n(vilxi)∑j=1n(vjlxj)−∑i=1nv2ilx2i)
=12∑l=1k⎛⎝(∑i=1n(vilxi))2−∑i=1nv2ilx2i⎞⎠
第一行:对称矩阵,减去对角线元素,除以2。得到最终值。
第二行:把大V展开变成小v
点击率预估算法:FM与FFM
深入FFM原理与实践
论文:Factorization Machines