常用的相似性度量算法

Minkowski距离

Minkowski距离是基于 L p L_p Lp范数定义的,即
L p ( A , B ) = ∣ ∑ i = 1 n ∣ a i − b i ∣ p ∣ 1 p L_p (A,B) = \left| \sum_{i=1}^n |a_i - b_i|^p \right|^\frac{1}{p} Lp(A,B)=i=1naibipp1
如果p=1,那么 L 1 ( A , B ) L_1(A,B) L1(A,B)称为街区距离,表达如下:
L 1 ( A , B ) = ∑ i = 1 n ∣ a i − b i ∣ L_1(A,B) = \sum_{i=1}^n |a_i-b_i| L1(A,B)=i=1naibi
如果p=2,那么 L 2 ( A , B ) L_2(A,B) L2(A,B)称为欧氏距离,即
L 2 ( A , B ) = ( ∑ i = 1 n ∣ a i − b i ∣ 2 ) 1 2 L_2(A,B) = \left( \sum_{i=1}^n|a_i-b_i|^2 \right)^\frac{1}{2} L2(A,B)=(i=1naibi2)21
如果 p = ∞ p=\infty p=, L ∞ ( A , B ) L_\infty(A,B) L(A,B)称之为切比雪夫距离:
L ∞ ( A , B ) = m a x ( ∑ i = 1 n ∣ a i − b i ∣ ) L_\infty (A,B) = max\left( \sum_{i=1}^n |a_i-b_i| \right) L(A,B)=max(i=1naibi)

直方图相交法

直方图相交法具有快速、简单的特点,还有个优点就是它能够有效地抑制背景产生的干扰,直方图相交法的数学表达如下:
d ( A , B ) = 1 − ∑ i = 1 n m i n ( a i , b i ) d(A,B) = 1-\sum_{i=1}^n min(a_i,b_i) d(A,B)=1i=1nmin(ai,bi)
进一步做归一化处理得:
d ( A , B ) = 1 − ∑ i = 1 n m i n ( a i , b i ) m i n ( ∑ i = 1 n a i , ∑ i = 1 n b i ) d(A,B) = 1 - \frac{\sum_{i=1}^n min(a_i,b_i)}{min(\sum_{i=1}^n a_i, \sum_{i=1}^n b_i)} d(A,B)=1min(i=1nai,i=1nbi)i=1nmin(ai,bi)

二次式距离

二次式(quadratic distance)距离被用作基于颜色的直方图的图像进行检索,通过实验证明是行之有效的,这是因为二次式距离将不同颜色之间拥有的相似度纳入考虑范围之内。二次式距离表达如下:
d q a d ( A , B ) = ( A − B ) T M ( A − B ) d_qad(A,B) = (A-B)^T M(A-B) dqad(A,B)=(AB)TM(AB)
式中, M = [ m i j ] M=[m_{ij}] M=[mij], m i j m_{ij} mij表示在直方图中下标为 i i i j j j的两种不同颜色间相似度。

余弦距离

余弦距离计算是不同的两向量间方向上的差异,他的数学描述:
A ⋅ B = A T B = ∣ A ∣ ∣ B ∣ c o s θ A\cdot B = A^T B = |A||B|cos\theta AB=ATB=ABcosθ

d c o s ( A , B ) = 1 − c o s θ = 1 − A T B ∣ A ∣ ⋅ ∣ B ∣ d_{cos}(A,B) = 1 - cos\theta = 1 - \frac{A^T B}{|A|\cdot|B|} dcos(A,B)=1cosθ=1ABATB

式中, ∣ A ∣ = ( A T A ) 1 2 , ∣ B ∣ = ( B T B ) 1 2 |A| = (A^TA)^\frac{1}{2}, |B| = (B^TB)^\frac{1}{2} A=(ATA)21,B=(BTB)21

相关系数

相关系数是表示两个向量之间线性关系紧密程度的量,数学定义如下:
ρ ( A , B ) = ∑ i = 1 n ( a i − a ˉ ) ( b i − b ˉ ) ∑ i = 1 n ( a i − a ˉ ) 2 ∑ i = 1 n ( b i − b ˉ ) 2 \rho(A,B) = \frac{\sum_{i=1}^n(a_i - \bar a)(b_i - \bar b)}{\sqrt{\sum_{i=1}^n(a_i - \bar a)^2 \sum_{i=1}^n}(b_i - \bar b)^2} ρ(A,B)=i=1n(aiaˉ)2i=1n (bibˉ)2i=1n(aiaˉ)(bibˉ)
两不同向量之间的距离为:
d ρ = 1 − ρ ( A , B ) d_\rho = 1 - \rho(A,B) dρ=1ρ(A,B)
式中, a ˉ = 1 n ∑ i = 1 n a i , b ˉ = 1 n ∑ i = 1 n b i \bar a = \frac{1}{n} \sum_{i=1}^n a_i, \bar b = \frac{1}{n} \sum_{i=1}^n b_i aˉ=n1i=1nai,bˉ=n1i=1nbi

