问题背景
在矩阵完备(Matrix Completion)问题中,除了对原始矩阵有低秩性要求外,还根据采样方式的不同分为两种解决方案:
- 一种是随机均匀采样,但是需要约束矩阵为非相干矩阵。
- 第二种是自适应采样,这类方法主要思想是采样那些 “高质量” 的元素。
矩阵的相干性?
通俗地讲,矩阵相干性是指矩阵 “信息” 的分布密度。
对比这两个矩阵,我们可以很明显的看出左矩阵信息分布极度不均匀,该矩阵的信息集中分布在右上角的位置,如果采用随机采样,我们极有可能得到的是一些 “0” 元素,想要从这些 “0” 元素中恢复原始矩阵是不可能的。
反之,对于右面这个信息分布均匀的矩阵来说,采用随机采样的方式,我们会得到一些 “1” 元素,自然,我们也会猜测剩下的位置元素也都是 “1” 元素。
因此,总结一下,相干矩阵就是那些在相对少量的元素中具有大部分质量的矩阵。
杠杆值(leverage score)
其实,接着上面的思路来理解的话,杠杆值就是用来衡量原始矩阵的行(列)所蕴含的信息的大小,那些杠杆值大的行(列),所蕴含的信息就越多,自然在自适应采样过程中越应该被采样。
下面是一篇经典论文中对于杠杆值的定义
这两个等式分别代表矩阵 M 的某一行或者某一列的杠杆值,我们先以行杠杆值的计算公式为例:
由于该定义包含了标准化的步骤,也就是等式右边的系数,这对于我们理解杠杆值并不重要,因此我们主要讨论范数里面的式子。
理解 leverage score:
- 首先来看矩阵 M 的 SVD 分解,我们都知道奇异值分解之后的 U Σ V T U\Sigma V^{T} UΣVT 分别代表了左奇异向量、奇异值、右奇异向量矩阵。其中左右奇异向量分别张成了原始矩阵的列空间和行空间。如果某一个左(右)奇异向量对应的奇异值不为0,那么它就是矩阵列(行)空间中的一个基。
- 对于原始矩阵的某一行元素,存在以下事实:该行一定可以由 V T V^{T} VT 中那些对应的奇异值不为 0 的行向量线性组合而成(因为这些行向量是矩阵行空间中的基)。
- 为了更好地理解下面的内容,我们先来理解一下元素所蕴含的信息量与所在空间的基的联系:
假设在一个三维坐标系中,点的位置坐标可以表示为(长,宽,高),并且该坐标系的基分别是 e 1 e_{1} e1=(1,0,0), e 2 e_{2} e2 =(0,1,0), e 3 e_{3} e3