FM Factorization Machine(因子分解机)
MF等矩阵分解的方法都是在操作和分解用户-物品矩阵,而FM矩阵将用户和物品都进行了one-hot编码作为了预测 评分 的特征,使得特征维度巨大且十分稀疏,那么FM就是在解决稀疏数据下的特征组合问题。
1、独热编码(One-Hot):又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。
One-Hot编码是分类变量作为二进制向量的表示。
将离散型特征进行one-hot编码的作用,是为了让距离计算更合理,但如果特征是离散的,并且不用one-hot编码就可以很合理的计算出距离,那么就没必要进行one-hot编码。
2、FM模型
一般的线性模型压根没有考虑特征间的关联。为了表述特征间的相关性,我们采用多项式模型。在多项式模型中,特征xi与xj的组合用xixj表示。
FM模型就是在线性模型的基础上增加了交叉项。
3、应用
FM可以应用于很多预测任务,比如回归、分类、排序等等。
4、模型求解
回归Regression:y^(x)直接作为预测值,损失函数可以采用least square error;
二值分类Binary Classification:y^(x)需转化为二值标签,如0,1。损失函数可以采用hinge loss或logit loss;
排序Rank:x可能需要转化为pair-wise的形式如(X^a,X^b),损失函数可以采用pairwise loss
随机梯度下降
详细介绍可以参照:
http://www.cnblogs.com/AndyJee/p/7879765.html
程序实现可以参照:
https://www.jianshu.com/p/152ae633fb00
https://blog.csdn.net/google19890102/article/details/45532745