MF SLIM FISM的关系

把SLIM与MF相结合,将物品的相似度矩阵 FISM的几点理解 - 图1 分解成 FISM的几点理解 - 图2 两个低维矩阵,用户对某物品的评分,等于他过去评分过的物品在 FISM的几点理解 - 图3 中对应的向量和 FISM的几点理解 - 图4 中该物品向量内积的和,这就是FISM算法。相比SLIM的稀疏处理,变为分解降维。

下图展示了SLIM、MF、FISM之间的关系:
WX20200221-155711@2x.png

为什么提出FISM

由于模型本身的限制,SLIM只能描述有共现物品之间的关系。当item FISM的几点理解 - 图6 和item FISM的几点理解 - 图7 没有同时被任一用户购买时,物品之间的相似性为0,SLIM无法刻画item之间的传递相似性关系。作者提出FISM通过学习物品之间的相似矩阵来改进推荐结果,将两个未被同时购买的item通过第三个物品关联起来
通过上面我们知道SLIM不能计算未被同一用户同时评分后的item与item之间的相似度。但比如像matrix factorization方法,将数据映射到低维空间,在一定程度上就解决了这个问题。但矩阵分解方法的效果一致都逊色于SLIM。FISM在这方面就受到NSVD和SVD++的启发。学习低维的隐向量空间,来帮助捕获item之间的关联相似度。
FISM与NSVD的差异在于:

  • FISM是top-N推荐而NSVD解决的是rating prediction问题。
  • FISM采用基于结构方程建模的回归方法。
  • 评估某个item时,不使用用户对于该item的评分信息。

FISM评分估计

在FISM中,user FISM的几点理解 - 图8 对未评分的item FISM的几点理解 - 图9 的评分由对应矩阵分解得到的估计代替:
FISM的几点理解 - 图10
这里 FISM的几点理解 - 图11 是用来控制估计值与真实值的一致程度的。 举个极端例子:

  1. FISM的几点理解 - 图12 时,预测分数是相似物品评分的平均值。当所有物品都相似于预测物品时,就会得到一个很高的分数。
  2. FISM的几点理解 - 图13 时,预测分数是相似物品评分的总和。当只有少量物品与预测物品相似时,仍会得到一个很高的分数。
  3. 大多数情况下,最优的选择往往都在两者之间。FISM的几点理解 - 图14 就是用来平衡用户打过分的items中大概有多少会是相似的。