一、矩阵算法概述
原本在使用各种APP的时候觉得推荐算法是一个神奇的东西,恰巧要做手厅用户的前人千面,所以利用协同过滤做了手厅的基于产品的推荐模型,发现出来的产品推荐很接近,更充满好奇心,所以有了接下来各种推荐算法的学习。在各种资料中,发现了基于矩阵分解的推荐系统,学习了它的原理之后,发现矩阵算法对于推荐的效果更好且更好运用。接下来介绍矩阵分解的原理。
矩阵分解(Matrix Factorization, MF),下面简称MF,矩阵算法就是,将用户和产品矩阵中的数据,分解成两个矩阵(用User矩阵和Item矩阵),两个矩阵相乘得到的结果就是预测评分。当我们要计算第i 个用户对第j 个item的预测评分时),我们就可以用User矩阵的第i行和Item矩阵的第j 列做内积,这个内积的值就是预测评分了。对于某个用户进行推荐时,我们把他的用户向量和所有item向量做内积,然后按内积从大到小排序,取出前K 个item,过滤掉历史item后推荐给用户。
那MF是如何从评分矩阵中分解出User矩阵和Item矩阵的呢?简单来说,MF把User矩阵和Item矩阵作为未知量,用它们表示出每个用户对每个item的预测评分,然后通过最小化预测评分跟已知实际评分的差异,学习出User矩阵和Item矩阵。
二、矩阵算法推导公式
矩阵分解是指一个矩阵分解成两个或者多个矩阵的乘积。对于评分矩阵记为R(m×n),分解成两个矩阵P(m×k)和Q(k×n),我们要使得矩阵P(m×k)和Q(k×n)的乘积能够还原原始的矩阵R(m×n)。