6. 向量/矩阵的范数
向量可以看作是 1 × n 1 \times n 1×n 矩阵, 但从数学的角度, 其范数的意义不同, 所以不可以将向量范数直接扩充用于矩阵范数.
6.1 向量的 l p l_p lp 范数
给定向量
x
=
[
x
1
,
…
,
x
n
]
\mathbf{x} = [x_1, \dots, x_n]
x=[x1,…,xn].
∥
x
∥
p
=
(
∑
i
=
1
n
∣
x
i
∣
p
)
1
p
(1)
\Vert \mathbf{x} \Vert_p = \left(\sum_{i = 1}^n \vert x_i \vert^p\right)^{\frac{1}{p}} \tag{1}
∥x∥p=(i=1∑n∣xi∣p)p1(1)
源码: \Vert \mathbf{x} \Vert_p = \left(\sum_{i = 1}^n \vert x \vertp\right){\frac{1}{p}} \tag{1}
如果是在 Latex 环境下, 应把 \Vert 换成 \|.
6.1.1 l 0 l_0 l0 范数
∥
x
∥
0
=
∣
{
1
≤
i
≤
n
∣
x
i
≠
0
}
∣
(2)
\Vert \mathbf{x} \Vert_0 = \vert \{1 \le i \le n \vert x_i \ne 0\} \vert \tag{2}
∥x∥0=∣{1≤i≤n∣xi=0}∣(2)
语义: 非零项个数.
6.1.2 l 1 l_1 l1 范数
当
p
=
1
p = 1
p=1 时
∥
x
∥
1
=
∑
i
=
1
n
∣
x
i
∣
(3)
\Vert \mathbf{x} \Vert_1 = \sum_{i = 1}^n \vert x_i\vert \tag{3}
∥x∥1=i=1∑n∣xi∣(3)
语义: 绝对值之和.
常用于计算绝对误差.
6.1.3 l 2 l_2 l2 范数
当
p
=
2
p = 2
p=2 时
∥
x
∥
2
=
∑
i
=
1
n
x
i
2
(4)
\Vert \mathbf{x} \Vert_2 = \sqrt{\sum_{i = 1}^n x^2_i} \tag{4}
∥x∥2=i=1∑nxi2(4)
∥
x
∥
2
2
=
∑
i
=
1
n
x
i
2
(5)
\Vert \mathbf{x} \Vert^2_2 = \sum_{i = 1}^n x^2_i \tag{5}
∥x∥22=i=1∑nxi2(5)
语义: 平方和.
常用于计算平方误差.
6.1.4 l ∞ l_\infty l∞ 范数
∥
x
∥
∞
=
max
1
≤
i
≤
n
∣
x
i
∣
(6)
\Vert \mathbf{x} \Vert_{\infty} = \max_{1 \le i \le n} \vert x_i \vert \tag{6}
∥x∥∞=1≤i≤nmax∣xi∣(6)
源码: \Vert \mathbf{x} \Vert_{\infty} = \max_{1 \le i \le n} \vert x_i \vert.
infty 是 infinity 的简写.
语义: 绝大值的最大值.
6.2 矩阵的范数
给定矩阵 X = [ x i j ] n × m \mathbf{X} = [x_{ij}]_{n \times m} X=[xij]n×m.
6.2.1 Fro 范数
∥
X
∥
F
=
∑
i
,
j
x
i
j
2
(7)
\Vert \mathbf{X} \Vert_F = \sqrt{\sum_{i, j} x_{ij}^2} \tag{7}
∥X∥F=i,j∑xij2(7)
经常取其平方, 即
∥
X
∥
F
2
=
∑
i
,
j
x
i
j
2
(8)
\Vert \mathbf{X} \Vert_F^2 = \sum_{i, j} x_{ij}^2 \tag{8}
∥X∥F2=i,j∑xij2(8)
这有直接将向量
l
2
l_2
l2 范数进行扩充的意思.
注意: 这里忽略了
i
,
j
i, j
i,j 的范围, 就表示用最大可能范围.
6.2.3 l 2 , 1 l_{2,1} l2,1 范数
对每个行向量求
l
2
l_2
l2 范数, 获得一个列向量. 再对该列向量取
l
1
l_1
l1 范数.
∥
X
∥
2
,
1
=
∑
i
∑
j
x
i
j
2
(9)
\Vert \mathbf{X} \Vert_{2,1} = \sum_{i} \sqrt{\sum_j x_{ij}^2} \tag{9}
∥X∥2,1=i∑j∑xij2(9)
注意:
- 这里使用向量范数定义矩阵范数, 而不是直接扩充到矩阵.
-
∥
X
∥
F
2
\Vert \mathbf{X} \Vert_F^2
∥X∥F2 相当于先求行向量的
l
2
l_2
l2 范数平方, 再求列向量的
l
1
l_1
l1 范数, 即:
∥ X ∥ F 2 = ∑ i ∥ x i ∥ 2 2 (10) \Vert \mathbf{X} \Vert_F^2 = \sum_i \Vert \mathbf{x}_i\Vert_2^2 \tag{10} ∥X∥F2=i∑∥xi∥22(10)
6.2.3 实际应用
线性模型经常使用系数矩阵
W
W
W 的
l
2
,
1
l_{2, 1}
l2,1 范数作为正则项.
min
W
∥
X
W
−
Y
∥
F
2
+
λ
∥
W
∥
2
,
1
(11)
\min_{\mathbf{W}} \Vert \mathbf{XW} - \mathbf{Y}\Vert_F^2 + \lambda \Vert \mathbf{W} \Vert_{2, 1} \tag{11}
Wmin∥XW−Y∥F2+λ∥W∥2,1(11)
6.3 作业
自己给定一个向量、一个矩阵并计算其各种范数.