Kullback-Leibler散度和Jeffrey散度

Kullback-Leibler和Jeffrey(K-L)散度数学描述如下:
d k l ( A , B ) = ∑ i = 1 n a i l o g a i b i d_{kl}(A,B) = \sum_{i=1}^n a_i log\frac{a_i}{b_i} dkl(A,B)=i=1nailogbiai
式中, a i ≥ 0 a_i \geq 0 ai0, b i ≥ 0 b_i \geq 0 bi0 ,且 ∑ i = 1 n a i = 1 \sum_{i=1}^{n} a_i = 1 i=1nai=1, ∑ i = 1 n b i = 1 \sum_{i=1}^n b_i = 1 i=1nbi=1。K-L散度的弊端是非对称并且对直方图柱值数非常敏感,然而改进后的Jeffrey散度具有对称性且对噪声及直方图柱值数不敏感,他的定义如下:
d r e f ( A , B ) = ∑ i = 1 n [ a i l o g a i m i + b i l o g b i m i ] d_{ref}(A,B) = \sum_{i=1}^n \left[ a_ilog\frac{a_i}{m_i}+b_ilog\frac{b_i}{m_i} \right] dref(A,B)=i=1n[ailogmiai+bilogmibi]
式中, m i = a i + b i 2 m_i = \frac{a_i+b_i}{2} mi=2ai+bi

χ 2 \chi^2 χ2距离

χ 2 \chi^2 χ2距离的定义如下:
d χ 2 ( A , B ) = ∑ i = 1 n ( a i − m i ) 2 m i d_{\chi^2}(A,B) = \sum_{i=1}^n \frac{(a_i - m_i)^2}{m_i} dχ2(A,B)=i=1nmi(aimi)2
式中, m i = a i + b i 2 m_i = \frac{a_i+b_i}{2} mi=2ai+bi

EMD(Earth Mover’s Distance)

EMD指的是空间S中分布着m堆土 p i , i = 1 , . . . , m p_i, i=1,...,m pi,i=1,...,m,每堆土的质量为 w p i w_{p_i} wpi,同时分布有n个土坑,土坑的大小为 q j , j = 1 , . . . , n q_j, j=1,...,n qj,j=1,...,n,每个土坑可以装土的质量为 w q j w_{q_j} wqj,即$p=\Bigg{ (p_1,w_{p_1}),…,(p_m, w_{p_m})\Bigg},q=\Bigg{ (q_1,w_{q_1}),…,(q_m, w_{q_m})\Bigg} $。把所有的土填到这些坑中,一共做的功可以表示为:
w o r k ( p , q , f ) = ∑ i = 1 m ∑ j = 1 n d ( p i , q j ) f i j work(p,q,f) = \sum_{i=1}^m\sum_{j=1}^nd(p_i,q_j)f_{ij} work(p,q,f)=i=1mj=1nd(pi,qj)fij

式中, d ( p i , q j ) d(p_i,q_j) d(pi,qj)第i堆从土到第j个坑之间的距离,为了将图像距离测度与该距离区别开,称该距离为基本距离。 f i j f_{ij} fij表示为将第i堆土运到第j个坑土的质量。 d ( p i , q j ) f i j d(p_i,q_j)f_{ij} d(pi,qj)fij表示把第i堆土中质量为 f i j f_{ij} fij的土运到第j个坑土的质量。 d ( p i , q j ) f i j d(p_i,q_j)f_{ij} d(pi,qj)fij表示把第i堆土中质量为 f i j f_{ij} fij的土运到第j个坑过程中所做的功。

约束条件:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ ① f_{ij}\geq0,…

条件①说明,当每次所运土质量大于零时才开始做工;

条件②说明,从第i堆土运到各个坑土的质量一定不会大于该土的质量;

条件③说明,第j个坑能够接受的土的质量,一定不会大于该坑接受的土的最大质量,

条件④说明,从各堆土运到第j各堆土的质量,一定不会大于该土堆的质量。因此,EMD定义如下:
E M D ( p , q ) = ∑ i = 1 m ∑ j = 1 n d ( p i , q j ) f i j ∑ i = 1 m ∑ j = 1 n f i j EMD(p,q) = \frac{\sum_{i=1}^m\sum_{j=1}^nd(p_i,q_j)f_{ij}}{\sum_{i=1}^m\sum_{j=1}^nf_{ij}} EMD(p,q)=i=1mj=1nfiji=1mj=1nd(pi,qj)fij

