范数、测度和距离.
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} ,记为Bd1rp取不同值的时候,画出的图很有意思
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)
计算代码
上面给出了一些计算的代码,除此之外,还可以用scipyimport scipy.spatial.distance as dist d=dist.pdist(m,metric='jaccard') #'euclidean' #'minkowski' #'cityblock' #...
相关文章推荐
- 一种改进的余弦距离测度
- 模式识别相似性测度距离计算---马氏距离
- 模式相似性测度-距离
- 范数与距离的关系
- 模式识别学习笔记(三)---类间距离测度方法
- 模式识别相似性测度距离计算---夹角余弦和特征二值得夹角余弦
- 范数和距离
- 凸优化中的数学(二)范数,距离,单位球
- 模式识别相似性测度距离计算---tanimoto距离
- 数学学学习之范数和距离的关系
- 范数与距离的关系以及在机器学习中的应用
- 模式识别相似性测度距离计算---几种距离对比
- 向量间的距离和范数到线性空间、赋范空间、內积空间
- 范数与距离的关系
- 范数和距离
- 欧式距离 与 内积 与 范数
- Lp距离, L1范数, 和L2范数
- 范数与距离的关系
- 范数与距离的关系
- 数据挖掘/机器学习 之 距离测度