问题背景
在矩阵完备(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 =(0,0,1),倘若我们现在有个点 x x x =(1,0,0),从 x x x 中我们可以知道,我们可以知道 x = 1 ∗ e 1 x = 1*e_{1} x=1∗e1,该点代表的信息是长度为1。接下来,我们对比点 y = ( 1 , 2 , 3 ) y = (1,2,3) y=(1,2,3),我们知道 y = 1 ∗ e 1 + 2 ∗ e 2 + 3 ∗ e 3 y = 1*e_{1} + 2*e_{2} + 3*e_{3} y=1∗e1+2∗e2+3∗e3,该点代表的信息是长为1,宽为2,高为3。很明显, y y y 比 x x x 蕴含的信息量更大,并且我们也可以观察到,某个点由所在空间的基组合而成,其中的线性组合系数也能侧面反映出该点所蕴含的信息量的大小。
- 因此,接着步骤二来理解,对于原始矩阵中的某一行,那么它的信息量就可以由右奇异向量的线性组合系数来反映,线性组合系数越大,该行所蕴含的信息量就越大,那么对应的杠杆值也就应该越大。
- 按照我们这个理解,公式中的 ∣ ∣ U T e i ∣ ∣ 2 2 \left|\left| U^{T}e_{i} \right|\right|_{2}^{2} ∣∣∣∣UTei∣∣∣∣22,就是对第 i i i 行的线性组合系数大小的衡量(事实也的确是如此),为什么是这样呢?
将这种乘法思想带入到SVD分解中,(如果忽略奇异值矩阵的影响的话)我们就可以认为 U T U^{T} UT 中的第一行就是原始矩阵的第一行(该行由 V T V^{T} VT中右奇异向量线性组合而成)的线性组合系数。而 e i e_{i} ei 是指第 i i i 个位置为1,其他位置为0的单位向量,因此 U T e i U^{T}e_{i} UTei 就是得到了 U U U 的第 i i i 行,也就是得到了原始矩阵第 i i i 行的线性组合系数,因此 ∣ ∣ U T e i ∣ ∣ 2 2 \left|\left| U^{T}e_{i} \right|\right|_{2}^{2} ∣∣∣∣UTei∣∣∣∣22就是对第 i i i 行的线性组合系数大小的衡量,也就代表了该行所蕴含的信息量的大小。
希望通过以上介绍,大家能对杠杆值有了一个直观的理解。