system: [SYSTEM]

user: 2. 算法提出 2.1. 相关算法 给定原始数据的特征矩阵 X = [ x 1 ， x 2 ， ⋯ ， x n ] ∈ R m × n ，其中列向量 x i 表示一个样本。则低秩表示算法(Low-Rank Representation，LRR) [ 1 ] 的模型可以用如下目标函数表示： min Z ， E ‖ Z ‖ * + λ ‖ E ‖ 2 ， 1   s . t .   X = X Z + E (1) 其中， Z ∈ R n × n 为表示系数矩阵，E为重构误差。 ‖   ⋅   ‖ 2 ， 1 表示 l 2 ， 1 范数，其可以引导矩阵列稀疏。LRR算法将原始特征矩阵作为字典，通过对原始特征矩阵进行重构，来学习一个具有低秩约束的表示系数矩阵。这样Z通常可以揭示样本点之间的相似性关系，从而用来做无监督的聚类分析。 2.2. 算法引入 在一般情况下，LRR算法可以取得不错的聚类效果。然而在实际应用中，受到各种环境和人为等各种因素的影响，我们所得到的数据往往包含冗余特征和噪声信息。所以直接将原始特征矩阵作为字典，学习得到的表示系数矩阵通常会受到其中的不利因素的影响。为此，我们提出潜在特征空间学习方法，来减少这种负面影响： X = P H X + E 1   s . t .   P T P = I (2) 其中 P ∈ R m × k 为正交字典， H ∈ R k × m 为转换矩阵， E 1 为重构误差。通过这种方式，我们可以利用原始数据重构，学习转换矩阵H，进而获得原始特征的潜在表示 H X 。这样可以使得潜在特征在显式地保留原始数据的主要信息同时还能过滤噪声信息 E 1 。 进一步，我们结合低秩表示方法，并将 H X 作为特征字典，可以得到基于潜在特征空间的低秩表示方法(Low-Rank Representation Algorithm Based on Latent Feature Space， LRRLFS)，其目标函数为： min P ， H ， Z ， E 1 ， E 2 ‖ Z ‖ * + λ 1 ‖ H X ‖ F 2 + λ 2 ( ‖ E 1 ‖ 2 ， 1 + ‖ E 2 ‖ 2 ， 1 )                                 s . t .   X = P H X + E 1 ， H X = H X Z + E 2 ， P T P = I (3) 其中 ‖ H X ‖ F 2 作为正则化项，一方面可以使得学习得到的潜在特征表示更为紧凑，另一方面可以在一定程度上防止模型过拟合。 2.3. 算法优化 显然目标函数(3)并不是一个凸优化问题。但是我们可以采用交替直接最小化(Alternating Direction Minimization， ADM) [ 2 ] 技巧来对其进行优化。首先，引入辅助变量J和K来分别代替Z和 H X 。那么目标函数表达式变为如下形式： min P ， H ， Z ， E 1 ， E 2 ， J ， K ‖ J ‖ * + λ 1 ‖ H X ‖ F 2 + λ 2 ( ‖ E 1 ‖ 2 ， 1 + ‖ E 2 ‖ 2 ， 1 ) s . t .   X = P K + E 1 ， H X = H X Z + E 2 ， P T P = I ， J = Z ， K = H X (4) 接着，我们将上式(4)转化为增强拉格朗日问题(Augmented Lagrange Multiplier， ALM)： L ( P ， H ， Z ， E 1 ， E 2 ， J ， K ) =       ‖ J ‖ * + λ 1 ‖ H X ‖ F 2 + λ 2 ( ‖ E 1 ‖ 2 ， 1 + ‖ E 2 ‖ 2 ， 1 ) + Φ ( Y 1 ， X − P K − E 1 )                 + Φ ( Y 2 ， H X − H X Z − E 2 ) + Φ ( Y 3 ， J − Z ) + Φ ( Y 4 ， K − H X )                 s . t .   P T P = I (5) 其中 Φ ( ⋅ ， ⋅ ) 的定义为 Φ ( A . B ) = μ 2 ‖ B ‖ F 2 + T r ( A T B ) 。A表示拉格朗日乘数， μ > 0 为惩罚因子。我们可以将上式(5)分解为多个子问题，并通过固定其他变量来更新单个变量。这样多次迭代之后，便能得到模型的近似解。具体子问题如下： 1) P步骤：固定其他变量，更新P。 P * = arg min P Φ ( Y 1 ， X − P K − E 1 )   s . t .   P T P = I (6) 定理1对于最小化问题 min C ‖ A − B C ‖ F 2   s . t . C T C = C C T = I ，其最优解为 C * = U V T ，其中U和V分别表示对 B T A 进行奇异值分解(Singular Value Decomposition，SVD)分解后的左右奇异矩阵。 根据定理1 [ 3 ]，我们将式(6)转化为类似的形式： P * = arg min P Φ ( Y 1 ， X − P K − E 1 )                           = arg min P μ 2 T r ( ( X − P K − E 1 ) T ( X − P K − E 1 ) ) + T r ( ( X − P K − E 1 ) T Y 1 )                         = arg min P μ 2 T r ( ( X − P K − E 1 + Y 1 / μ ) T ( X − P K − E 1 + Y 1 / μ ) )                         = arg min P μ 2 ‖ X − P K − E 1 + Y 1 / μ ‖ F 2                         = arg min P μ 2 ‖ ( X + Y 1 / μ − E 1 ) − P K ‖ F 2                         = arg min P μ 2 ‖ ( X + Y 1 / μ − E 1 ) T − K T P T ‖ F 2 (7) 然后通过SVD得到 K ( X + Y 1 / μ − E 1 ) T = U Σ V T ，利用U和 V T 来更新P: P * = [ U V T ] T (8) 2) H步骤：固定其他变量，更新H。 H * = arg min H Φ ( Y 2 ， H X − H X Z − E 2 ) + Φ ( Y 4 ， K − H X ) + λ 1 ‖ H X ‖ F 2 (9) 我们将上式(9)对H求偏导并设为零，便可以得到其最小化问题的解： H * = [ ( μ E 2 − Y 2 ) ( I − Z ) T X T + ( μ K + Y 4 ) X T ] [ μ X ( 2 I − Z T − Z + Z Z T ) X T + 2 λ 1 X X T ] − 1 (10) 3) Z步骤：固定其他变量，更新Z。 Z * = arg min Z Φ ( Y 3 ， J − Z ) + Φ ( Y 2 ， H X − H X Z − E 2 ) (11) 我们将上式(11)对Z求偏导并设为零。便可以得到其最小化问题的解： Z * = ( I + X T H T H X ) − 1 [ ( J + X T H T H X − X T H T E 2 ) + ( Y 3 + X T H T Y 2 ) / μ ] (12) 4) E步骤：固定其他变量，更新E。 E 1 * = arg min E 1 λ 2 ‖ E 1 ‖ 2 ， 1 + Φ ( Y 1 ， X − P K − E 1 )                             = arg min E 1 λ 2 μ ‖ E 1 ‖ 2 ， 1 + 1 2 ‖ E 1 − ( X − P K + Y 1 / μ ) ‖ F 2 (13) E 2 * = arg min E 2 λ 2 ‖ E 2 ‖ 2 ， 1 + Φ ( Y 2 ， H X − H X Z − E 2 )                               = arg min E 2 λ 2 μ ‖ E 2 ‖ 2 ， 1 + 1 2 ‖ E 2 − ( H X − H X Z + Y 2 / μ ) ‖ F 2 (14) 引理1 给定B，则 min   A α ‖ A ‖ 2 ， 1 + 1 2 ‖ A − B ‖ F 2 的最优解 A * 的第i列可以表示为： [ A * ] : ， i = { ‖ [ B ] : ， i ‖ 2 − α ‖ [ B ] : ， i ‖ 2 B : ， i ， if ‖ [ B ] : ， i ‖ 2 > α 0 ， otherwise (15) 根据引理1，我们可以依次更新 E 1 和 E 2 。 5) J步骤：固定其他变量，更新J。 J * = arg min J ‖ J ‖ * + Φ ( Y 3 ， J − Z )                         = arg min J ‖ J ‖ * + μ 2 ‖ J − ( Z − Y 3 / μ ) ‖ F 2                       = arg min J 1 μ ‖ J ‖ * + 1 2 ‖ J − ( Z − Y 3 / μ ) ‖ F 2 (16) 我们可以利用奇异值阈值算法(Singular Value Thresholding， SVT) [ 4 ] 算法计算最优解 J * ： J * = Θ 1 / μ ( Z − Y 3 / μ ) (17) 其中 Θ 表示SVT算法的收缩算子。 6) K步骤：固定其他变量，更新K。 K * = arg min K Φ ( Y 4 ， K − H X ) (18) 我们将上式(18)对K求偏导并设为零，便可以得到其最小化问题的解： K * = H X − Y 4 / μ (19) 7) 更新拉格朗日乘子：所有乘子均采用梯度下降法更新。 { Y 1 = Y 1 + ∂ L ∂ Y 1 = Y 1 + μ ( X − P K − E 1 ) Y 2 = Y 2 + ∂ L ∂ Y 2 = Y 2 + μ ( H X − H X Z − E 2 ) Y 3 = Y 3 + ∂ L ∂ Y 3 = Y 3 + μ ( J − Z ) Y 4 = Y 4 + ∂ L ∂ Y 4 = Y 4 + μ ( K − H X ) (20) 总上所述，我们可以得到LRRLFS算法如下：