通过低秩表示的鲁棒子空间结构恢复和子空间分割
使用参考论文中详细介绍的 LRR 算法实现了运动分割和面部分割。
摘要——本学期论文的主要焦点是子空间聚类问题。考虑多个子空间的并集,然后假设我们从中近似抽取一组数据样本。然后我们希望将这些数据样本聚类到各自的子空间中,并删除异常值(如果有)。在本学期论文中,我们讨论了解决这个问题的低秩表示方法 [1]。在这种方法中,给定一个包含碱基的字典矩阵,我们希望找到数据样本的最低秩表示作为这些给定碱基的线性组合。我们在三个假设下制定凸优化问题来解决这个问题:当我们有干净的数据时,LRR可以准确地恢复数据样本的子空间结构;对于存在异常值的数据,LRR可以检测出异常值,并在一定条件下准确恢复原始数据的行空间;对于有噪声损坏的数据,LRR仍然可以大致恢复原始数据的行空间。
I. 简介
在信号处理和模式分析中,数据通常有一种结构,使我们能够智能地表示和处理它。在所有选择中,线性子空间是现实生活应用中这种表示的最常见选择,因为它的计算效率较低且表示更容易。为此,考虑从多个低秩子空间近似抽取数据比在主成分分析 (PCA) 方法中仅考虑单个子空间更合理。考虑从多个子空间提取的数据的方法更为通用,并导致子空间分割(也称为聚类)的问题。子空间分割的问题是将数据分割成不同的簇,其中每个簇与不同的子空间相关联。我们要解决的主要问题是处理数据中的噪声、损坏和异常值等错误。因此,我们考虑子空间聚类问题,旨在处理上述数据中的不规则性。
Problem 1.1 (Subspace Clustering) 问题 1.1(子空间聚类):假设我们的数据大约是从线性子空间的并集提取的,我们希望将所有数据样本分割到各自的原始子空间中,并且我们希望处理数据中可能存在的任何错误。
在这里,我们要处理的误差基本上是数据偏离底层真实子空间的量。它可以是任何东西,包括但不限于噪声、异常值、损坏和丢失的条目。在本学期论文中,我们主要考虑样本特定的损坏,同时关注噪声数据和数据中可能存在的随机损坏。我们处理离群值(属于遥远子空间的数据样本)和严重损坏的样本(实际上属于同一子空间),类似地,它们实际上没有太大区别。
我们用来解决这个问题的技术是最低秩表示(LRR)。它的工作原理如下:从表示为字典基的线性组合的数据的所有可能的线性表示中,LRR 旨在找到具有最低秩并共同表示所有数据的表示。 LRR旨在解决计算复杂度为多项式时间的核范数正则凸优化问题。
对于选定的字典矩阵,我们表明 LRR 解决了子空间聚类问题,如下所示:对于干净的数据,我们表明 LRR 精确地恢复了数据的行空间;对于存在异常值的数据,LRR可以检测异常值,并在一定条件下恢复数据的精确行空间;对于被噪声任意破坏的数据,LRR可以在一定的理论保证下近似恢复行空间。
“II. PROBLEM STATEMENT 二.问题陈述
更准确地说,我们在本学期论文中查看[1]中的以下问题:
“Problem 2.1 (Subspace Clustering): 问题 2.1(子空间聚类):考虑 k 个未知维度子空间的并集 Xu = {Xi}k i=1 并且 k 也是未知的。令 S0 具有从 Xu 中抽取的 n 个 d 维样本,并令其瘦 SVD 为 U0Σ0V0。让观测值生成为
其中 E0 是噪声。现在,我们想要恢复 V0V0T,称为形状交互矩阵 (SIM) [2] 或恢复 S0 的行空间。 SIM是一个正交算子,它将S0的列投影到V0的列跨越的子空间,并且它还保留S0的原始子空间结构。行空间的恢复保证了高分割精度,这将在后面讨论。自然也保证了纠错。因此,子空间聚类问题可以简化为从 V0V0T 得到的行空间的恢复。
我们将在以下三个假设下讨论恢复行空间的任务:
1)干净的数据,E0 = 0。
2)所有数据中只有一小部分样本高度损坏,也就是说E0具有稀疏列。
3)所有样本中的一小部分被高度损坏,其余样本具有较小的高斯噪声。 E0 处处都有稀疏的列和小高斯噪声。
“III. MATRIX RECOVERY BY LOW-RANK REPRESENTATION” 三.通过低阶表示进行矩阵恢复
“A. Low-Rank Representation A. 低秩表示
为了从观察中恢复低秩 S0,即从 S = S0 + E0,我们考虑以下正则化秩最小化问题:
其中 λ > 0 和 ||.||l 可以是用于对不同噪声进行正则化建模的任何范数。 (2)的解--低秩D*恢复数据S0。
该问题的更一般形式是考虑线性跨越数据空间 Xu 的字典矩阵 A。那么问题就变成了:
(3) 的解,C* 是 S w.r.t. 字典A的最低秩表示。原始数据恢复为AC*或S-E*。此外,rank(AC*) ≤rank(C*),因此 AC* 也是 S0 的低秩恢复。当 A = I 时,(3) 与 (2) 相同。
“B. Low-Rank Representation Analysis” 低阶表示分析
首先,我们考虑干净数据问题:
其解不是唯一的,我们考虑核范数 l*来得到凸优化问题,如下所示:
解(5)也解(4)。现在我们分析 (5) 的一些性质,这些性质为 LRR 奠定了基础。
1) 极小化器的唯一性:由于核范数的非严格凸性,(5) 的解可能有很多。但通过使用以下定理,(5) 的最小化器在封闭形式中唯一可用
定理 3.1 假设 A ≠ 0 且 S ∈ span(A) 即 S = AC 有可行解,则可行解
唯一地最小化问题,A† = AT(AAT)−1 是 A 的伪逆。
由上述定理可得出下面的推论,它表明(5)的解也是(4)的解。
“Corollary 3.1: 推论 3.1:令 S = AC 有可行解且 A ≠ 0。令 C* 最小化 (5),则意味着有rank(C*)=rank(S),因此 C* 也是 ( 4)的一个秩最小化解.
2)最小化器的块对角属性:如果我们适当地选择字典矩阵,则可以使用最低秩表示来实现真正的分割。假设 (i) k 个子空间 {X1,…, Xk},每个 Xi 的维度/秩为 ri > 0,(ii) 字典分布为 A = [A1, …,Ak] 和 (iii) 数据分布为 S = [S1, …,Sk]。现在,考虑以下定理。
定理 3.2:假设 Si 由来自子空间 Xi 的 ni 个样本组成,并让 Ai 由来自 Xi 的 mi 个样本组成,这样这些样本就足够使得rank(Ai) = ri,即 Ai 由span Xi 的基组成。考虑到子空间是独立的,(5) 的最小化器是块对角线,如下所示:
其中 C* i 是大小为 mi × ni 的系数矩阵,rank(C * i ) =rank(Si), ∀i。
“C. Low-Rank Matrix Recovery by Convex Optimization” 通过凸优化进行低秩矩阵恢复
考虑(3),现在通过使用推论3.1,我们可以用核范数代替秩函数。此外,我们使用定义为 (‖M ‖2,1 = Σ i ‖[M ]:,i‖2) 的 l2,1 范数将 E 表征为样本特定损坏和异常值的误差项。然后使用以下凸优化问题的解可以获得 S0 的低秩恢复:
从 (7) 获得解 (C*, E*) 后,可以通过 AC* 或 (S − E*) 获得到 S0 的低秩恢复。
为了解决(7)中的凸问题,我们使用增广拉格朗日乘子(ALM)方法。为了使用 ALM,我们将 (7) 中的问题转换为以下形式:
现在,ALM 方法将最小化以下内容:
其中 lF 是矩阵 Frobenious 范数。上面是一个增广拉格朗日函数,它是一个无约束最小化问题。因此,它可以被最小化 w.r.t J、C 和 E 分别通过固定其他变量然后更新 G1 和 G2(拉格朗日乘子)和参数 μ > 0 强制惩罚。不精确ALM方法的步骤可以参见算法1。
算法 1 的步骤 1 和步骤 2 本质上是凸的,并且它们的解以封闭形式存在。我们使用 Cai 等人的定理,使用奇异值阈值 (SVT) 算子 [3] 来求解步骤 1,该算子指出,对于任何具有 SVD M = UΣV*的矩阵 M,Dτ (M ) = arg minM [1/2 ‖M − Y ‖2 F + τ ‖M ‖*] 其中 Dτ (M ) := U Dτ (Σ)V *, Dτ (Σ) = diag({σi − τ }+) 且 t+ = max(0, t)
为了解决步骤 3,请考虑以下引理:
“Lemma 3.1:引理 3.1:[4] 对于给定矩阵 Q,如果
最优解为是 W * ,则 W * 的第 i 列为
1)收敛性:根据[5],我们需要考虑以下两个条件,(i)满列秩的字典矩阵A (ii)每次迭代中的误差εk单调递减。这两个条件足以收敛算法 1。误差 εk 由下式给出
其中 (Ck, Jk) 是第 k 次迭代的解。
2) 计算复杂度:假设 A 和 S 的大小均为 d×n,我们可以看到大部分计算是在算法 1 的步骤 1 中完成的,其中我们需要计算 n×n 矩阵的 SVD。因此,如果数据样本 n 的大小很大,则此计算可能会很耗时。考虑从定理 3.1 得出的以下定理,它有助于降低 LRR 的计算成本。
定理3.3:从(7)中的LRR问题不难看出,其解(C*,E*)遵循C*∈span(AT)。
上述定理意味着 (7) 的最优解 C* 位于 A 所跨越的行空间中。因此,C* 可以分解为 C*=P*~C*,其中,通过正交化 AT 的列,我们可以计算P* 提前,因此(7)可以等价地写成更简单的形式:
其中 B = AP *。从解(~C*,E*)我们可以得到(7)的最优解,即(P*~C*,E*)。为了获得 (7) 的最优解,我们只需要使用最多有 rA(=rank(A)) 行的 ̃ C,使用算法 1 解决上述问题的复杂度是 O(dnrA + nrA2 + rA3)。因此,对于低秩字典A,LRR是可扩展的。如果我们使用 A = S,那么计算复杂度最多变为 O(d2n+d3),d ≤ n。对于低数据维度 d,这也很快。
考虑正交化成本和收敛所需的迭代次数后算法1的总复杂度,给定ns,我们得到
ρ 的选择会影响 nS,如果 ρ 大则 ns 小,反之亦然。
IV. SUBSPACE CLUSTERING BY LRR” 四. LRR 的子空间聚类
这里,我们将 LRR 应用于问题 2.1 并给出理论和实验结果。
“A. Exactness to Clean Data” 清洁数据的准确性
对于干净数据,即 E0 = 0 且 S = S0,我们可以通过解决核范数最小化问题,通过 V0V0T 精确恢复 S0 的行空间
其中 A = S 是 (5) 中选择的字典矩阵。通过使用定理 3.1,我们从[6]得到以下定理。
定理 4.1:我们假设 S 的瘦 SVD 为 UΣV T。那么 (8) 的最小化器是唯一的,定义为 C* = VV T 这直接意味着当 E0 = 0 时,C* 精确地恢复 V0V 0T。
定理4.1展示了[2]中LRR和PCA之间的联系。下面将显示,即使数据存在异常值,LRR 也可以准确恢复 S0 的行空间,而这是 PCA 失败的地方。
“B. Robusteness to Outliers and Sample-Specific Corruptions” 对异常值和样本特定损坏的鲁棒性
在我们的第二个假设中,我们认为一小部分数据远离底层子空间。这意味着 E0 具有稀疏列,因此我们可以使用 2,1 范数来表征误差 E0。我们采用式(7)中的凸优化问题,选择A = S作为字典矩阵,得到:
我们在接下来的小节中证明 A = S 实际上是字典矩阵的一个不错的选择。
1) 异常值的精确性:如果数据样本远离底层子空间,则将其视为异常值。在这种情况下,在 S = S0 + E0 中,S0 是从底层子空间实际采样的数据,E0 将包含离群样本。我们考虑 S0 上的另一个约束来精确评估此设置,即
其中 I0 表示 E0 中的列支持度或异常值索引,PI 是投影矩阵,其中对于任何矩阵 M ,PI(M ) 是通过设置 [M ];,i = 0 ∀ i ∈ I 获得的。令 n 为S中的数据样本总数,则定义γ=| I0 | /n 为异常值的分数,并将 r0 定义为 S0 的等级。现在,以下定理表明 LRR 检测异常值的索引并准确恢复 S0 的行空间。
定理 4.2 [7]:存在一个最优 γ* > 0,因此在 LRR 中使用参数 λ = 3 / (7‖S‖√γ*n) 总是会成功地实现 γ ≤ γ*。这里的成功意味着对于(9) 任何最小化器 (C*, E*) 都会产生
其中 I* 表示 E* 的索引/列支持,U* 表示 C* 的列空间。
γ ≤ γ* 的 λ 参数设置条件只是 LRR 成功的充分条件,在实践中,当 γ > γ* 时,可以找到可能实现 LRR 成功的 λ 值。
2) 对样本特定损坏的鲁棒性:查看远离底层子空间的数据样本的另一种方法是,它确实属于子空间,但已严重损坏。这些通常是特定于样本的损坏。这再次被建模为具有稀疏列支持的 E0,我们仍然可以使用 (9) 公式,但我们不能考虑 (10) 中的设置。这意味着使用 LRR 可能无法精确恢复行空间 V0V0T。结果 I* = I0 在实践中仍然成立,因为 E0 仍然可以检测这些样本特定损坏的索引。
在 LRR 中,将考虑损坏程度足以被视为异常值的数据样本,因为这是合理的操作。例如,如果脸部图像被损坏看起来像非脸部,我们可以将其视为异常值。
“C. Robustness in the Presence of Noise, Outliers and SampleSpecific Corruptions” C. 存在噪声、异常值和样本特定损坏时的鲁棒性
对于噪声数据,我们不能为 E0 提供稀疏列支持,但我们仍然可以使用 (9) 中的问题公式,并且 2,1 范数也可以处理具有近似稀疏列支持的信号。由于所有数据都是有噪声的,因此不太可能恢复精确的行空间 V0V 0T,但我们可以尝试接近精确的恢复。考虑以下基于矩阵范数三角不等式的定理。
定理 4.3:对于 d × n 数据矩阵 S 和 S0,秩为 r0,对于 (9) 且 λ > 0 的任何解 (C*, E*) 我们有
“D. Algorithms for Subspace Segmentation, Model Estimation and Outlier Detection” D. 子空间分割、模型估计和异常值检测算法
1) Segmentation with Given Subspace Number: 给定子空间数的分割:在求解(9)时,我们得到解(C*,E*),C*的列空间由U*(U*)T 表征,用于子空间分割。亲和力矩阵 W 可以通过假设 C* 的瘦 SVD 为 U*Σ(V*)T 来定义,如下所示:
其中 ̃ U = U *(Σ*)1/2 并且它具有标准化的行。乘以 (Σ*)1/2 的目的是为 U* 的列分配权重。进行平方是为了确保亲和力矩阵的值为正。对于干净数据 Σ* = I 的情况,因此该方法没有效果。然后,我们使用归一化切割 (NCuts) [8] 进行谱聚类,并将数据样本分割成给定的 k 个子空间。在 NCut 中,对角矩阵,其中对角线是通过对亲和力矩阵按行求和并取结果元素的倒数平方根而获得的。然后将该对角矩阵与亲和矩阵一起使用以生成拉普拉斯矩阵。对该拉普拉斯矩阵执行 SVD,并将获得的行空间与之前计算的对角矩阵相乘。最后,应用K-Means聚类算法来获得标签。使用 LRR 进行分割的步骤可以在算法 2 中找到。
“2) Estimating the Number of Subspaces k: 估计子空间的数量k:估计空间的数量是一个具有挑战性的问题,但我们可以利用亲和力矩阵的块对角结构来解决估计簇数量的问题。对于严格的块对角亲和矩阵 W,我们可以执行以下操作来估计子空间 k 的数量。
我们首先计算亲和力矩阵 W 的归一化拉普拉斯算子 (L)。然后我们计算 L 的零奇异值的数量。对于更实际的情况,即当亲和矩阵接近块对角线时,我们可以计算小于阈值的奇异值的数量来估计子空间的数量。下面是估计子空间数量 ^ k 的软阈值技术。
其中 n 是数据样本的总数。拉普拉斯矩阵 L 的奇异值由 {σi}n i 给出, int(.) 输出与实际值输入最接近的整数。软阈值算子 fτ (.) 由下式给出
估计子空间数 k 的步骤可以在算法 3 中找到。
“3) Outlier Detection: 异常值检测:正如我们在定理4.2中已经看到的,我们可以利用E*来检测异常值的索引。考虑到一小部分数据是干净的,即所有数据都没有噪声,我们只需要找到 E* 的非零列。当 E* 仅具有近似稀疏列时,我们也可以使用阈值技术。我们可以使用以下阈值来判断 S 的第 i 个数据向量是否为异常值
δ 是一个参数。如果对于 [E*]:,i 不等式 (14) 成立,则 S 的数据向量是异常值,否则不是。
“V. EXPERIMENTS AND NUMERICAL ANALYSIS” 五、实验与数值分析
“A. Motion Segmentation on Hopkins155” A. Hopkins155 上的运动分割
“1) Dataset: 数据集:Hopkins155 数据集 [9] 由 155 个运动序列组成,每个运动序列都有一些在不同帧上跟踪的点。对这些序列应用子空间聚类算法以正确分割点,并将结果与地面实况进行比较。请注意,这里我们事先知道子空间的数量。
2) Parameters 参数:我们在 Hopkins155 上针对各种 λ 值运行了子空间聚类算法的模拟,并计算了每个值的平均误差,如图 1 所示。
可以注意到,当 λ = 4.6 时,所有运动序列的平均误差为 0.0172,即可实现最佳性能。
表 I 总结了 λ = 4.6 时的误差值。Liu等人[1]所说,PCA的平均误差为0.0456,SR的平均误差为0.0389,LRR的平均误差为0.0171。很明显,LRR 方法优于它们。这种 LRR 方法的缺点是我们无法预先估计最佳 λ。然而,试探性地,如果数据中的错误率较低,则其值保持较高;如果数据中的错误率较高,则其值保持较低[1]。
“B. Face Segmentation” B. 人脸分割
“1) Dataset: 数据集:耶鲁人脸数据集B[10]用于人脸分割。它由各种照明设置下的人脸图像组成。
“2) Parameters: 参数:我们对不同的λ值进行了LRR子空间分割的模拟,并计算了相应的精度。在 λ = 0.16 时获得最佳值,精度为 0.63。不同 λ 值的精度值绘制在图 2 中。
“C. Choice of Norms” C. 标准的选择
值得注意的是,在算法1(LRR)的收敛标准中,Liu等人 [1] 使用 ‖M ‖∞ = maxi,j | [Mij] |对于大小为 m × n 的矩阵 M,而一般无穷范数定义为 max1≤i≤m Σn j=1 | [Mij] |这是矩阵的绝对行和的最大值。我们针对不同范数的子空间分割问题运行 LRR 算法,以确定 LRR 算法是否收敛。对于运动分割问题中范数的不同选择,观察了误差和所需的迭代次数。虽然所有范数的结果几乎相似,但 l−2 范数(矩阵的最小奇异值)却是一个例外。与使用无穷范数时相比,所需的迭代次数几乎减少了一半。然而,这是以增加错误为代价的。表III总结了使用不同标准的结果。
对于两种范数选择,收敛误差的演变非常不同,如图 3 所示。
它在 l−2 范数的值上几乎保持稳定,并且在无穷大范数的情况下突然减小,而在刘等人使用[1]无穷大范数的情况下,它遵循一条非常嘈杂的路径。
“D. Estimation of Number of Subspaces” D. 子空间数量的估计
算法 3 应用在 Hopkins155 数据集上。像往常一样使用无穷范数。针对不同的 τ 值进行模拟,并记录每个值的平均误差和预测率。结果总结在 I 中。据观察,算法收敛所需的迭代次数不受 τ 值的影响。图1显示了收敛误差的演变。
“VI. SUGGESTED IMPROVEMENTS” 六.建议的改进
LRR 的增强功能之一是潜在 LRR 或 LatLRR [11],其性能优于许多最先进的算法。 LRR 的一个限制是,如果数据严重损坏或不足,那么选择字典矩阵 A = S 会显着降低 LRR 的性能。 LatLRR 通过考虑隐藏/未观察到的数据以及观察到的数据来克服这一限制,并使用两者将子空间聚类和特征提取共同编织到一个统一的框架中。此外,它是一种无监督算法,因此在准确提取特征时对损坏具有鲁棒性。
另一种方法是考虑深度字典学习[12],它试图通过使用一堆层和大量权重和过滤器提取显着特征来学习字典。
总结
当我们有干净的数据时,LRR可以准确地恢复数据样本的子空间结构;对于存在异常值的数据,LRR可以检测出异常值,并在一定条件下准确恢复原始数据的行空间;对于有噪声损坏的数据,LRR仍然可以大致恢复原始数据的行空间。
算法1:LRR通过不精确ALM方法解决凸优化问题(7),从观测值S中恢复数据S0
具体如下:
我们使用定义为 (‖M ‖2,1 = Σ i ‖[M ]:,i‖2) 的 l2,1 范数将 E 表征为样本特定损坏和异常值的误差项。然后使用以下凸优化问题的解可以获得 S0 的低秩恢复:
从 (7) 获得解 (C*, E*) 后,可以通过 AC* 或 (S − E*) 获得到 S0 的低秩恢复。
为了解决(7)中的凸问题,我们使用增广拉格朗日乘子(ALM)方法。为了使用 ALM,我们将 (7) 中的问题转换为以下形式:
现在,ALM 方法将最小化以下内容:
其中 lF 是矩阵 Frobenious 范数。上面是一个增广拉格朗日函数,它是一个无约束最小化问题。因此,它可以被最小化 w.r.t J、C 和 E 分别通过固定其他变量然后更新 G1 和 G2(拉格朗日乘子)和参数 μ > 0 强制惩罚。不精确ALM方法的步骤可以参见算法1。
使用LRR实现子空间分割:
如果给定子空间的数量K----直接使用算法2,如果未给定K,则估计K的方法为算法3
使用LRR实现异常值检测:
LRR使用以下阈值来判断 S 的第 i 个数据向量是否为异常值
δ 是一个参数。如果对于 [E*]:,i 不等式 (14) 成立,则 S 的数据向量是异常值,否则不是。
LRR 的一个限制是,如果数据严重损坏或不足,那么选择字典矩阵 A = S 会显着降低 LRR 的性能。
LatLRR 通过考虑隐藏/未观察到的数据以及观察到的数据来克服这一限制,并使用两者将子空间聚类和特征提取共同编织到一个统一的框架中。此外,它是一种无监督算法,因此在准确提取特征时对损坏具有鲁棒性。
另一种方法是考虑深度字典学习[12],它试图通过使用一堆层和大量权重和过滤器提取显着特征来学习字典。