准备知识:
1、矩阵的秩
线性代数手工求秩:通过矩阵初等变换把A化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那A的秩rank(A)就等于r。
在线性代数中,一个矩阵A的列秩是A的线性独立的纵列的极大数;相应的,一个矩阵A的列秩是A的线性独立的纵列的极大数目。
从物理意义上讲,矩阵的秩度量的就是矩阵的行列之间的相关性。
如果矩阵的各行或列是线性无关的,矩阵就是满秩。对于一个m*n的矩阵,秩的最大值为min(m,n)。
2、进行矩阵分解的假设
因为秩可以度量相关性,而矩阵的相关性实际上就表示了矩阵的结构信息。
低秩:也就是说这个矩阵各行和各列之间相关性很强,那么就表示这个矩阵实际可以投影到更低维的线性子空间,也就是用几个向量就可以完全表达了,它就是低秩的。所以我们总结的一点就是:如果矩阵表达的是结构性信息,例如图像、用户-商品推荐表等等,那么这个矩阵各行之间存在这一定的相关性,那这个矩阵一般就是低秩的。
低秩矩阵每行或每列都可以用其他的行或列线性表出,可见它包含大量的冗余信息。利用这种冗余信息,可以对缺失数据进行恢复,也可以对数据进行特征提取。
意思是:矩阵分解是手段,矩阵补全是目标。
矩阵补全(Matrix Completion)
1、矩阵补全的两大应用:图像修复和协同过滤
图像修复:简单来说就是通过矩阵填补模型将“打码”的图片修复成原来的图片;
协同过滤:是推荐系统的一种模型,补全用户-物品为空值的地方。