机器学习笔记
第一章 机器学习简介
第二章 感知机
第三章 支持向量机
第四章 朴素贝叶斯分类器
第五章 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, 满足:
- ∥ x ⃗ ∥ ≥ 0 \|\vec{x}\| \geq 0 ∥x∥≥0 ,当且仅当 x ⃗ = 0 \vec{x}=0 x=0 时, ∥ x ⃗ ∥ = 0 \|\vec{x}\|=0 ∥x∥=0 (正定性)
- ∥ k x ⃗ ∥ = ∣ k ∥ x ⃗ ∥ , k \|k \vec{x}\|=\mid k\|\vec{x}\|, k ∥kx∥=∣k∥x∥,k 是任一实数 (齐次性)
- ∥ 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} ∥x∥p=(i=1∑nxip)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}
∥x∥0=0i∑xi0
表示向量
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}
∥x∥1=i=1∑n∣xi∣
ℓ
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|
min∥x∥1=Σi=1n∣xi∣由于
ℓ
1
\ell_1
ℓ1-范数的性质, 对其优化的解是一个稀疏解, 因此
ℓ
1
\ell_1
ℓ1-范数也被叫做稀疏规则算子。
- 在经典的线性回归问题中运用 ℓ 1 \ell_1 ℓ1-范数,也被称为Lasso回归。Lasso回归通过 ℓ 1 \ell_1 ℓ1-范数可以实现特征的稀疏或者说特征选择, ℓ 1 \ell_1 ℓ1-范数会将一些特征的权重压缩到 0,从而实现自动的特征筛选和降维的效果。
- 通过 ℓ 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}
∥x∥2=i=1∑nxi2
表示向量元素的平方和再开平方。
- 同 ℓ 1 \ell_1 ℓ1-范数一样, ℓ 2 \ell_2 ℓ2-范数也常会被用来做优化目标函数的正则化项, ℓ 2 \ell_2 ℓ2-范数正则化会对模型参数的平方和进行惩罚,使得模型的权重趋向于分布在较小的范围内,这样做可以有效避免过于复杂的模型,从而提升模型的泛化能力。
- 在经典的线性回归问题中,加入 ℓ 2 \ell_2 ℓ2-范数的约束,被称为岭回归,可参考文章。
(4)等价范数
这里总结一下常用的向量范数:

事实上, 线性空间 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\| m∥x∥⩽∥x∥′⩽M∥x∥
则称这两种范数是等价的。
- 对于两种等价的范数,同一向量序列有相同的极限. 这在数值代数里面,用不同范数来刻画各种迭代算法收敛性能用上.
下面以无穷范数和二范数为例,证明它们的等价性:
由无穷范数的定义可得: ∥ 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∥∞=1⩽i⩽nmax{∣∣xi∣∣}⩽x12+x22+⋯+xn2=∥x∥2设 ∥ 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∣=1≤i≤nmax{∣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∥∞=∣xj∣⩾nx12+x22+⋯+xn2=n∥x∥2所以, 2- 范数与 ∞ − \infty- ∞− 范数是等价的
二、矩阵范数
矩阵范数有较多的定义,这里介绍几种常见的矩阵范数定义。
(1)Element-wise Norm
类似向量 l p l_p lp范数的定义,Element-wise矩阵范数定义如下:
对 A ∈ R n × m A \in \mathbb{R}^{n \times m} A∈Rn×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}} ∥A∥p=(i=1∑ni=1∑m∣aij∣p)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)=
A1A2⋮Am
mn⇒∥A∥p=∥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}}
∥A∥2=(i=1∑mi=1∑n∣aij∣2)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)}
∥A∥F=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}. ∥A∥F=∥UΣVT∥F=∥Σ∥F=i=1∑nσi2.
(2)Induced Norm
矩阵 A ∈ R n × m A\in\mathbb{R}^{n\times m} A∈Rn×m的诱导范数也被称为算子范数(operator norm),定义如下:
对任意 A ∈ R n × m A\in\mathbb{R}^{n\times m} A∈Rn×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 . ∥A∥p=x∈Rm,x=0sup∥x∥p∥Ax∥p=x∈Rm∥x∥p=1sup∥Ax∥p.
常见的诱导矩阵范数如下:
∥
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}
∥A∥1=1≤j≤mmaxi=1∑n∣aij∣(最大列和)∥A∥2=σ1(A)( 谱范数 ).∥A∥∞=1≤i≤nmaxj=1∑m∣aij∣(最大行和).
(3)ky-Fan Norm
矩阵 A ∈ R n × m A\in\mathbb{R}^{n\times m} A∈Rn×m的ky-Fan范数定义如下:
对任意 A ∈ R n × m A\in\mathbb{R}^{n\times m} A∈Rn×m,其ky-Fan范数为:
∥ A ∥ ( k ) = ∑ i = 1 k σ i \|A\|_{(k)}=\sum_{i=1}^k \sigma_i ∥A∥(k)=i=1∑kσ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}
A∈Rn×m,若
n
⩾
m
n \geqslant m
n⩾m,其核范数为:
∥
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} A∈Rn×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, ∥A∥p=[j=1∑m(σj(A))p]1/p,1≤p<∞,
常见的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}
∥A∥1∥A∥2∥A∥∞=i=1∑mσi(A)(核范数).=i=1∑mδ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} A∈Rm×n,以及任意的酉矩阵 U , V U,V U,V,都有:
∥ U A V T ∥ = ∥ A ∥ \|UAV^T\|=\|A\| ∥UAVT∥=∥A∥
则称 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥是酉不变范数.
满足这个条件的范数有很好的性质,上面介绍的ky-Fan Norm和Schatten norms都是酉不变范数,所以由这两个范数定义导出的各种范数也是酉不变的,比如F-范数.
参考资料
- Horn, Roger A., and Charles R. Johnson. Matrix analysis. Cambridge university press, 2012.