l
1
l_1
l1-norm, 作为
l
0
l_0
l0-norm 的最紧凸近似,在压缩感知中非常常用。
例如求解问题:
a
r
g
m
i
n
x
A
x
=
b
s
.
t
.
∣
x
∣
0
≤
n
\mathrm{argmin}_x Ax = b \quad \mathrm{s.t.} |x|_0\le n
argminxAx=bs.t.∣x∣0≤n
即待求解向量
x
x
x是一个稀疏向量, 其非零元素个数不超过
n
n
n个。
一种基于LASSO的做法是将问题改写为:
a
r
g
m
i
n
x
∣
∣
A
x
−
b
∣
∣
2
2
+
λ
∣
x
∣
1
\mathrm{argmin}_x ||Ax-b||_2^2 + \lambda |x|_1
argminx∣∣Ax−b∣∣22+λ∣x∣1
其中
λ
\lambda
λ是一个人工变量, 可通过改变其大小改变对稀疏条件的重视程度。 注意, 这里将不可导、非凸的零范数放松为了一范数。 也因此,改写后的问题是一个可导的问题。
最简单的情况下, x x x为实数向量。 此时, 1-范数的导数很容易由定义得到: ∣ x ∣ 1 = ∑ ∣ x i ∣ |x|_1=\sum |x_i| ∣x∣1=∑∣xi∣, ∂ ∣ x ∣ 1 x i = s i g n ( x i ) \frac{\partial |x|_1}{x_i} = \mathrm{sign}(x_i) xi∂∣x∣1=sign(xi).
本文考虑的是通信中更常见的情形, 即
x
x
x是一个复数向量。
此时,
∣
x
i
∣
|x_i|
∣xi∣不再是
x
i
x_i
xi的绝对值, 而是复数
x
i
x_i
xi的模,即
x
i
x
i
∗
\sqrt{x_ix_i^*}
xixi∗.
也就是说:(复数时求梯度为对变量的共轭求导)
∂
∣
x
∣
1
∂
x
i
∗
=
∂
∑
x
i
x
i
∗
∂
x
i
∗
=
(
x
i
)
1
2
(
x
i
∗
)
−
1
2
2
.
\frac{\partial |x|_1}{\partial x_i^*}=\frac{\partial \sum \sqrt{x_ix_i^*}}{\partial x_i^*} = \frac{(x_i)^\frac{1}{2}(x^*_i)^{-\frac{1}{2}}}{2}.
∂xi∗∂∣x∣1=∂xi∗∂∑xixi∗=2(xi)21(xi∗)−21.
进一步更复杂一些的:
设
f
=
∣
A
x
∣
1
f = |Ax|_1
f=∣Ax∣1, 求
∂
f
∂
x
∗
\frac{\partial f}{\partial x^*}
∂x∗∂f。
设
A
A
A的第
i
i
i行为
a
i
a_i
ai, 那么
[
A
x
]
i
=
a
i
x
[Ax]_i=a_ix
[Ax]i=aix,
∣
[
A
x
]
i
∣
=
(
x
H
a
i
H
a
i
x
)
1
2
|[Ax]_i|=(x^Ha_i^Ha_ix)^{\frac{1}{2}}
∣[Ax]i∣=(xHaiHaix)21, 因此,
f
=
∑
(
x
H
a
i
H
a
i
x
)
1
2
f = \sum (x^Ha_i^Ha_ix)^{\frac{1}{2}}
f=∑(xHaiHaix)21
对
f
f
f求微分, 有:
d
f
=
d
t
r
(
∑
(
x
H
a
i
H
a
i
x
)
1
2
)
=
t
r
(
∑
d
(
x
H
a
i
H
a
i
x
)
1
2
)
df=d\mathrm{tr}(\sum (x^Ha_i^Ha_ix)^{\frac{1}{2}})=\mathrm{tr}(\sum d(x^Ha_i^Ha_ix)^{\frac{1}{2}})
df=dtr(∑(xHaiHaix)21)=tr(∑d(xHaiHaix)21)
而:
d
(
x
H
a
i
H
a
i
x
)
1
2
=
1
2
(
x
H
a
i
H
a
i
x
)
−
1
2
(
d
x
H
)
a
i
H
a
i
x
d(x^Ha_i^Ha_ix)^{\frac{1}{2}} = \frac{1}{2}(x^Ha_i^Ha_ix)^{-\frac{1}{2}}(d x^H) a_i^Ha_ix
d(xHaiHaix)21=21(xHaiHaix)−21(dxH)aiHaix
代回, 得:
d
f
=
t
r
(
∑
1
2
(
x
H
a
i
H
a
i
x
)
−
1
2
a
i
H
a
i
x
(
d
x
H
)
)
df =\mathrm{tr}(\sum \frac{1}{2}(x^Ha_i^Ha_ix)^{-\frac{1}{2}}a_i^Ha_ix(d x^H) )
df=tr(∑21(xHaiHaix)−21aiHaix(dxH))
因此,
∂
f
∂
x
∗
=
1
2
∑
(
x
H
a
i
H
a
i
x
)
−
1
2
a
i
H
a
i
x
.
\frac{\partial f}{\partial x^*} =\frac{1}{2} \sum (x^Ha_i^Ha_ix)^{-\frac{1}{2}}a_i^Ha_ix.
∂x∗∂f=21∑(xHaiHaix)−21aiHaix.
再进一步的, 设
f
=
∣
v
e
c
(
A
H
X
A
)
∣
1
f = |\mathrm{vec}(A^HXA)|_1
f=∣vec(AHXA)∣1, 求
∂
f
∂
X
∗
\frac{\partial f}{\partial X^*}
∂X∗∂f。
(注意, 如果
X
X
X是一个稀疏矩阵, 那么对其0范数的近似并不是直接
X
X
X的1范数, 而是
X
X
X向量化后的1范数。 因为一个矩阵的1范数是每列1范数的最大值, 而不是所有元素模的和。)
设
A
A
A的第
i
i
i列为
a
i
a_i
ai, 那么
[
A
H
X
A
]
i
j
=
a
i
H
X
a
j
[A^HXA]_{ij} = a_i^HXa_j
[AHXA]ij=aiHXaj, 由于
f
f
f代表矩阵每个元素的模的和, 因此
f
=
∑
i
∑
j
(
a
j
H
X
H
a
i
a
i
H
X
a
j
)
1
2
f = \sum_i\sum_j(a_j^HX^Ha_ia_i^HXa_j)^{\frac{1}{2}}
f=i∑j∑(ajHXHaiaiHXaj)21
同样地, 对
f
f
f求微分, 有:
d f = d t r ( ∑ i ∑ j ( a j H X H a i a i H X a j ) 1 2 ) = t r ( ∑ i ∑ j d ( a j H X H a i a i H X a j ) 1 2 ) df =d\mathrm{tr}(\sum_i\sum_j(a_j^HX^Ha_ia_i^HXa_j)^{\frac{1}{2}})=\mathrm{tr}(\sum_i\sum_j d(a_j^HX^Ha_ia_i^HXa_j)^{\frac{1} {2}}) df=dtr(i∑j∑(ajHXHaiaiHXaj)21)=tr(i∑j∑d(ajHXHaiaiHXaj)21)
而:
d
(
a
j
H
X
H
a
i
a
i
H
X
a
j
)
1
2
=
1
2
(
a
j
H
X
H
a
i
a
i
H
X
a
j
)
−
1
2
a
j
H
(
d
X
H
)
a
i
a
i
H
X
a
j
d(a_j^HX^Ha_ia_i^HXa_j)^{\frac{1}{2}} = \frac{1}{2}(a_j^HX^Ha_ia_i^HXa_j)^{-\frac{1}{2}}a_j^H(dX^H)a_ia_i^HXa_j
d(ajHXHaiaiHXaj)21=21(ajHXHaiaiHXaj)−21ajH(dXH)aiaiHXaj, 代回得
d
f
=
t
r
(
∑
i
∑
j
1
2
(
a
j
H
X
H
a
i
a
i
H
X
a
j
)
−
1
2
a
i
a
i
H
X
a
j
a
j
H
(
d
X
H
)
)
df = \mathrm{tr}(\sum_i\sum_j \frac{1}{2}(a_j^HX^Ha_ia_i^HXa_j)^{-\frac{1}{2}}a_ia_i^HXa_ja_j^H(dX^H))
df=tr(i∑j∑21(ajHXHaiaiHXaj)−21aiaiHXajajH(dXH))
因此,
∂
f
∂
X
∗
=
∑
i
∑
j
1
2
(
a
j
H
X
H
a
i
a
i
H
X
a
j
)
−
1
2
a
i
a
i
H
X
a
j
a
j
H
.
\frac{\partial f}{\partial X^*} = \sum_i\sum_j \frac{1}{2}(a_j^HX^Ha_ia_i^HXa_j)^{-\frac{1}{2}}a_ia_i^HXa_ja_j^H.
∂X∗∂f=i∑j∑21(ajHXHaiaiHXaj)−21aiaiHXajajH.