距离与范式
1、什么是距离?
一维空间中点A和点B之间的距离是两点之间的长度。
从学校东门到北门的距离是绕过障碍物的折线的长度。
空间中的两条直线的距离是最近的两点之间的距离。
函数f(x)与g(x)之间的距离又是什么呢?
距离是一个描述两对等实例之间的远近程度或相似度的抽象性概念描述。当我们要对不同的实例进行定义的时候需要细化这种描述,使之能够准确的描述这种特定的实例。
若空间上有点
A
(
x
1
,
x
2
,
x
3
.
.
.
.
.
x
n
)
A(x_1,x_2,x_3.....x_n)
A(x1,x2,x3.....xn),
B
(
y
1
,
y
2
,
y
3
.
.
.
.
.
y
n
)
B(y_1,y_2,y_3.....y_n)
B(y1,y2,y3.....yn)两点之间的距离可能有一下几种情况:
- d 1 ( x , y ) = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + . . . + ( x n − y n ) 2 d_1(x,y)=\sqrt{(x_1-y_1)^2+(x_2-y_2)^2+...+(x_n-y_n)^2} d1(x,y)=(x1−y1)2+(x2−y2)2+...+(xn−yn)2
- d 2 ( x , y ) = m a x ( ∣ x 1 − y 1 ∣ , ∣ x 2 − y 2 ∣ . . . ∣ x n − y n ∣ ) d_2(x,y)=max(|x_1-y_1|,|x_2-y_2|...|x_n-y_n|) d2(x,y)=max(∣x1−y1∣,∣x2−y2∣...∣xn−yn∣)
- d 3 ( x , y ) = ∣ x 1 − y 1 ∣ + ∣ x 2 − y 2 ∣ + . . . ∣ x n − y n ∣ d_3(x,y)=|x_1-y_1|+|x_2-y_2|+...|x_n-y_n| d3(x,y)=∣x1−y1∣+∣x2−y2∣+...∣xn−yn∣
于是有了距离的定义:设X是一非空集合,任给一对这一集合的元素x,y都给定一个实数d(x,y)与它们对应,并且满足:
(1)
d
(
x
,
y
)
≥
0
;
d
(
x
,
y
)
=
0
⟺
x
=
y
d(x,y)≥0;d(x,y)=0\iff x=y
d(x,y)≥0;d(x,y)=0⟺x=y 距离具有非负性,只有相等的两个实例才可能距离等于0
(2)
d
(
x
,
y
)
=
d
(
y
,
x
)
d(x,y)=d(y,x)
d(x,y)=d(y,x) A到B的距离等于B到A的距离
(3)
d
(
x
,
y
)
≤
d
(
x
,
z
)
+
d
(
z
,
y
)
d(x,y)≤d(x,z)+d(z,y)
d(x,y)≤d(x,z)+d(z,y) A到B的距离加上B到C的距离一定大于等于A到C的距离。
则称d(x,y)是这两点之间的距离。
2、什么是范数
范数(norm)可以看做是几何矢量在一般矢量空间的上的扩展。范数常记做
∣
∣
x
∣
∣
i
||x||_i
∣∣x∣∣i对于向量范数有一下不同定义,代表第i范数:
(1)
∣
∣
x
∣
∣
1
=
∑
i
=
1
n
∣
x
i
∣
||x||_1= \sum_{i=1}^n |x_i|
∣∣x∣∣1=i=1∑n∣xi∣第一范数表示向量中的绝对值和。在机器学习的模型训练中,因为数据库过小可能会造成过拟合问题,表征了非重要的特征值且该模型不具有泛化性。一种解决办法是在模型的损失函数中加入正则项,比如第一范数表示正则项,只要使该数值足够小,就可以使解变成一个稀疏解(解的很多值为0)。而此时的优化目标就称为了:
m
i
n
f
(
x
)
+
∣
∣
x
∣
∣
1
minf(x)+||x||_1
minf(x)+∣∣x∣∣1
(2)
∣
∣
x
∣
∣
2
=
∑
i
=
1
n
x
2
o
r
∣
∣
x
∣
∣
2
=
(
∑
i
=
1
n
x
i
2
)
1
2
||x||_2= \sqrt{\sum_{i=1}^n x^2} or ||x||_2=(\sum_{i=1}^n x_i^2)^\frac 12
∣∣x∣∣2=i=1∑nx2or∣∣x∣∣2=(i=1∑nxi2)21第二范数表示向量的元素平方和
(3)
∣
∣
x
∣
∣
p
=
∑
i
=
1
n
x
p
p
o
r
∣
∣
x
∣
∣
p
=
(
∑
i
=
1
n
x
i
p
)
1
p
||x||_p=\sqrt[p]{\sum_{i=1}^n x^p} or ||x||_p=(\sum_{i=1}^n x_i^p)^\frac 1p
∣∣x∣∣p=pi=1∑nxpor∣∣x∣∣p=(i=1∑nxip)p1
(4)
∣
∣
x
∣
∣
∞
=
m
a
x
∣
x
i
∣
||x||_∞=max|x_i|
∣∣x∣∣∞=max∣xi∣
(5)
∣
∣
x
∣
∣
−
∞
=
m
i
n
∣
x
i
∣
||x||_{-∞}=min|x_i|
∣∣x∣∣−∞=min∣xi∣
(6)
∣
∣
x
∣
∣
0
=
∑
i
=
1
n
x
0
0
||x||_0=\sqrt[0]{\sum_{i=1}^n x^0}
∣∣x∣∣0=0i=1∑nx0第0范数表示向量x中非0元素的个数。在如压缩感知中,常会希望最小向量第0范数,但因为仅表示非0元素的个数,因此被看作NP-hard问题,此类优化问题难以解决,因此实际的压缩感知模型试讲第一范数转化为第一范数的优化问题。
一个标准的第i范数优化问题通常写为如下形式:
m
i
n
∣
∣
x
∣
∣
i
min||x||_i
min∣∣x∣∣i
s
.
t
.
A
x
=
b
s.t.Ax=b
s.t.Ax=b
范数就是在抽象的距离定义上针对不同的情况下的定义,范数是距离而距离不是范数。范数既然是距离,则结果就是一个数例如将不同对象(4,3)的第二范数是5。
import numpy as np
#使用第二范式计算向量x的模长,默认为第二范式
x=np.array([7,1,0])
print(np.linalg.norm(x,ord=2))
#使用两个点之间的欧式距离
a=np.array([2,2,2,2])
b=np.array([1,3,5,6])
print(np.linalg.norm(a-b,ord=2))
2.1 线性空间
线性空间由一个非空集合(元素或向量)和一个数域组成,维系着两种满足要求的运算。如n维向量构成的集合
C
n
C^n
Cn的线性空间称为复向量空间、m×n的复矩阵
C
m
×
n
C^{m×n}
Cm×n构成的线性空间称为矩阵空间、对于属于F上次数小于n的多项式的线性空间称为多项式空间。对于这些常见的连续函数在其对应的线性空间中都可以称为线性空间。设V(F)是线性空间
α
1
、
α
2
、
α
3
.
.
.
α
n
α_1、α_2、α_3...α_n
α1、α2、α3...αn∈V,则
α
1
、
α
2
、
α
3
.
.
.
α
n
α_1、α_2、α_3...α_n
α1、α2、α3...αn为线性空间的基底,n是线性空间的维数,有限维线性空间的基底不唯一,但维数唯一。
在向量空间选定基后,可以刻画任意该维度的向量,举矩阵可以描述对象运动的过程,可以理解为将原始点映射为最终点的线性变换。
2.1.1线性子空间
设W是线性空间V(F)的一个非空子集,如果W对V(F)上的加法和数乘两种运算也构成数域F上的线性空间,则称W为V(F)的一个线性子空间简称子空间。子空间W的维数小于等整个空间V的维数。
2.2赋范空间
在线性空间中定义了范数就称为赋范空间,赋范线性空间都具有度量:
d
(
x
,
y
)
:
=
∣
∣
x
−
y
∣
∣
d(x,y):=||x-y||
d(x,y):=∣∣x−y∣∣所以赋范空间都是度量空间.作为度量空间时完备的赋范空间称为巴拿赫空间(Banach space)。
内积空间(inner product space) 是非常重要的特殊的赋范空间.如果 H 是内积空间,
⟨
⋅
,
⋅
⟩
→
C
⟨⋅,⋅⟩→C
⟨⋅,⋅⟩→C 是其上的内积,则若命
∥
x
∥
=
⟨
x
,
x
⟩
∥x∥=\sqrt{⟨x,x⟩}
∥x∥=⟨x,x⟩,H 便成为一个赋范空间.
3、特殊的向量空间
3.1內积空间
3.1.1內积
內积是一种运算,将两个线性空间的元素映射为一个元素,二元映射为一元。定义任意两个向量的内积(inner product)运算,运算的结果是一个实数或复数。对域 F F F 上的向量空间,定义内积为满足以下条件的二元运算 ⟨ ⋅ ∣ ⋅ ⟩ : V × V → F ⟨⋅|⋅⟩:V×V→F ⟨⋅∣⋅⟩:V×V→F.令向量 u , v ∈ V u,v∈V u,v∈V 以及标量 a , b ∈ F a,b∈F a,b∈F.
- 正定性 ⟨ v ∣ v ⟩ > 0 ( v ≠ 0 ) ⟨v|v⟩>0(v≠0) ⟨v∣v⟩>0(v=0)
- 线性 ⟨ w ∣ a u + b v ⟩ = a ⟨ w ∣ u ⟩ + b ⟨ w ∣ v ⟩ ⟨w|au+bv⟩=a⟨w|u⟩+b⟨w|v⟩ ⟨w∣au+bv⟩=a⟨w∣u⟩+b⟨w∣v⟩
- 交换律 ⟨ u ∣ v ⟩ = ⟨ v ∣ u ⟩ ∗ ⟨u|v⟩=⟨v|u⟩∗ ⟨u∣v⟩=⟨v∣u⟩∗
在物理中,尤其是量子力学中,我们经常会见到狄拉克符号(Dirac notation).矢量空间 X 中,如果使用狄拉克符号,那么其中的元素(矢量)x∈X 可以记为 ∣ x ⟩ |x⟩ ∣x⟩,我们把它叫做右矢(ket).对应地,我们把 X 的对偶空间 X ∗ X^∗ X∗ 中的矢量叫做左矢(bra)1,记为 ⟨ x ∣ ⟨x| ⟨x∣.一般来说2,每个 X∗ 中的每个左矢和 X 中的右矢是一一对应.我们说任意 ∣ x ⟩ |x⟩ ∣x⟩ 和对应的 ⟨ x ∣ ⟨x| ⟨x∣ 互为对偶.
在线性空间中的线性结构可以进行加法和标量乘法的运算,为了计算向量的其他特点如长度和角度在线性空间中引入了內积运算,这样的线性空间称为內积空间,实现对几何空间中的向量的度量。
3.2巴拿赫空间
完备的赋范空间叫做巴拿赫空间(Banach space) 。
3.2.1 完备空间
在数学分析中,完备空间又称完备度量空间或称柯西空间(Cauchy space)。如果一个度量空间中的所有柯西序列都收敛在该空间中的一点,则称该空间为完备空间。
给定某个度量空间 X 中的序列 { x i x_i xi}当满足以下条件时,他就叫做柯西序列(Cauchy sequence).对任意 ε>0存在 N,当 m,n⩾N 时就满足 d ( u m , u n ) < ε d(u_m,u_n)<ε d(um,un)<ε. 也就是说当项数区域无穷大,所有项数之间的距离都趋于0.
意义是任何符合约束的点都包含于这个赋范空间内,且空间内的每一个点都符合约束。“完备” 可以形象理解为空间中没有 “漏洞”。有限维空间都是完备的。可数维空间都是不完备的。例如有理数集和多项式组成的空间就是不完备的(柯西序列的极限可以是 e x e^x ex,但是 e x e^x ex 并不属于该空间。
3.3希尔伯特空间
定义完备的内积空间为希尔伯特空间(Hilbert space)。
约在公元前300年,古希腊数学家欧几里德建立了角和空间中距离之间联系的法则,现称为欧几里德几何。欧几里德首先开发了处理平面上二维物体的“平面几何”,他接着分析三维物体的“立体几何”,所有欧几里德的公理已被编排到叫做二维或三维欧几里德空间的抽象数学空间中。这些数学空间可以被扩展来应用于任何有限维度,而这种空间叫做 n 维欧几里德空间。
在欧几里得空间上做出拓展,有限维线性内积空间称作欧几里得空间,线性完备内积空间称作希尔伯特空间。
4、总结
不同空间具有不同的性质:
- 集合 + 距离 = 度量空间
- 集合 + 线性 = 线性空间
- 线性空间 + 范数 = 赋范线性空间
- 赋范线性空间 + 内积 = 内积空间
- 内积空间 + 完备 = 希尔伯特空间
- 内积空间 + 完备 = 希尔伯特空间
- 赋范线性空间 + 完备 = 巴拿赫空间