您的位置:首页 > 其它

范数、测度和距离.

2017-07-13 12:57 120 查看

范数

范数(norm)是一个类似“长度”概念的函数

范数的严格定义如下:

赋范线性空间

若X是数域上的线性空间,泛函∣∣⋅∣∣→R 满足:

(1)正定性:∥x∥≥0,且∥x∥=0⇔x=0;

(2)正齐次性:∥cx∥=|c|∥x∥ ;

(3)次可加性(三角不等式):∥x+y∥≤∥x∥+∥y∥ 。

那么,∥⋅∥称为X上的一个范数。

向量的p-范数

p-范数是范数的一种,是比较常用的一类距离的度量方法。

需要注意的是,矩阵的p-范数与向量的p-范数是不同的

p-norm ∣∣X∣∣p=(∑i=1N∣xi∣p)1/p

从p-norm可以推导出一些常用的范数(norm)

- 0-norm ∣∣X∣∣0=N,也就是向量的维度

- 1-norm ∣∣X∣∣1=(∑i=1N∣xi∣),也就是X的各个元素绝对值之和

- 2-norm ∣∣x∣∣2=(∑i=1N∣xi∣2)1/2,我们常见的Euclidean范数,或Frobenius范数

- ∞-norm , p-norm中的p求极限,结果是X各个元素绝对值中的中的最大值∣∣x∣∣∞=max∣xi∣

- −∞-norm ,p-norm中的p求极限,结果是X各个元素绝对值中的最小值∣∣x∣∣−∞=min∣xi∣

矩阵的范数

1-norm ∣∣A∣∣1=maxj∑i=1m∣aij∣,列和范数,是矩阵列向量绝对值之和的最大值。

2-norm ∣∣A∣∣2=maxλ1−−√,λ1是ATA的最大特征值。谱范数

∞-norm , ∣∣A∣∣∞=maxi∑j=1m∣aij∣,列和范数,是矩阵列向量绝对值之和的最大值。

F-范数∣∣X∣∣F=(∑i=1m∑i=1n∣aij∣2)1/2Frobenius范数

测度

测度的定义

测度是定义在X∗X上的函数,记为d(x,y)其中x,y∈X,并且满足:

1. d(x,x)=0

2. x≠y时,d(x,y)>0

3. d(x,y)=d(y,x)

4. d(x,y)≤d(x,y)+d(y,z)(三角不等式)

特殊的测度

如果X是F上的一个向量空间,

translation invariant(
平移不变量
):

测度函数附加条件:∀z∈X,d(x,y)=d(x+z)+d(y+z)

齐次性


测度函数附加条件∀a∈F,d(ax,ay)=∣a∣d(x,y)

测度空间的定义

对任意点集X,定义一个测度(X,d)是一个测度空间

测度的性质

如果d(x,y)是一个测度,那么:

1. λ>0,d′(x,y)=λd(x,y)也是一个测度

2. d′(x,y)=d(x,y)1+d(x,y)也是一个测度

测度与范数的区别

测度对应的集合可以是一般的集合,范数对应的集合必须有算术结构

如果d(x,y)是向量空间X上的测度,并且满足
平移不变性
齐次性
,那么这个d(x,0)就是某种范数

反之,如果∣∣x∣∣是范数,那么d(x,y)=∣∣x−y∣∣一定是测度

测度的等价

在集合X上可以定义很多种测度,其中一些测度d1,d2有些相似性。

例如,对于物理距离来说,单位为米或千米,虽然数值不一样,但有很大的相似性,引入
测度定价
这一概念。

Lipschiz equvalent(李普希斯等价) 定义:

测度空间X上两个测度d1,d2李普希斯等价,如果存在正实数λ1,λ2,使得∀x,y∈X ,有:

λ1d1(x,y)≤d2(x,y)≤λ2d1(x,y)

测度的等价,是数学意义上的等价(反身性,对称性,传递性)

定理 :Rn上的各种lp范数都是Lipschiz等价的

收敛性

可以在测度上可以定义收敛性

d(xn,y)→0

拓扑等价

测度球

有一个测度(X,d1),定义测度球为{x∈X∣d(x,0)≤r} ,记为Bd1r

p取不同值的时候,画出的图很有意思

P>1时,测度球是一个凸集

拓扑等价

(topologically equivalent)

空间X上有两种测度d1,d2,

如果∃r1,r2∈R,两者都是r,x的函数,

使得Bd1r1⊂Bd2r⊂Bd1r2

那么d1,d2也是
拓扑等价


命题 如果d1,d2是Lipschiz 等价的,那么也是拓扑等价的。

反之未必,因为拓扑等价中的r1,r2,可以是x的函数,而Lipschiz等价必须是固定的值

距离

闵可夫斯基距离(Minkowski Distance)

欧氏距离(Euclidean Distance)

曼哈顿距离(Manhattan Distance)

切比雪夫距离(Chebyshev Distance)

余弦夹角(Cosine)

汉明距离(Hamming Distance)

杰拉德距离(Jaccard Similarity Coefficient)

闵可夫斯基距离

两个n维变量A=(a1,a2,...,an),B=(b1,b2,...bn)

d=∣∣A−B∣∣p,就是向量的p-norm

当p=1,就是曼哈顿距离

当p=2,就是欧式距离

当p=∞,就是切比雪夫距离

欧式距离

是我们最易于理解的一种距离

曼哈顿距离

想象从在曼哈顿市区的一个地方到另一个地方,只能走南北或东西的道路,那么所走的实际距离就是曼哈顿距离

代码实现:

import numpy as np
a1=np.linalg.norm([1,2,3],ord=-np.inf)
a2=np.linalg.norm([1,2,3],ord=np.inf)
a3=np.linalg.norm([1,2,3],ord=2)
a4=np.linalg.norm([1,2,3,1],ord=0)
a1,a2,a3,a4


夹角余弦

几何上夹角的余弦,特点是与量无关,与方向有关,机器学习也有用途。

cosθ=AB∣A∣∣B∣

numpy中没找到直接能实现的函数,所以这么做:

a=np.array([1,2,3])
b=np.array([4,5,6])
np.dot(a,b)/np.linalg.norm(a)/np.linalg.norm(b)


汉明距离

定义:

两个等长度字符串s1和s2之间的汉明距离,定义为s1变成s2所需要的最小替换次数。例如1111,1001的汉明距离为2

用途:

信息编码,为了增强容错性,所用编码的最小汉明距离要尽可能大

代码实现:

a=np.random.randint(low=0,high=2,size=(1,10))
b=np.random.randint(low=0,high=2,size=(1,10))
d=np.sum((a-b!=0))


杰卡德相似系数

杰卡德相似系数,定义为两个集合的交集在并集中所占比例

J(A,B)=∣A∩B∣∣A∪B∣

杰卡德距离是一个类似的概念

Jδ(A,B)=1−J(A,B)

Python实现:

a=np.array([1,1,0,1,0])
b=np.array([0,1,1,0,0])
1-np.sum(a&b)/np.sum(a|b)


计算代码

上面给出了一些计算的代码,除此之外,还可以用scipy

import scipy.spatial.distance as dist
d=dist.pdist(m,metric='jaccard')
#'euclidean'
#'minkowski'
#'cityblock'
#...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: