在训练因子分解机时,我们可以不使用一个热用户功能吗?



现在我有n个用户和k总项目,对于每个用户,他都购买了一些项目,我想在现有用户/项目数据集上训练一个 FM,通过它我将能够向已经获得一些项目的新用户推荐新项目。

如果我将我的功能 X 排列为,

items        all items        y
0 ... 1 ... 0  1, 0, ..., 1, 0    1
items        all items        y
0 ... 0 ... 1  1, 0, ..., 1, 0    0

因此,在为新用户预测时,我不需要在训练数据集中找到与新用户最相似的用户,而是为旧用户推荐。

在大多数情况下,这些稀疏特征对于记忆很有用,尤其是一阶特征。当然,我们也可以使用字段嵌入层将这些 onehot 特征转换为密集特征,然后再应用其他结构,如 DNN、PNN 等。