自我表达子空间图构建方法的系数矩阵求解过程
给定的目标函数是:
S
^
=
arg
min
S
∑
i
=
1
m
λ
∥
H
i
−
S
H
i
∥
F
2
+
β
∥
S
∥
F
2
\hat{\mathbf{S}} = \arg\min_{\mathbf{S}} \sum_{i=1}^m \lambda \left\|\mathbf{H}_i - \mathbf{S}\mathbf{H}_i\right\|_{\mathrm{F}}^2 + \beta \left\|\mathbf{S}\right\|_{\mathrm{F}}^2
S^=argSmini=1∑mλ∥Hi−SHi∥F2+β∥S∥F2
这里, H i \mathbf{H}_i Hi 是数据点或子空间的表示, S \mathbf{S} S 是我们要优化的自我表达矩阵, λ \lambda λ 和 β \beta β 是正则化参数。我们的目标是最小化这个函数。
为了求解 S \mathbf{S} S,我们可以对目标函数关于 S \mathbf{S} S 求导,并令导数等于零来找到最小值点。首先,让我们简化目标函数:
J ( S ) = λ ∑ i = 1 m ∥ H i − S H i ∥ F 2 + β ∥ S ∥ F 2 J(\mathbf{S}) = \lambda \sum_{i=1}^m \left\|\mathbf{H}_i - \mathbf{S}\mathbf{H}_i\right\|_{\mathrm{F}}^2 + \beta \left\|\mathbf{S}\right\|_{\mathrm{F}}^2 J(S)=λi=1∑m∥Hi−SHi∥F2+β∥S∥F2
可以进一步写为:
J
(
S
)
=
λ
∑
i
=
1
m
tr
(
(
H
i
−
S
H
i
)
T
(
H
i
−
S
H
i
)
)
+
β
tr
(
S
T
S
)
J(\mathbf{S}) = \lambda \sum_{i=1}^m \operatorname{tr}((\mathbf{H}_i - \mathbf{S}\mathbf{H}_i)^T (\mathbf{H}_i - \mathbf{S}\mathbf{H}_i)) + \beta \operatorname{tr}(\mathbf{S}^T \mathbf{S})
J(S)=λi=1∑mtr((Hi−SHi)T(Hi−SHi))+βtr(STS)
利用迹的性质(如
tr
(
A
T
B
)
=
tr
(
B
T
A
)
\operatorname{tr}(\mathbf{A}^T \mathbf{B}) = \operatorname{tr}(\mathbf{B}^T \mathbf{A})
tr(ATB)=tr(BTA) 和
tr
(
A
+
B
)
=
tr
(
A
)
+
tr
(
B
)
\operatorname{tr}(\mathbf{A} + \mathbf{B}) = \operatorname{tr}(\mathbf{A}) + \operatorname{tr}(\mathbf{B})
tr(A+B)=tr(A)+tr(B)),我们得到:
J
(
S
)
=
λ
∑
i
=
1
m
tr
(
H
i
T
H
i
−
2
H
i
T
S
H
i
+
H
i
T
S
T
S
H
i
)
+
β
tr
(
S
T
S
)
J(\mathbf{S}) = \lambda \sum_{i=1}^m \operatorname{tr}(\mathbf{H}_i^T \mathbf{H}_i - 2\mathbf{H}_i^T \mathbf{S} \mathbf{H}_i + \mathbf{H}_i^T \mathbf{S}^T \mathbf{S} \mathbf{H}_i) + \beta \operatorname{tr}(\mathbf{S}^T \mathbf{S})
J(S)=λi=1∑mtr(HiTHi−2HiTSHi+HiTSTSHi)+βtr(STS)
这里注意,tr(AB) = tr(BA)
对
J
(
S
)
J(\mathbf{S})
J(S) 关于
S
\mathbf{S}
S 求导,注意到
tr
(
A
B
C
)
\operatorname{tr}(\mathbf{A} \mathbf{B} \mathbf{C})
tr(ABC) 对
B
\mathbf{B}
B 的导数是
C
A
T
+
A
C
T
\mathbf{C} \mathbf{A}^T + \mathbf{A} \mathbf{C}^T
CAT+ACT 当
A
\mathbf{A}
A 和
C
\mathbf{C}
C 是常量时,我们有:
∂
J
∂
S
=
−
2
λ
∑
i
=
1
m
H
i
H
i
T
+
2
λ
∑
i
=
1
m
S
H
i
H
i
T
+
2
β
S
\frac{\partial J}{\partial \mathbf{S}} = -2\lambda \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T + 2\lambda \sum_{i=1}^m \mathbf{S} \mathbf{H}_i \mathbf{H}_i^T + 2\beta \mathbf{S}
∂S∂J=−2λi=1∑mHiHiT+2λi=1∑mSHiHiT+2βS
设导数为0,得到:
−
2
λ
∑
i
=
1
m
H
i
H
i
T
+
2
λ
∑
i
=
1
m
S
H
i
H
i
T
+
2
β
S
=
0
-2\lambda \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T + 2\lambda \sum_{i=1}^m \mathbf{S} \mathbf{H}_i \mathbf{H}_i^T + 2\beta \mathbf{S} = 0
−2λi=1∑mHiHiT+2λi=1∑mSHiHiT+2βS=0
整理后得到:
λ
∑
i
=
1
m
S
H
i
H
i
T
+
β
S
=
λ
∑
i
=
1
m
H
i
H
i
T
\lambda \sum_{i=1}^m \mathbf{S} \mathbf{H}_i \mathbf{H}_i^T + \beta \mathbf{S} = \lambda \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T
λi=1∑mSHiHiT+βS=λi=1∑mHiHiT
S ( λ ∑ i = 1 m H i H i T + β I ) = λ ∑ i = 1 m H i H i T \mathbf{S} \left( \lambda \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T + \beta \mathbf{I} \right) = \lambda \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T S(λi=1∑mHiHiT+βI)=λi=1∑mHiHiT
假设
C
=
∑
i
=
1
m
H
i
H
i
T
\mathbf{C} = \sum_{i=1}^m \mathbf{H}_i \mathbf{H}_i^T
C=∑i=1mHiHiT,则上式可以写作:
S
(
λ
C
+
β
I
)
=
λ
C
\mathbf{S} (\lambda \mathbf{C} + \beta \mathbf{I}) = \lambda \mathbf{C}
S(λC+βI)=λC
因此,解得:
S
^
=
(
λ
C
+
β
I
)
−
1
λ
C
\mathbf{\hat{S}} = (\lambda \mathbf{C} + \beta \mathbf{I})^{-1} \lambda \mathbf{C}
S^=(λC+βI)−1λC
由于
λ
\lambda
λ 只是一个比例因子,我们可以将其提取出来,得到最终形式:
S
^
=
(
C
+
β
λ
I
)
−
1
C
\mathbf{\hat{S}} = \left( \mathbf{C} + \frac{\beta}{\lambda} \mathbf{I} \right)^{-1} \mathbf{C}
S^=(C+λβI)−1C