什么是范数【向量范数、矩阵范数】

机器学习笔记

第一章 机器学习简介
第二章 感知机
第三章 支持向量机
第四章 朴素贝叶斯分类器
第五章 Logistic回归
第六章 线性回归和岭回归
第七章 多层感知机与反向传播【Python实例】
第八章 主成分分析【PCA降维】
第九章 隐马尔可夫模型
第十章 奇异值分解
第十一章 熵、交叉熵、KL散度
第十二章 什么是范数【向量范数、矩阵范数】
第十三章 极大似然估计、最大后验估计、贝叶斯估计
第十四章 高斯过程回归模型



一、定义

范数,在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度大小。范数事实上就是线性空间上定义的一类函数,这类函数需要满足三条性质,具体定义如下:

X \mathcal{X} X是给定的线性空间,向量范数 ∥ ⋅ ∥ \|\cdot\| 是定义在 X \mathcal{X} X上的实值函数, 对 X \mathcal{X} X中的任意向量 x ⃗ \vec{x} x y ⃗ \vec{y} y , 满足:

  1. ∥ x ⃗ ∥ ≥ 0 \|\vec{x}\| \geq 0 x 0 ,当且仅当 x ⃗ = 0 \vec{x}=0 x =0 时, ∥ x ⃗ ∥ = 0 \|\vec{x}\|=0 x =0 (正定性)
  2. ∥ k x ⃗ ∥ = ∣ k ∥ x ⃗ ∥ , k \|k \vec{x}\|=\mid k\|\vec{x}\|, k kx =∣kx ,k 是任一实数 (齐次性)
  3. ∥ x ⃗ + y ⃗ ∥ ≤ ∥ x ⃗ ∥ + ∥ y ⃗ ∥ \|\vec{x}+\vec{y}\| \leq\|\vec{x}\|+\|\vec{y}\| x +y x +y (三角不等式)

二、向量范数

由向量范数的定义,我们可以给出向量 ℓ p \ell_p p-范数的定义:
定义( ℓ p \ell_p p-范数)

若向量 x = [ x 1 , x 2 , ⋯   , x n ] T \mathrm{x}=[x_1,x_2,\cdots,x_n]^T x=[x1,x2,,xn]T,则其 ℓ p \ell_p p-范数为:
∥ x ∥ p = ( ∑ i = 1 n x i p ) 1 p \begin{equation} \Vert \mathrm{x} \Vert_p=(\sum\limits_{i=1}^{n}{x_i^p})^{\frac{1}{p}} \end{equation} xp=(i=1nxip)p1

(1)L0范数

根据p的取值的变化,可以得到不同的范数, 当 p = 0 p=0 p=0, 我们就有了 l 0 l_0 l0-范数, 即:
∥ x ∥ 0 = ∑ i x i 0 0 \begin{equation} \|\boldsymbol{x}\|_0=\sqrt[0]{\sum_i x_i^0} \end{equation} x0=0ixi0
表示向量 x \boldsymbol{x} x 中非0元素的个数 。在诸多机器学习模型中,比如多任务学习中的行稀疏问题 , 我们很多时候希望最小化向量的 ℓ 0 \ell_0 0-范数。然而, 由于 ℓ 0 \ell_0 0-范数仅仅表示向量中非0元素的个数, , 这个优化模型在数学上被认为是一个 NP-hard问题,即直接求解它很复杂。正是由于该类优化问题难以求解, 因此,很多时候是将 ℓ 0 \ell_0 0-范数最小化问题,转换成 ℓ 1 \ell_1 1-范数最小化问题。

(2)L1范数

