谁能解释场感知分解机(FFM)与标准分解机(FM)的比较?
标准: http ://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf
“领域意识”: http ://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf
谁能解释场感知分解机(FFM)与标准分解机(FM)的比较?
标准: http ://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf
“领域意识”: http ://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf
假设(在单热编码之前)您有一组预测变量/字段 (比如电影类型、用户性别和用户种族)。进一步假设,每个预测变量 可以承担其中之一 价值观。在 one-hot 编码之后,您将拥有一组新的二进制特征 大小的 .
在具有所有交互作用的模型中,您必须估计交互作用系数矩阵 , 其中有 独特的条款。
分解机将结构放在矩阵上 ,并假设 , 在哪里 有维度 , 和 用户指定的一些数字。我们估计 代替 .
场感知分解机将结构置于 也是。它分区 基于块 (原始特征)。如果 表示 块 , 我们假设 来自 块 , 在哪里 有维度 . 与 FM 一样,我们估计 代替 .
FM分解 拥有 参数。“场感知” FM 具有参数。具有所有交互作用的模型具有 参数。
看来您要进行高级描述。如果您参考原始帖子幻灯片中链接的幻灯片,则可以比较 FM(幻灯片 11)与 FFM(幻灯片 12)。
举个简单的例子,如果您正在了解用户和电影,FM 可能具有以下因素:
w_{user_1}*w_{movie_1}*... + w{user_1}*w_{genre_1}*...
FFM 将具有:
w_{user_1, movies}*w_{movie_1, users}*... + w{user_1, genres}*w_{genre_1, users}*...
关键区别在于,在 FMw_{user_1}
中,两个术语的系数相同——用户只有一个概念。在 FFM 中,您可以为每个上下文学习一个单独w_{user_1}
的内容,例如它是否与电影或流派交互。请注意,它不是针对每个特定的电影或流派单独学习的,而是针对电影和流派的一般学习。也就是说,它为每种类型的交互分别学习用户的上下文。
另请注意,w_{movie_1}
因为w_{movie_1, users}
该术语正在与w_{user_1}
用户交互。
标准分解机器也有字段。这里的“新奇”似乎是 GBDT 特性的使用和散列技巧的应用。似乎效果不是很好:在最后一张幻灯片上查看性能的分钟范围。