FM(Factorization Machines,因子分解机),它是一种通用的预测方法,在即使数据非常稀疏的情况下,依然能估计出可靠的参数进行预测。与传统的简单线性模型不同的是,因子分解机考虑了特征间的交叉,对所有嵌套变量交互进行建模(类似于SVM中的核函数),因此在推荐系统和计算广告领域关注的点击率CTR(click-through rate)和转化率CVR(conversion rate)两项指标上有着良好的表现。此外,FM的模型还具有可以用线性时间来计算,以及能够与许多先进的协同过滤方法(如Bias MF、svd++等)相融合等优点。
线性模型
y=w0+∑i=1nwixiy = w_0 + \sum_{i=1}^nw_ix_iy=w0+i=1∑nwixi
线性回归模型假设:
1.特征之间是相互独立不相关的
2.特征之间的作用是可以相互叠加的
但现实世界中的特征难以满足这独立不相关这一点要求,比如在模型的预测中,我们需要将有的特征进行one-hot编码,比如男(0,1),女(1,0),如果特征不相关那么可能出现(1,1)这种情况,但性别没有第三种啊!
线性模型的表现能力偏弱,无法表示非线性的模型,这使得模型只能使用在一些极为简单的场合,极大的限制了模型的使用范围。为了改进这一点,我们可以引入非线性的交叉项,这一点可以看做逻辑回归中认为的构造特征的延伸。如果我们将模型改为二阶的多项式模型
二阶多项式模型
y=w0+∑i=1nwixi+∑i=1n∑j=1nwi,jxixjy = w_0 + \sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=1}^nw_{i,j}x_ix_jy=w0+i=1∑nwixi+i=1∑nj=1∑nwi,jxixj (1)
同时xixjx_ix_jxixj和xjxix_jx_ixjxi的系数是一样的,乘方项不考虑,可以简化为
y=w0+∑i=1nwixi+∑i=1n∑j=i+1n2wi,jxixjy = w_0 + \sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=i+1}^n2w_{i,j}x_ix_jy=w0+i=1∑nwixi+i=1∑nj=i+1∑n2wi,jxixj (2)
但此时的高阶项有n(n−1)2\frac{n(n-1)}{2}2n(n−1)项,但是如果xixjx_ix_jxixj值为0,那么模型无法学习到其权重。
FM模型
公式推导
考虑到任何一个实对称矩阵可以分解为两个向量内积的形式,同时xixjx_ix_jxixj和xjxix_jx_ixjxi的系数是一样的,wiw_iw

FM(因子分解机)是一种适用于特征稀疏情况的预测方法,尤其在推荐系统和广告领域表现出色。与线性模型不同,FM考虑特征间的交叉,通过隐向量表示来建模特征交互。模型可以通过随机梯度下降进行优化,时间复杂度较低。应用包括二分类、回归和排名任务。
最低0.47元/天 解锁文章
1521

被折叠的 条评论
为什么被折叠?



