引
关于稀疏主成分,作者提了俩种收缩算法和俩种块方法,主要依赖 ℓ 0 \ell_0 ℓ0和 ℓ 1 \ell_1 ℓ1惩罚项. 主要思想是将通过求解优化问题,找到合适的 P P P, 其中的元素为 { 0 , 1 } \{0, 1\} {0,1}, 即指示载荷向量那些部分应该非零. 然后再通过迭代求解合适的载荷向量, 不过我觉得按照其理论,分明在求解 P P P的时候顺带也可以将载荷向量 Z Z Z也一并求得,可是却绕了一个弯,虽然也有其道理.
主要内容
收缩方法 ℓ 1 \ell_1 ℓ1惩罚项
这部分,考虑的是如下的优化问题:
ϕ
ℓ
1
(
γ
)
:
=
max
z
∈
B
n
z
T
Σ
z
−
γ
∥
z
∥
1
,
\phi_{\ell_1}(\gamma) := \max_{z \in \mathcal{B}^n} \sqrt{z^T \Sigma z} - \gamma \|z\|_1,
ϕℓ1(γ):=z∈BnmaxzTΣz−γ∥z∥1,
其中
Σ
=
A
T
A
,
A
∈
R
p
×
n
\Sigma=A^TA, A \in \R^{p \times n}
Σ=ATA,A∈Rp×n(
p
p
p个样本,
n
n
n为样本维度)为协方差矩阵,而
B
n
=
{
y
∈
R
n
∣
y
T
y
≤
1
}
\mathcal{B}^n = \{y \in \R^n | y^Ty \le 1 \}
Bn={y∈Rn∣yTy≤1}. 这个的意思蛮明显的,就是希望添加一个
ℓ
1
\ell_1
ℓ1惩罚项,使得
z
z
z能够稀疏化,通过如下转化:
其中
z
i
′
=
s
i
g
n
(
a
i
T
x
)
z
i
′
z_i'=\mathrm{sign}(a_i^Tx)z_i'
zi′=sign(aiTx)zi′.
(5)的推导是这也的,对于固定的
z
z
z,
x
=
A
z
/
∥
A
z
∥
x=Az / \|Az\|
x=Az/∥Az∥为最优解,等式自然可得. 因为俩个
max
\max
max所代表的可行解域是一致的,所以可以交换位置.
如果固定
x
x
x,那么关于
z
z
z的最优解为:
如何思考呢,首先看(6), 我们要做的是分配
z
i
z_i
zi, 但是,为了最大化,显然
(
∣
a
i
T
x
∣
−
γ
)
≤
0
(|a_i^Tx|-\gamma)\le 0
(∣aiTx∣−γ)≤0的部分是不配得到分配的,所以我们可以假设
z
i
,
i
=
1
,
2
,
…
,
n
′
≤
n
z_i,i=1,2,\ldots, n' \le n
zi,i=1,2,…,n′≤n非0, 利用拉格朗日乘子法:
max
∑
i
=
1
n
′
t
i
(
∣
a
i
T
x
∣
−
γ
)
+
λ
(
∑
i
=
1
n
′
t
i
T
t
i
−
1
)
\max \quad \sum_{i=1}^{n'} t_i(|a_i^Tx|-\gamma)+\lambda (\sum_{i=1}^{n'}t_i^Tt_i - 1) \\
maxi=1∑n′ti(∣aiTx∣−γ)+λ(i=1∑n′tiTti−1)
其中
t
i
=
∣
z
i
∣
t_i=|z_i|
ti=∣zi∣, 易证:
t
i
=
(
γ
−
∣
a
i
T
x
∣
)
/
2
λ
t_i=(\gamma - |a_i^Tx|) / 2\lambda
ti=(γ−∣aiTx∣)/2λ, 所以
∣
z
i
∣
|z_i|
∣zi∣的大小和
γ
−
∣
a
i
T
x
∣
\gamma - |a_i^Tx|
γ−∣aiTx∣成比例,(7)的结论不言而喻.
这样子,问题(6)就转换为下面的问题:
其中
S
p
=
{
y
∈
R
p
∣
y
T
y
=
1
}
\mathcal{S}^p = \{y \in \R^p | y^Ty=1\}
Sp={y∈Rp∣yTy=1}.
也就是说,最后这类问题的求解可以转化为,先通过问题(8)找到最优的 x x x, 再利用(7)求解 z z z. 但是,作者最后是通过(8), 找到 x x x, 再通过 ∣ a i T x ∣ − γ |a_i^T x| - \gamma ∣aiTx∣−γ 判断 z z z中那些元素非零,再去掉 ℓ 1 \ell_1 ℓ1惩罚项,再求解一次优化问题. 我真的很疑问,这个操作有必要吗,的确,听起来很合理,但是 ℓ 1 \ell_1 ℓ1本身就具有稀疏化的特性,为何非要如此呢?
另外,需要指出, γ \gamma γ应当满足一些条件,不然可能导致 ∣ a i T x ∣ < γ |a_i^T x| < \gamma ∣aiTx∣<γ对于所有的 i i i和 x x x.
收缩方法 ℓ 0 \ell_0 ℓ0惩罚项
考虑如下问题:
ϕ
ℓ
0
(
γ
)
:
=
max
z
∈
B
n
z
T
Σ
z
−
γ
∥
z
∥
0
.
\phi_{\ell_0} (\gamma) := \max_{z \in \mathcal{B}^n} z^T \Sigma z - \gamma \|z\|_0.
ϕℓ0(γ):=z∈BnmaxzTΣz−γ∥z∥0.
可以转换为:
固定
x
x
x,
z
z
z的解为:
这个部分,二维( n = 2 n=2 n=2)的情况是能够证明, 其它的时候不晓得该怎么证明.
如此,我们同样转化为求解关于
x
x
x的问题:
块方法 ℓ 0 \ell_0 ℓ0惩罚项
直接给出公式和相应的转化了.
其中
N
N
N是一个对角矩阵,也可以做权重来理解,
S
m
p
=
{
Y
∈
R
p
×
m
∣
Y
T
Y
=
I
m
}
\mathcal{S}_m^p = \{Y \in \R^{p \times m}| Y^TY=I_m \}
Smp={Y∈Rp×m∣YTY=Im},
[
S
n
]
m
=
{
Y
∈
R
n
×
m
∣
d
i
a
g
(
Y
T
Y
)
=
I
m
}
[\mathcal{S}^n]^m=\{Y \in \R^{n \times m} | diag(Y^TY)=I_m\}
[Sn]m={Y∈Rn×m∣diag(YTY)=Im}.
块方法 ℓ 0 \ell_0 ℓ0惩罚项
转换如下:
算法
求得
P
P
P后,作者考虑如下的问题:
并利用如下的算法求解: