7.2.1 分解机在稀疏场景下的参数估计

对于稀疏数据场景,一般没有足够的数据来直接估计变量之间的交互,但是分解机可以很好地解决这个问题。通过对交叉特征系数做分解,让不同的交叉项之间不再独立,因此一个交叉项的数据可以辅助来估计(训练)另一个交叉项(只要这两个交叉项有一个变量是相同的,比如xixj与xixk,它们的系数<vi,vj>和<vi,vk>共用一个相同的向量vi)。

分解机模型通过将二阶交叉特征系数做分解,让二阶交叉项的系数不再独立,因此系数数量是远远小于直接在线性模型中整合二阶交叉特征的。分解机的系数个数为1+n+kn,而整合两两二阶交叉的线性模型的系数个数为1+n+n2。分解机的系数个数是n的线性函数,而整合交叉项的线性模型系数个数是n的指数函数,当n非常大时,训练分解机模型在存储空间及迭代速度上是非常有优势的。