w ^ i , j \hat w_{i,j} w^i,j表示第i个、第j个变量之间的交叉项。FM并不是直接用参数wij进行建模,而是通过分解,将其表示成两个向量的內积形式。其原因在于,对于稀疏数据,样本向量x中绝大部分元素均为0,进而导致建模特征i,j的变量wij也为0,通常情况下wij的估计,需要样本中存在xixj,即xi、xj均不为0;FM通过分解,由wiwj的內积来表示wij,所有和xi产生交叉的特征样本都可以用于估计wi,大大增加了模型的泛化性能。
因子分解机求解
因子分解机作为一个通用的预测器,可以用于:
分类问题: y ^ ( x ) \hat y(x) y^(x)的正负号当作分类结果。loss函数可以使用logit loss或hinge loss。
回归问题: y ^ ( x ) \hat y(x) y^(x)当作最终结果。loss可以使用均方根误差rmse。
排序问题:把 y ^ ( x ) \hat y(x) y^(x)当作x的得分,对x进行排序。使用pair-wise loss。