FM是一个不得不提的算法,将部分笔记内容整理到博客,内容文字不甚成系统,只作为记录点拨之用。
从特征组合说起:
对逻辑回归最朴素的特征组合就是二阶笛卡尔积,但其中也有问题所在:
- 两两组合导致维度灾难
- 组合后特征并不见得都有效,通常大量无效特征
- 组合后特征样本非常稀疏,如果样本中不存在对应组合,则无法学习参数,该组合无意义
Y = ω0 + Σωixi + ΣΣωijxixj
如公式,若没有足够样本能够学习到所有特征组合的权重,那么在预测这样组合的新样本时,只能放弃,因为没有合适的权重
针对这个问题,提出了因子分解机模型FM(Factorization Machine)。
FM模型:
1. 原理
FM在2010年被提出,因为逻辑回归在特征组合时由于样本稀疏无法学习到很多组合的权重问题,因子分解机的提出者就想,能否对上面公式的ωij解耦,让每一个特征学习一个隐因子向量出来。
类似于之前提的LFM,为每个用户和每个物品各自学习一个隐因子向量一样