机器学习算法学习---推荐系统的常用算法(二)

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可以应用于很多预测任务,比如回归、分类、排序等等。

回归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

4、模型求解

随机梯度下降

详细介绍可以参照:

http://www.cnblogs.com/AndyJee/p/7879765.html 

程序实现可以参照:

https://www.jianshu.com/p/152ae633fb00 

https://blog.csdn.net/google19890102/article/details/45532745 

猜你喜欢

转载自www.cnblogs.com/zhenpengwang/p/10863570.html