编辑距离(Edit Distance)

编辑距离又称为Levenshtein距离,被定义为从一个串换到另一个串的最少插入、删除、替换操作。编辑距离被广泛应用在结构模式识别中。

设A表示有限的字符集和, ϵ \epsilon ϵ表示一个空符号。编辑操作可以表示为 a → b a\rightarrow{b} ab, a → ϵ a\rightarrow{\epsilon} aϵ, ϵ → a \epsilon\rightarrow{a} ϵa,其中 a , b ∈ A , a → B a,b\in{A},a\rightarrow{B} a,bA,aB代表替换操作, a → ϵ a\rightarrow{\epsilon} aϵ代表删除操作, ϵ → a \epsilon\rightarrow{a} ϵa代表插入操作。设 c ( a → b ) , c ( a → ϵ ) , c ( ϵ → a ) c(a\rightarrow{b}),c(a\rightarrow{\epsilon}),c(\epsilon\rightarrow{a}) c(ab),c(aϵ),c(ϵa)分别表示各类操作的代价,设符号 x = x 1 , x 2 , . . . , x n , y = y 1 , y 2 , . . . , y m x=x_1,x_2,...,x_n, y=y_1,y_2,...,y_m x=x1,x2,...,xn,y=y1,y2,...,ym,则它们的编辑距离的计算可分为四个步骤:

step 1 D ( 0 , 0 ) = 0 D(0,0) = 0 D(0,0)=0

step 2 F o r j = 1 , . . . , m For j = 1,...,m Forj=1,...,m

D ( 0 , j ) = D ( 0 , j − 1 ) + c ( ϵ → y i ) D(0,j) = D(0,j-1)+c(\epsilon\rightarrow{y_i}) D(0,j)=D(0,j1)+c(ϵyi)

step 3 F o r j = 1 , . . . , n For j=1,...,n Forj=1,...,n

F o r j = 1 , . . . , m For j=1,...,m Forj=1,...,m
D ( i , j ) = m i n { D ( i − 1 , j − 1 ) + c ( x i → y j ) D ( i − 1 , j ) + c ( x i → ϵ ) D ( i , j − 1 ) + c ( ϵ → y j ) } D(i,j) =min \Bigg\{ \begin{array}{c} D(i-1,j-1)+c(x_i\rightarrow{y_j})\\ D(i-1,j)+c(x_i\rightarrow{\epsilon})\\ D(i,j-1)+c(\epsilon\rightarrow{y_j}) \end{array} \Bigg\} D(i,j)=min{D(i1,j1)+c(xiyj)D(i1,j)+c(xiϵ)D(i,j1)+c(ϵyj)}
从以上的计算步骤可以得出,串 x x x y y y间的编辑距离 d ( x , y ) = D ( n , m ) d(x,y) = D(n,m) d(x,y)=D(n,m)

Hausdorff距离

​ Hausdorff距离是指定义在两个点集上的最大-最小(max-min)距离,该距离主要用于测量两个点集之间的匹配程度,常常被应用于二值图像或轮廓的匹配技术之中。给定两个有限点集 P = ( p 1 , p 2 , . . . , p m ) P=(p_1,p_2,...,p_m) P=(p1,p2,...,pm), Q = ( q 1 , q 2 , . . . , q n ) Q=(q_1,q_2,...,q_n) Q=(q1,q2,...,qn),则P和Q之间的Hausdorff距离定义为:
D ( P , Q ) = m a x { d ( P , Q ) , d ( Q , P ) } D(P,Q) = max\Bigg\{ d(P,Q),d(Q,P) \Bigg\} D(P,Q)=max{d(P,Q),d(Q,P)}
式中 d ( P , Q ) d(P,Q) d(P,Q)为点集P到点集Q的有向Hausdorff距离,d(Q,P)可作类推。
d ( P , Q ) = max ⁡ p ∈ P min ⁡ q ∈ Q ∣ ∣ p − q ∣ ∣ d ( Q , P ) = max ⁡ q ∈ Q min ⁡ p ∈ P ∣ ∣ q − p ∣ ∣ d(P,Q) = \max \limits_{p\in{P}} \min \limits_{q\in{Q}}||p-q||\\ d(Q,P) = \max \limits_{q\in{Q}} \min \limits_{p\in{P}}||q-p|| d(P,Q)=pPmaxqQminpqd(Q,P)=qQmaxpPminqp
上式的 ∣ ∣ ⋅ ∣ ∣ ||\cdot|| 表示定义在集合上的一种距离范数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值