当p=1时,可以得到常见的 ℓ 1 \ell_1 1-范数, ℓ 1 \ell_1 1-范数有很多的名字, 例如我们熟悉的曼哈顿距离、最小绝对误差等。它的定义如下:
∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \begin{equation} \|\mathbf{x}\|_1=\sum_{i=1}^n\left|x_i\right| \end{equation} x1=i=1nxi ℓ 1 \ell_1 1-范数表示向量x中非零元素的绝对值之和。对于 ℓ 1 \ell_1 1-范数, 它的优化问题为:
  min ⁡ ∥ x ∥ 1 = Σ i = 1 n ∣ x i ∣ \ \min \|\mathbf{x}\|_1 =\Sigma_{i=1}^n|x_i|  minx1=Σi=1nxi由于 ℓ 1 \ell_1 1-范数的性质, 对其优化的解是一个稀疏解, 因此 ℓ 1 \ell_1 1-范数也被叫做稀疏规则算子。

  1. 在经典的线性回归问题中运用 ℓ 1 \ell_1 1-范数,也被称为Lasso回归。Lasso回归通过 ℓ 1 \ell_1 1-范数可以实现特征的稀疏或者说特征选择, ℓ 1 \ell_1 1-范数会将一些特征的权重压缩到 0,从而实现自动的特征筛选和降维的效果。
  2. 通过 ℓ 1 \ell_1 1-范数的特征选择还可以避免模型的过拟合问题,原因在于它能够减少模型的复杂度,并去除那些对目标变量没有贡献或贡献较小的特征,这样做可以提高模型的泛化能力,从而降低过拟合的风险。

(3)L2范数

当p=2时,可以得到 ℓ 2 \ell_2 2-范数, ℓ 2 \ell_2 2-范数是我们最常见最常用的范数了, 我们用的最多的度量距离欧氏距离就是一种 ℓ 2 \ell_2 2-范数, 它的定义如下:
∥ x ∥ 2 = ∑ i = 1 n x i 2 \begin{equation} \|\mathbf{x}\|_2=\sqrt{\sum_{i=1}^n x_i^2} \end{equation} x2=i=1nxi2
表示向量元素的平方和再开平方。

  1. ℓ 1 \ell_1 1-范数一样, ℓ 2 \ell_2 2-范数也常会被用来做优化目标函数的正则化项, ℓ 2 \ell_2 2-范数正则化会对模型参数的平方和进行惩罚,使得模型的权重趋向于分布在较小的范围内,这样做可以有效避免过于复杂的模型,从而提升模型的泛化能力。
  2. 在经典的线性回归问题中,加入 ℓ 2 \ell_2 2-范数的约束,被称为岭回归可参考文章

(4)等价范数

这里总结一下常用的向量范数:

截屏2022-09-24 14.37.51

事实上, 线性空间 X \mathcal{X} X 中任意两种范数都是等价的

如果 X \mathcal{X} X 中有两个范数 ∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ ′ \|\cdot\| \prime ∥′, 存在实数 m , M > 0 m, M>0 m,M>0, 使得对任意 n n n 维向量 x \boldsymbol{x} x, 都有 :
m ∥ x ∥ ⩽ ∥ x ∥ ′ ⩽ M ∥ x ∥ m\|x\| \leqslant\|x\|^{\prime} \leqslant M\|x\| mxxMx
则称这两种范数是等价的。

  • 对于两种等价的范数,同一向量序列有相同的极限. 这在数值代数里面,用不同范数来刻画各种迭代算法收敛性能用上.

下面以无穷范数和二范数为例,证明它们的等价性:

由无穷范数的定义可得: ∥ x ∥ ∞ = max ⁡ 1 ⩽ i ⩽ n { ∣ ∣ x i ∣ ∣ } ⩽ x 1 2 + x 2 2 + ⋯ + x n 2 = ∥ x ∥ 2 \|\boldsymbol{x}\|_{\infty}=\max _{1 \leqslant i \leqslant n} \left\{|| x_i ||\right\} \leqslant \sqrt{x_1^2+x_2^2+\cdots+x_n^2}=\|\boldsymbol{x}\|_2 x=1inmax{∣∣xi∣∣}x12+x22++xn2 =x2 ∥ x ∥ ∞ = ∣ x j ∣ = max ⁡ 1 ≤ i ≤ n { ∣ x i ∣ } \|\boldsymbol{x}\|_{\infty}=\left|x_j\right|=\max\limits_{1\leq i\leq n}\left\{\left|x_i\right|\right\} x=xj=1inmax{xi}, 则:
∥ x ∥ ∞ = ∣ x j ∣ ⩾ x 1 2 + x 2 2 + ⋯ + x n 2 n = ∥ x ∥ 2 n \|\boldsymbol{x}\|_{\infty}=\left|x_j\right| \geqslant \sqrt{\frac{x_1^2+x_2^2+\cdots+x_n^2}{n}}=\frac{\|\boldsymbol{x}\|_2}{\sqrt{n}} x=xjnx12+x22++xn2 =n x2所以, 2- 范数与 ∞ − \infty- 范数是等价的

