矩阵分解在推荐系统中的地位非常崇高,恐怕本专栏介绍的其他算法模型都不能轻易地撼动它。
它既有协同过滤的血统,又有机器学习的基因,可以说是非常优秀了;但即便如此,传统的矩阵分解无论是在处理显式反馈,还是处理隐式反馈都让人颇有微词,这一点是为什么呢?
矩阵分解的不足
前面我讲过的两种矩阵分解,本质上都是在预测用户对一个物品的偏好程度,哪怕不是预测评分, 只是预测隐式反馈,也难逃这个事实,因为算法展现出来的目标函数就出卖了这一切。
得到这样的矩阵分解结果后,常常在实际使用时,又是用这个预测结果来排序。所以,从业者们口口声声宣称想要模型的预测误差最小化,结果绕了一大圈最后还是只想要一个好点的排序,让人不禁感叹:人心总是难测。
这种针对单个用户对单个物品的偏好程度进行预测,得到结果后再排序的问题,在排序学习中的行话叫做 point-wise,其中 point 意思就是:只单独考虑每个物品,每个物品像是空间中孤立的点一样。
与之相对的,还有直接预测物品两两之间相对顺序的问题,就叫做 pair-wise,pair,顾名思义就是成对成双,也许恐怕这类模型对单身的人士不是很友好。
前面讲的