6.7.2 缺点

前面讲了这么多矩阵分解算法的优点,除了这些优点外,矩阵分解在下面这两点上是有缺陷的,需要采用其他算法和策略来弥补或者避免。

1.存在冷启动问题

当某个用户的操作行为很少时,我们基本无法利用矩阵分解获得该用户比较精确的特征向量表示,因此无法为该用户生成推荐结果。这时可以借助内容推荐算法来为该用户生成推荐。

对于新入库的标的物也一样,可以采用人工编排的方式将标的物做适当的曝光,以获得更多用户对标的物的操作行为,从而方便算法将该标的物推荐出去。

本章参考文献[9]中提供了一种解决矩阵分解冷启动问题的有效算法—lightFM,它通过将metadata信息整合到矩阵分解中,有效解决了冷启动问题,对于操作行为不多的用户以及新上线不久还未收集到足够多用户行为的标的物都有比较好的推荐效果。该论文的lightFM算法在Github上有相应的Python代码实现(参见https://github.com/lyst/lightfm),可以作为很好的学习材料。

2.可解释性不强

矩阵分解算法通过矩阵分解获得用户和标的物的(嵌入)特征表示,这些特征是隐式的,无法用现实中的显式特征进行解释,也就是说利用矩阵分解算法做出的推荐,无法对推荐结果进行解释,只能通过离线或者在线评估来评价算法的效果。不像user-based和item-based协同过滤算法基于非常朴素的“物以类聚、人以群分”的思想,可以非常容易地进行解释。但这也不是绝对的,其中本章参考文献[5]中的实现方法就提供了一个为矩阵分解做推荐解释的非常有建设性的思路。