二、矩阵范数

矩阵范数有较多的定义,这里介绍几种常见的矩阵范数定义。

(1)Element-wise Norm

类似向量 l p l_p lp范数的定义,Element-wise矩阵范数定义如下:

A ∈ R n × m A \in \mathbb{R}^{n \times m} ARn×m,其 l p l_p lp范数为:
∥ A ∥ p = ( ∑ i = 1 n ∑ i = 1 m ∣ a i j ∣ p ) 1 p \quad\|A\|_p=\left(\sum_{i=1}^n \sum_{i=1}^m\left|a_{i j}\right|^p\right)^{\frac{1}{p}} Ap=(i=1ni=1maijp)p1

事实上,这个也可以看作向量范数的一种,我们将矩阵向量化:
Vec ⁡ ( A ) = [ A 1 A 2 ⋮ A m ] m n ⇒ ∥ A ∥ p = ∥ vec ⁡ ( A ) ∥ p \operatorname{Vec}(A)=\left[\begin{array}{c} A_1 \\ A_2 \\ \vdots \\ A_m \end{array}\right]_{m n} \Rightarrow \|A\|_p=\|\operatorname{vec}(A)\| p \\ Vec(A)= A1A2Am mnAp=vec(A)p
一个常用的矩阵范数是 p = 2 p=2 p=2时,也就是Frobenius范数
∥ A ∥ 2 = ( ∑ i = 1 m ∑ i = 1 n ∣ a i j ∣ 2 ) 1 2 \|A\|_2=\left(\sum_{i=1}^m \sum_{i=1}^n\left|a_{i j}\right|^2\right)^{\frac{1}{2}} A2=(i=1mi=1naij2)21
也常记为 ∥ ⋅ ∥ F \|\cdot\|_F F
∥ A ∥ F = tr ⁡ ( A T A ) = ∑ σ i 2 ( A ) \|A\|_F=\sqrt{\operatorname{tr}\left(A^T A\right)} =\sqrt{\sum \sigma_i^2(A)} AF=tr(ATA) =σi2(A)
第一个等号由迹运算定义可以得到,第二个等号证明如下:

证明:

设矩阵 A A A奇异值分解(详见我的这篇文章)为 A = U Σ V T A=U\Sigma V^T A=UΣVT,结合 ∥ ⋅ ∥ F \|\cdot\|_F F酉不变范数(见第五小节的介绍)可得:
∥ A ∥ F = ∥ U Σ V T ∥ F = ∥ Σ ∥ F = ∑ i = 1 n σ i 2 . \|A\|_F=\|U\Sigma V^T\|_F=\|\Sigma\|_F=\sqrt{\sum_{i=1}^n\sigma_i^2}. AF=UΣVTF=∥ΣF=i=1nσi2 .

(2)Induced Norm

矩阵 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×m的诱导范数也被称为算子范数(operator norm),定义如下:

对任意 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×m,其诱导p范数为:
∥ A ∥ p = sup ⁡ x ∈ R m , x ≠ 0 ∥ A x ∥ p ∥ x ∥ p = sup ⁡ x ∈ R m ∥ x ∥ p = 1 ∥ A x ∥ p . \|A\|_p=\sup _{x \in \mathbb{R}^m,x\neq 0} \frac{\|A x\| p}{\|x\|_p}\\ =\sup _{\substack{x \in \mathbb{R}^m \\ \|x\|_p=1}}\|A x\|_p . Ap=xRm,x=0supxpAxp=xRmxp=1supAxp.

常见的诱导矩阵范数如下:
∥ A ∥ 1 = max ⁡ 1 ≤ j ≤ m ∑ i = 1 n ∣ a i j ∣ ( 最大列和 ) ∥ A ∥ 2 = σ 1 ( A ) (  谱范数  ) . ∥ A ∥ ∞ = max ⁡ 1 ≤ i ≤ n ∑ j = 1 m ∣ a i j ∣ ( 最大行和 ) . \begin{aligned} & \|A\|_1=\max _{1 \leq j \leq m} \sum_{i=1}^n\left|a_{i j}\right| (最大列和)\\ & \|A\|_2=\sigma_1(A)\qquad\quad(\text { 谱范数 }) . \\ & \|A\|_{\infty}=\max _{1 \leq i \leq n} \sum_{j=1}^m\left|a_{i j}\right| (最大行和). \end{aligned} A1=1jmmaxi=1naij(最大列和)A2=σ1(A)( 谱范数 ).A=1inmaxj=1maij(最大行和).
截屏2022-10-26 12.52.48

