文章目录
空间
- 距离空间/度量空间:定义两个点之间的距离【未定义点的长度,因为没有零点】
- 赋范空间:定义了范数的空间【范数定义距离+长度;范数空间一定是距离空间】
- 线性空间:定义了加法和数乘的空间【当知道空间所有基,便可以用加法和数乘表示该空间的所有元素】
- 线性赋范空间:赋范空间+线性结构
- 线性度量空间:线性结构+距离空间/度量空间
- 内积空间=线性赋范空间+内积:定义了内积计算的空间(投影)【内积在范数基础上定义了角度;内积空间一定为赋范空间】
- 欧几里得空间=内积空间+有限维
- 希尔伯特空间=内积空间+完备性【完备性:空间中的元素求极限之后仍在空间里】
- 巴拿赫空间=赋范空间+完备性
- 拓扑:弱化距离的定义,但仍然保留极限和连续的概率
相似度度量
距离度量
闵可夫斯基距离
-
公式
P = ( x 1 , x 2 , . . . . . . x n ) , Q = ( y 1 , y 2 , . . . . . . y n ) P ∈ R n , Q ∈ R n P=(x_1,x_2,......x_n), Q=(y_1,y_2,......y_n) \quad P\isin \mathbb{R^n} , Q\isin \mathbb{R^n} P=(x1,x2,......xn),Q=(y1,y2,......yn)P∈Rn,Q∈Rn
d i s t a n c e ( P , Q ) = ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 p distance(P,Q)=(\sum_{i=1}^{n}|x_i-y_i|^p)^{\frac{1}{p}} distance(P,Q)=(i=1∑n∣xi−yi∣p)p1
-
优点:直观
-
缺点:与数据的分布无关,具有一定的局限性
- 如,x方向上的幅值远大于y,会过于放大x维度的作用
- 解决:(1)数据各个维度 x 1 , x 2 , . . . . . . x n x_1,x_2,......x_n x1,x2,......xn不相关,但幅度相差大,采用z-transform,即减均值除方差
- (2)数据维度互相之间相关(如身高体重),用马氏距离
- 如,x方向上的幅值远大于y,会过于放大x维度的作用
欧几里得距离
闵可夫斯基距离中的 p = 2 p=2 p=2,定义在欧几里得空间里。
d i s t a n c e ( P , Q ) = ( ∑ i = 1 n ∣ x i − y i ∣ 2 ) 1 2 = ∑ i = 1 n ( x i − y i ) 2 distance(P,Q)=(\sum_{i=1}^{n}|x_i-y_i|^2)^{\frac{1}{2}}=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2} distance(P,Q)=(i=1∑n∣xi−yi∣2)21=i=1∑n(xi−yi)2
欧几里得标准距离
-
去掉欧几里得距离里量纲影响
-
加权欧式距离
d i s t a n c e ( P , Q ) = ∑ i = 1 n ( x i − y i s i ) 2 distance(P,Q)=\sqrt{\sum_{i=1}^{n}(\frac{x_i-y_i}{s_i})^2} distance(P,Q)=i=1∑n(sixi−yi)2
曼哈顿距离
闵可夫斯基距离中的 p = 1 p=1 p=1,又称 L 1 − L_1- L1−距离/街道距离。
d i s t a n c e ( P , Q ) = ∑ i = 1 n ∣ x i − y i ∣ distance(P,Q)= \sum_{i=1}^{n}|x_i-y_i| distance(P,Q)=i=1∑n∣xi−yi∣
切比雪夫距离
闵可夫斯基距离中的 p = ∞ p=\infty p=∞,国王走一步能够移动到相邻的8个方格中的任意一个。那么国王从格子 ( x 1 , y 1 ) (x_1,y_1) (x1,y1)走到格子 ( x 2 , y 2 ) (x_2,y_2) (x2,y2)最少需要多少步
d i s t a n c e ( P , Q ) = max i = 1 n ∣ x i − y i ∣ distance(P,Q)=\max_{i=1}^n|x_i-y_i| distance(P,Q)=i=1maxn∣xi−yi∣
马氏距离
-
原理:利用cholesky分解原理消除维度之间的相关性和尺度不同的性质。假设样本点(列向量)之间的协方差矩阵为 ∑ \sum ∑ ,通过cholesky分解(因为协方差矩阵对称且正定)可以得到 ∑ = L L T \sum=LL^T ∑=LLT。
-
通过对单个样本点做如下处理: z = L − 1 ( x − u ) z=L^{-1}(x-u) z=L−1(x−u),处理之后的欧几里得距离就是原样本的马氏距离。
-
假设有m个样本,记为 x 1 , x 2 , . . . x m x_1,x_2,...x_m x1,x2,...xm,协方差记为 ∑ \sum ∑ (对称正定),均值向量记为 u u u,则样本x到u的马氏距离的平方为:
( d i s t a n c e ( P , Q ) ) 2 = z T z = ( L − 1 ( x − u ) ) T ( L − 1 ( x − u ) ) = ( x − u ) T ( L L T ) − 1 ( x − u ) = ( x − u ) T ∑ − 1 ( x − u ) (distance(P,Q))^2=z^Tz=(L^{-1}(x-u))^T(L^{-1}(x-u))=(x-u)^T(LL^T)^{-1}(x-u)=(x-u)^T{\sum}^{-1}(x-u) (distance(P,Q))2=zTz=(L−1(x−u))T(L−1(x−u))=(x−u)T(LLT)−1(x−u)=(x−u)T∑−1(x−u)
-
样本 x i x_i xi和样本 x j x_j xj的距离为:
( d i s t a n c e ( x i , x j ) ) 2 = ( x i − x j ) T ∑ − 1 ( x i − x j ) (distance(x_i,x_j))^2=(x_i-x_j)^T{\sum}^{-1}(x_i-x_j) (distance(xi,xj))2=(xi−xj)T∑−1(xi−xj)
-
若协方差矩阵为单位阵【欧式距离】
( d i s t a n c e ( x i , x j ) ) 2 = ( x i − x j ) T ( x i − x j ) (distance(x_i,x_j))^2=(x_i-x_j)^T(x_i-x_j) (distance(xi,xj))2=(xi−xj)T(xi−xj)
-
若协方差矩阵为对角阵【标准欧式距离】
-
优点:排除量纲和变量相关性的干扰
汉明距离(分类样本点之间的距离)
- 两个等长字符串s1与s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。衡量字符串的相似度。
- 应用:信息编码(为了增强容错性,应使得编码间的最小汉明距离尽可能大)
编辑距离(DP求解)
- 编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离求的是最少编辑次数。
相似系数
余弦相似度
-
几何中夹角余弦可用来衡量两个向量方向(夹角)的差异,机器学习中借用这一概念来衡量样本向量之间的差异,与向量的幅值无关,只与向量方向相关。
-
两样本 x = ( x 1 , x 2 , . . . . . . x n ) , y = ( y 1 , y 2 , . . . . . . y n ) x ∈ R n , y ∈ R n x=(x_1,x_2,......x_n), y=(y_1,y_2,......y_n) \quad x\isin \mathbb{R^n} ,y\isin \mathbb{R^n} x=(x1,x2,......xn),y=(y1,y2,......yn)x∈Rn,y∈Rn的余弦相似度为
C o s S i m ( x , y ) = ∑ i x i y i ∑ i ( x i ) 2 ∑ i ( y i ) 2 = x T y ∣ ∣ x ∣ ∣ ∣ ∣ y ∣ ∣ CosSim(x,y)=\frac{\sum_ix_iy_i}{\sqrt{\sum_i(x_i)^2}\sqrt{\sum_i(y_i)^2}}=\frac{x^Ty}{||x||||y||} CosSim(x,y)=∑i(xi)2∑i(yi)2∑ixiyi=∣∣x∣∣∣∣y∣∣xTy
-
应用:文档相似度(TF-IDF)和图片相似度(histogram),词向量计算词语相似度
-
受到向量平移的影响,如将x平移到x+1
皮尔逊相关系数(相关系数)
-
皮尔逊相关系数具有平移不变性和尺度不变性质,度量两个向量(维度)的相关性。
-
对于两个样本 x , y x,y x,y而言,则度量了样本点分布的相关性。
C o r r ( x , y ) = ∑ i ( x i − x ˉ ) ( y i − y ˉ ) ∑ i ( x i − x ˉ ) 2 ∑ i ( y i − y ˉ ) 2 = < x − x ˉ , y − y ˉ > ∣ ∣ x − x ˉ ∣ ∣ ∣ ∣ y i − y ˉ ∣ ∣ = C o s S i m ( x − x ˉ ) ( y − y ˉ ) Corr(x,y)=\frac{\sum_i(x_i-\bar x)(y_i-\bar y)}{\sqrt{\sum_i(x_i-\bar x)^2}\sqrt{\sum_i(y_i-\bar y)^2}}=\frac{<x-\bar x, y-\bar y>}{||x-\bar x||||y_i-\bar y||}=CosSim(x-\bar x)(y-\bar y) Corr(x,y)=∑i(xi−xˉ)2∑i(yi−yˉ)2∑i(xi−xˉ)(yi−yˉ)=∣∣x−xˉ∣∣∣∣yi−yˉ∣∣<x−xˉ,y−yˉ>=CosSim(x−xˉ)(y−yˉ)
-
适用范围:(1)两个变量之间是线性关系,且连续;(2)两个变量的总体是正态分布,或接近正态的单峰分布;(3)两个变量的观测值是成对的,每对观测值之间相互独立。
-
应用:推荐系统中根据为某一用户查找喜好相似的用户,进而推荐。优点:可以不受每个用户评分标准和观看数量不一样的影响。
杰卡德相似系数
-
在一些情况下,某些特定的值相等并不能代表什么(对比汉明距离)。比如,用 1 表示用户看过该电影,用 0 表示用户没有看过,那么用户看电影的的信息就可用 0,1 表示成一个序列。电影基数非常庞大,用户看过的电影只占其中非常小的一部分,如果两个用户都没有看过某一部电影(两个都是 0),并不能说明两者相似。如果两个用户都看过某一部电影(序列中都是 1),则说明用户有很大的相似度。在这个例子中,序列中等于 1 所占的权重应该远远大于 0 的权重,这就引出下面要说的杰卡德相似系数。
-
杰卡德相似度用于衡量两个集合A,B的相似度
J ( A , B ) = A ∪ B A ∩ B J(A,B)=\frac{A \cup B}{A\cap B} J(A,B)=A∩BA∪B
-
应用:
-
推荐系统中用 M11 表示两个用户都看过的电影数目,M10 表示用户 A 看过,用户 B 没看过的电影数目,M01 表示用户 A 没看过,用户 B 看过的电影数目,M00 表示两个用户都没有看过的电影数目。Jaccard 相似性系数可以表示为:
J ( A , B ) = M 11 M 11 + M 10 + M 01 J(A,B) = \frac{M11}{M11+M10+M01} J(A,B)=M11+M10+M01M11
-
分类数据点的距离。如果分类数值点是用树形结构来表示的,它们的相似性可以用相同路径的长度来表示,比如,“/product/spot/ballgame/basketball” 离“product/spot/ballgame/soccer/shoes” 的距离小于到 “/product/luxury/handbags” 的距离,以为前者相同父节点路径更长。
-
概率分布相似度
相对熵(KL散度)
信息熵、交叉熵、相对熵(KL散度)
熵
- 衡量无序性,越无序,熵越大
信息熵
-
自信息:事件$ {X=x} $所携带的信息量,与频率成反比,独立可加。
I ( X = x ) = − l o g ( p ( x ) ) I(X=x)=-log(p(x)) I(X=x)=−log(p(x))
-
香农熵(信息熵):事件自信息只是处理单个输出,用香农熵(Shannon entropy)来衡量整个概率分布P的不确定性总量进行量化,,一个分布的香农熵是指遵循这个分布的事件所产生的期望信息总量(衡量分布所携带的信息量):
H ( Q ) = − E x ∼ P [ l o g Q ( x ) ] = − ∑ i q ( x ) l o g ( q ( x ) ) H(Q)=-E_{x\sim P}[logQ(x)]=-\sum_iq(x)log(q(x)) H(Q)=−Ex∼P[logQ(x)]=−i∑q(x)log(q(x))
交叉熵
-
交叉熵:用猜测的分布P描述真实分布Q时的信息量
H P ( Q ) = − ∑ i q ( x ) l o g ( p ( x ) ) H_P(Q)=-\sum_iq(x)log(p(x)) HP(Q)=−i∑q(x)log(p(x))
相对熵(KL散度)
-
KL散度衡量两个分布的距离,KL(P||Q)衡量分布P和分布Q的不同。KL(P||Q)散度也是用P衡量Q时的相对熵
K L ( P ∣ ∣ Q ) = H P Q − H ( Q ) KL(P||Q)=H_PQ-H(Q) KL(P∣∣Q)=HPQ−H(Q)
K L ( P ∣ ∣ Q ) = H P Q − H ( Q ) KL(P||Q)=H_PQ-H(Q) KL(P∣∣Q)=HPQ−H(Q)
K L ( Q ∣ ∣ P ) = H Q P − H ( P ) KL(Q||P)=H_QP-H(P) KL(Q∣∣P)=HQP−H(P)
K L ( P ∣ ∣ Q ) ≠ K L ( P ∣ ∣ Q ) KL(P||Q) \ne KL(P||Q) KL(P∣∣Q)̸=KL(P∣∣Q)
联合信息熵、条件信息熵、互信息(信息增益)
-
交叉熵、KL散度都是衡量一个随机变量不同分布;联合信息熵和条件信息熵是衡量两个随机变量联合分布【一个分布】相互影响的关系。
H ( X ) = ∑ − p ( x ) l o g ( p ( x ) ) H(X)=\sum-p(x)log(p(x)) H(X)=∑−p(x)log(p(x))
H ( Y ) = ∑ − p ( y ) l o g ( p ( y ) ) H(Y)=\sum-p(y)log(p(y)) H(Y)=∑−p(y)log(p(y))
联合信息熵
H ( X , Y ) = ∑ − p ( x , y ) l o g ( p ( x , y ) ) H(X,Y)=\sum -p(x,y)log(p(x,y)) H(X,Y)=∑−p(x,y)log(p(x,y))
条件信息熵
H ( X ∣ Y ) = ∑ p ( y ) ∑ − p ( x ∣ y ) l o g ( p ( x ∣ y ) ) = ∑ − p ( x , y ) l o g ( p ( x ∣ y ) ) H(X|Y)=\sum p(y) \sum -p(x|y)log(p(x|y))=\sum -p(x,y)log(p(x|y)) H(X∣Y)=∑p(y)∑−p(x∣y)log(p(x∣y))=∑−p(x,y)log(p(x∣y))
条 件 信 息 熵 = 联 合 信 息 熵 − 信 息 熵 条件信息熵=联合信息熵-信息熵 条件信息熵=联合信息熵−信息熵
H ( X ∣ Y ) = H ( X , Y ) − H ( Y ) H(X|Y)=H(X,Y)-H(Y) H(X∣Y)=H(X,Y)−H(Y)
H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y|X)=H(X,Y)-H(X) H(Y∣X)=H(X,Y)−H(X)
互信息(信息增益)
-
一个联合分布中两个信息互相影响的那部分信息量
I ( X , Y ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X,Y)=H(X)+H(Y)-H(X,Y) I(X,Y)=H(X)+H(Y)−H(X,Y)
卡方检验
- H 0 H_0 H0:总体X的分布函数为 F ( x ) F(x) F(x).如果总体分布为离散型,则假设具体为 H 0 H_0 H0:总体X的分布律为$