向量范数
范数(模)(英语:norm), 是具有「长度」概念的函数. 在线性代数、泛函分析及相关的数学领域, 是一个函数, 其为..向量空间..内的所有向量赋予非零的正长度或大小.
假设 V 是数域 F 上的向量空间, V 的范数是一个函数 p:V→R, 对于 ∀a∈F,∀,u,v∈V, 满足
- 正定性: p(v)≥0, 当且仅当 v=0 时, p(v)=0
- 齐次性: p(av)=∣a∣p(v)
- 三角不等式: p(u+v)≤p(u)+p(v)
p−范数
对于向量 x=[x1,x2,…,xn], 定义 p− 范数为
\begin{equation}
\displaystyle
\lVert \mathrm{x} \rVert_p := \biggl( \sum_{i=1}^n |x_i|^p \biggr)^{1/p}
\label{eq:eqp}
\end{equation}
其中 p∈[1,+∞).
范数在几何意义下, 可以看作是「距离」. 以 2 维平面为例, 在式 (\ref{eq:eqp}) 定义的距离下, 分别取 p=0.25,0.5,1,2,4, 画以原点为圆心的“单位圆” (unit ball)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # python3
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(num=1, dpi=150)
r = 1
linestyle = ['b-','k-','m-','r-','y-']
p_values = (0.25, 0.5, 1, 2, 4)
for i,p in enumerate(p_values):
x = np.arange(-r,r+1e-5,1/360.0)
y = (r**p - (abs(x)**p))**(1.0/p)
y = list(zip(y, -y))
plt.plot(x, y, linestyle[i])
axs = plt.gca()
axs.set_aspect('equal', 'box')
plt.savefig('images/norm.svg', bbox_inches='tight')
plt.show()
|
$\lVert \mathrm{x} \rVert_p = 1$, p = 0.25, 0.5, 1, 2, 4不同的 p 值, “单位球”的形状是不一样的. p 值越大, 越往外扩. 当 p≥1 时, 图形都是凸集. p<1 则不是凸集, 此时不满足「三角不等式」
常用 p−范数
以式 (\ref{eq:eqp}) 为基础, 最常用的范数有三个
Vector Norm- 1−范数
取 p=1
\begin{equation}
\displaystyle
\lVert \mathrm{x} \rVert_1 = \sum_{i=1}^n |x_i|
\end{equation}
也叫绝对值范数. - 2−范数
取 p=2
\begin{equation}
\displaystyle
\lVert \mathrm{x} \rVert_2 = \sqrt{\sum_{i=1}^n |x_i|^2}
\end{equation}
这是最常见的欧几里德范数, 也叫作 L2 范数. 写成矩阵的形式: ∥x∥2=xTx - ∞−范数
令 p=+∞ 并取极限
\begin{equation}
\displaystyle
\lVert \mathrm{x} \rVert_{\infty} = \max |x_i|
\end{equation}
取 v=[1,2,3]T, 计算向量p−范数并填入下表
| 名称 | 符号 | 取值 | 近似值 |
|---|
| L1 norm | ∥v∥1 | 6 | 6.000 |
| L2 norm | ∥v∥2 | 14 | 3.742 |
| L3 norm | ∥v∥3 | 62/3 | 3.302 |
| L4 norm | ∥v∥4 | 21/47 | 3.146 |
| L∞ norm | ∥v∥∞ | 3 | 3.000 |
可以看出, 向量 p−范数随着 p 值的增加而减小
S−范数
\begin{equation}
\displaystyle
\lVert \mathrm{v} \rVert_{\boldsymbol{S}} = \sqrt{\mathrm{v}^\mathsf{T} \boldsymbol{S} \mathrm{v}}
\end{equation}
S 是对称正定矩阵.
考虑 v∈R2 并假设 S=[1/4001/9]
∥v∥S=[v1,v2]1/4001/9v1v2=4v12+9v22=1
unit ellipsoid最小逼近问题
xmin∥Ax−b∥p不同的 p 值, 对应不同的最小逼近问题. 当 p=2 时, 是熟悉的最小二乘问题.
二维情况下, 设 A=[2,3],x=[x,y]T,b=2. 则
xmin∥Ax−b∥p=xmin∥2x+3y−2∥p在 L1,L2,L∞ 下解是不同的.
最小逼近
矩阵范数
那么矩阵 A 的..大小..应如何来..度量..呢?
F 范数
因为矩阵是由列(行)向量组成, 所以仿照向量范数, 首先可以定义度量「矩阵长度」的 Frobenius 范数, 简称 F 范数, 记为 ∥A∥F. 假设 A 是 m×n 阶矩阵, 则 Frobenius 范数定义为:
∥A∥F=∥α1∥2+⋯+∥αn∥2=i=1∑m∣ai1∣2+⋯+i=1∑m∣ain∣2=j=1∑ni=1∑m∣aij∣2=trace(ATA)另外, F 范数还和奇异值有关系. 如果已知秩为 r 的矩阵 A 及其奇异值, σ1≥⋯≥σr>0, σr+1=⋯=σp=0,p=min{m,n}, 那么
\begin{equation}
\lVert \boldsymbol{A} \rVert_F = \sqrt{\sum_{i=1}^r \sigma_i^2}
\label{eq:eqf}
\end{equation}
证明:
首先假设 Q 是正交矩阵, 那么成立
$$
\begin{cases}
\lVert \boldsymbol{Q} \boldsymbol{A} \rVert_F^2 = \mathrm{trace}\bigl((\boldsymbol{Q} \boldsymbol{A})^\mathsf{T}\boldsymbol{Q} \boldsymbol{A}\bigr) = \mathrm{trace}\bigl(\boldsymbol{A}^\mathsf{T} \boldsymbol{Q}^\mathsf{T} \boldsymbol{Q} \boldsymbol{A}\bigr) = \mathrm{trace}(\boldsymbol{A}^{\mathsf T}\boldsymbol{A}) = \lVert \boldsymbol{A} \rVert_F^2
\\[3pt]
\lVert \boldsymbol{A} \boldsymbol{Q} \rVert_F^2 = \mathrm{trace}\bigl(\boldsymbol{A} \boldsymbol{Q} (\boldsymbol{A} \boldsymbol{Q})^\mathsf{T}\bigr) = \mathrm{trace}\bigl(\boldsymbol{A} \boldsymbol{Q} \boldsymbol{Q}^\mathsf{T}\boldsymbol{A}^\mathsf{T} \bigr) = \mathrm{trace}(\boldsymbol{A}\boldsymbol{A}^\mathsf{T}) = \lVert \boldsymbol{A} \rVert_F^2
\end{cases}
$$
即矩阵范数有「正交不变性」
所以针对矩阵的奇异值分解 A=UΣVT, 成立
∥A∥F=∥Σ∥F=i=1∑rσi2$\blacksquare$
矩阵范数的性质
首先, 矩阵是多维向量, 所以容易验证, 矩阵范数同样满足: 正定性, 齐次性, 三角不等式
正因为矩阵是增加了维度的向量, 所以还有向量所没有的性质 — 矩阵可以表示「线性变换」在维度合适(可乘)时, 矩阵可以乘向量 Ax, 得到的..像.. Ax 与..原像.. x 有如下关系
$$
\displaystyle
\begin{aligned}
\lVert \boldsymbol{A}\mathrm{x} \rVert^2 & = \lVert x_1 \alpha_1 + \cdots + x_n \alpha_n \rVert^2
\\[3pt]
& \leq \bigl( \lVert x_1 \alpha_1 \rVert + \cdots + \lVert x_n \alpha_n \bigr)^2
\\[3pt]
& = \bigl(|x_1| \cdot \lVert \alpha_1 \rVert + \cdots + |x_n| \cdot \lVert \alpha_n\bigr)^2
\end{aligned}
$$
利用 Cauchy 不等式, 可得
$$
\displaystyle
\begin{aligned}
\bigl(|x_1| \cdot \lVert \alpha_1 \rVert + \cdots + |x_n| \cdot \lVert \alpha_n\bigr)^2 & \leq (\lVert \alpha_1 \rVert^2 + \cdots + \lVert \alpha_n \rVert^2)(|x_1|^2 + \cdots + |x_n|^2)
\\[3pt]
& = \lVert \boldsymbol{A} \rVert_F^2 \lVert \mathrm{x} \rVert^2
\end{aligned}
$$
即 ∥Ax∥≤∥A∥F∥x∥. 若将向量 x 换作 n×p 阶矩阵 B,情况又如何呢?
$$
\displaystyle
\begin{aligned}
\lVert \boldsymbol{A}\boldsymbol{B} \rVert_F^2 & = \bigl\lVert \bigl[ \boldsymbol{A} \beta_1 \cdots \boldsymbol{A} \beta_p \bigr] \bigr\rVert_F^2
\\[3pt]
& = \lVert \boldsymbol{A} \beta_1 \rVert_F^2 + \cdots + \lVert \boldsymbol{A} \beta_p \rVert_F^2
\\[3pt]
& \leq \lVert \boldsymbol{A} \rVert_F^2 \lVert \beta_1 \rVert^2 + \cdots + \lVert \boldsymbol{A} \rVert_F^2 \lVert \beta_p \rVert^2
\\[3pt]
& = \lVert \boldsymbol{A} \rVert_F^2 ( \lVert \beta_1 \rVert^2 + \cdots + \lVert \beta_p \rVert^2)
\\[3pt]
& = \lVert \boldsymbol{A} \rVert_F^2\lVert \boldsymbol{B} \rVert_F^2
\end{aligned}
$$
即 ∥AB∥F≤∥A∥F∥B∥F. 综合之前的 3 条性质, 可总结为
矩阵范数的性质
- ∥A∥≥0, 当且仅当 A=0 等号成立.
- ∥cA∥=∣c∣∥A∥
- ∥A+B∥≤∥A∥+∥B∥
- ∥AB∥≤∥A∥∥B∥
与向量范数相同, 矩阵范数也不唯一. 甚至利用性质 4, 可以导出更重要的范数.
矩阵 2−范数
当矩阵 B 退化为向量 x 时, ∥Ax∥≤∥A∥∥x∥
, 如果 x=0, 就有
\begin{equation}
\displaystyle
\lVert \boldsymbol{A} \rVert \geq \frac{\lVert \boldsymbol{A}\mathrm{x} \rVert}{\lVert \mathrm{x} \rVert}
\label{eq:eq20}
\end{equation}
当式 (\ref{eq:eq20}) 右端取向量 2−范数时, 可以定义矩阵 2−范数
\begin{equation}
\displaystyle
\lVert \boldsymbol{A} \rVert_2 = \max_{x\neq 0} \frac{\lVert \boldsymbol{A}\mathrm{x} \rVert_2}{\lVert \mathrm{x} \rVert_2}
\label{eq:eqm2}
\end{equation}
因为是由向量的欧氏距离所决定, 所以对应地称为矩阵的 2−范数. 其几何意义是: 限制了原像的「伸缩」
那如何计算∥A∥2 ?
将式 (\ref{eq:eqm2}) 平方
$$
\displaystyle
\begin{aligned}
\lVert \boldsymbol{A} \rVert_2^2 = \max_{x\neq 0} \frac{\lVert \boldsymbol{A}\mathrm{x} \rVert_2^2}{\lVert \mathrm{x} \rVert_2^2} & = \max_{x\neq 0} \frac{\mathrm{x}^{\mathsf{T}}\boldsymbol{A}^{\mathsf{T}}\boldsymbol{A}\mathrm{x}}{\lVert \mathrm{x} \rVert_2^2}
\\[3pt]
& = \max_{x\neq 0} \biggl(\frac{\mathrm{x}}{\lVert \mathrm{x} \rVert_2}\biggr)^{\mathsf{T}} \boldsymbol{A}^{\mathsf{T}}\boldsymbol{A} \frac{\mathrm{x}}{\lVert \mathrm{x} \rVert_2}
\\[3pt]
& = \max_{||\mathrm{y}||_2 = 1} \mathrm{y}^{\mathsf{T}} \boldsymbol{A}^{\mathsf{T}}\boldsymbol{A} \mathrm{y}
\\[3pt]
& = \max_{||\mathrm{x}||_2 = 1} \lVert \boldsymbol{A}\mathrm{x} \rVert_2^2
\end{aligned}
$$
即
$$
\lVert \boldsymbol{A} \rVert_2 = \max_{||\mathrm{x}||_2 = 1} \sqrt{ \mathrm{x}^{\mathsf{T}} \boldsymbol{A}^{\mathsf{T}}\boldsymbol{A} \mathrm{x}} = \max_{||\mathrm{x}||_2 = 1} \lVert \boldsymbol{A}\mathrm{x} \rVert_2
$$
考虑 Gram 矩阵 ATA 可正交对角化
ATA=VΛVT其中 V 是正交矩阵. 所以
xTATAx=xTVΛVTx=zTΛz其中 z=VTx, 并且满足
∥z∥2=zTz=xTVVTx=xTx=∥x∥2所以
∥A∥22=∥x∥2=1maxxTATAx=∥z∥2=1maxzTΛz而当 ∥z∥2=1 时
zTΛz=λ1z12+⋯+λnzn2≤λmax(z12+⋯+zn2)=λmax所以
\begin{equation}
\lVert \boldsymbol{A} \rVert_2 = \max_{||\mathrm{z}||_2 = 1} \sqrt{\mathrm{z}^\mathsf{T} \boldsymbol{\Lambda} \mathrm{z}} = \sqrt{\lambda_{\max}} = \sigma_1
\label{eq:eqm21}
\end{equation}
其中, σ1 为矩阵 A 的最大奇异值. 此时, 可以看出 ∥A∥2 与 ∥A∥F 式 (\ref{eq:eqf}) 的不同.
其他矩阵范数
将不同的向量范数代入式 (\ref{eq:eq20}), 得到相应的矩阵范数.
矩阵 1−范数
∥A∥1=∥x∥1=1max∥Ax∥1对任一 x, ∥x∥1=∑j=1n∣xj∣=1
∥Ax∥1=i=1∑nj=1∑naijxj≤i=1∑nj=1∑n∣aij∣⋅∣xj∣=j=1∑n(∣xj∣i=1∑n∣aij∣)≤(j=1∑n∣xj∣)(1≤j≤nmaxi=1∑n∣aij∣)=1≤j≤nmaxi=1∑n∣aij∣即矩阵的 1−范数为..最大列和..
矩阵 ∞−范数
∥A∥∞=∥x∥∞=1max∥Ax∥∞对任一 x, ∥x∥∞=maxj∣xj∣=1
∥Ax∥∞=1≤i≤nmaxj=1∑naijxj≤1≤i≤nmaxj=1∑n∣aij∣⋅∣xj∣≤1≤i≤nmaxj=1∑n∣aij∣即矩阵的无穷范数为..最大行和..
参考:
- https://mathworld.wolfram.com/VectorNorm.html
- https://mathworld.wolfram.com/MatrixNorm.html
- https://en.wikipedia.org/wiki/Matrix_norm