因子分解机FM
阅读完博文
https://tech.meituan.com/2016/03/03/deep-understanding-of-ffm-principles-and-practices.html(美团技术团队)
https://blog.csdn.net/ddydavie/article/details/82667890之后关于因子分解机的感悟
问题背景
人工方式的特征工程尝尝会面临一个问题就是特征组合。面对高维数据,训练模型常遇到的问题包括:特征组合无法识别,特征爆炸。因子分解机是解决特征关联的有效算法,并且还解决了数据稀疏性的问题。
模型构建
因子分解用二次项系数wij刻画特征组合(i,j)之间的关联关系。考虑到当且仅当特征值xi和xj在同时非零时,组合特征才有意义,训练集数据才能进一步训练参数。但是onehot编码后的特征向量很稀疏,特征值同时非零的条件比较难满足。所以借鉴矩阵分解的思路,把评分矩阵分解为用户矩阵和项目矩阵,即每个用户或者项目都可以用隐向量表示(这个隐向量的维度k怎么确定呢?)。把由特征组合的系数wij组成的矩阵W也进行分解。
文献跟踪
下面这篇论文是因子分解机在解决序回归问题的一个改进,增强了对FM特征对预测结果的可解释性。
Guo, M., Xu, Z., Zhang, Q., Liao, X., & Liu, J. (2019). Explainable Ordinal Factorization Model: Deciphering the Effects of Attributes by Piece-wise Linear Approximation. arXiv preprint arXiv:1911.05909.
基于多属性效用理论,该论文将FM模型方程的线性部分用分段线性的效用函数表示,特征组合部分不变。
remark:在训练参数前,要对训练集{(xi,yi)}进行预处理。