(3)ky-Fan Norm

矩阵 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×mky-Fan范数定义如下:

对任意 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×m,其ky-Fan范数为:
∥ A ∥ ( k ) = ∑ i = 1 k σ i \|A\|_{(k)}=\sum_{i=1}^k \sigma_i A(k)=i=1kσi
其中 σ i \sigma_i σi A A A的第 i i i大的奇异值( σ 1 ≥ σ 2 ≥ ⋯ ≥ σ min ⁡ { m , n } \sigma_1\geq\sigma_2\geq\cdots\geq \sigma_{\min\{m,n\}} σ1σ2σmin{m,n}).

如何证明这个定义确实是一个范数,第一二条的正定性和齐次性验证都比较简单,对于三角不等式的验证,可以利用优超不等式,具体查阅参考文献1.

k=1时,导出谱范数
∥ A ∥ ( 1 ) = σ 1 ( A ) \|A\|_{(1)}=\sigma_1(A) A(1)=σ1(A)
另一个一个常用的是核范数,对 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×m,若 n ⩾ m n \geqslant m nm,其核范数为:
∥ A ∥ ( m ) = σ 1 + ⋯ + σ m (  核范数  ) . \begin{aligned} \quad\|A\|_{(m)}=\sigma_1+\cdots+\sigma_m \quad(\text { 核范数 }) . \end{aligned} A(m)=σ1++σm( 核范数 ).

(4)Schatten Norms

对任意 A ∈ R n × m A\in\mathbb{R}^{n\times m} ARn×m(设m<n),Schatten p-范数定义为:
∥ A ∥ p = [ ∑ j = 1 m ( σ j ( A ) ) p ] 1 / p , 1 ≤ p < ∞ , \|A\|_p=[\sum_{j=1}^m(\sigma_j(A))^p]^{1/p},\quad1\leq p<\infty, Ap=[j=1m(σj(A))p]1/p,1p<,

常见的Schatten p-范数如下:
∥ A ∥ 1 = ∑ i = 1 m σ i ( A ) ( 核范数 ) . ∥ A ∥ 2 = ∑ i = 1 m δ i 2 ( A ) ( F − 范数 ) . ∥ A ∥ ∞ = σ 1 ( A ) , ( 谱范数 ) . \begin{aligned} \|A\|_1&=\sum_{i=1}^m\sigma_i\left(A\right)\quad\left(\text{核范数}\right).\\ \|A\|_2&=\sqrt{\sum_{i=1}^m\delta_i^2\left(A\right)}\quad\left(F-\text{范数}\right).\\ \|A\|_{\infin}&=\sigma_1\left(A\right)\quad,\left(\text{谱范数}\right).\end{aligned} A1A2A=i=1mσi(A)(核范数).=i=1mδi2(A) (F范数).=σ1(A),(谱范数).
我们可以看到,由不同范数的定义,可以导出相同的范数。

(5)Unitarily invariant Norms

酉不变范数是指:

X \mathcal{X} X上的范数 ∥ ⋅ ∥ \|\cdot\| 如果满足,对任意的 A ∈ R m × n A\in\mathbb{R}^{m\times n} ARm×n,以及任意的酉矩阵 U , V U,V U,V,都有:
∥ U A V T ∥ = ∥ A ∥ \|UAV^T\|=\|A\| UAVT=A
则称 ∥ ⋅ ∥ \|\cdot\| 酉不变范数.

满足这个条件的范数有很好的性质,上面介绍的ky-Fan Norm和Schatten norms都是酉不变范数,所以由这两个范数定义导出的各种范数也是酉不变的,比如F-范数.

参考资料

  1. Horn, Roger A., and Charles R. Johnson. Matrix analysis. Cambridge university press, 2012.
  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值