马氏距离是一种可以消除单位影响的距离评价方法,可以忽略量纲对距离两点之间距离的影响。
在此将列举简单一个例子对文字性描述进行一个运算。
x | y |
---|---|
5 | 10 |
4 | 6 |
3 | 11 |
设 x = ( x 1 , x 2 , . . . , x n ) 、 y = ( y 1 , y 2 , . . . , y n ) x=(x_1,x_2,...,x_n)、y=(y_1,y_2,...,y_n) x=(x1,x2,...,xn)、y=(y1,y2,...,yn),求解 x ˉ = x 1 + x 2 + , . . . , x n n 、 y ˉ = y 1 + y 2 , . . . , y + n n \bar x=\frac{x_1+x_2+,...,x_n}{n}、\bar y=\frac{y_1+y_2,...,y+n}{n} xˉ=nx1+x2+,...,xn、yˉ=ny1+y2,...,y+n。计算出 x , y x,y x,y的均值。
x = ( 5 , 4 , 3 ) 、 y = ( 10 , 6 , 11 ) n = 3 x=(5,4,3)、y=(10,6,11)\quad n=3 x=(5,4,3)、y=(10,6,11)n=3
x ˉ = 4 , y ˉ = 9 \bar x=4,\bar y=9 xˉ=4,yˉ=9
样本减去均值可以得到一个去中心化的矩阵 X X X
X = ( 1 1 0 − 3 − 1 2 ) X=\begin{pmatrix} 1 & 1\\ 0 & -3\\ -1 &2 \end{pmatrix} X=⎝⎛10−11−32⎠⎞
c o v ( X ) = S = 1 m − 1 s T s cov(X)=S=\frac{1}{m-1}s^Ts cov(X)=S=m−11sTs这里参照基本协方差矩阵的求解方法。
c 1 = ( 1 , 0 , − 1 ) c 2 = ( 1 , − 3 , 2 ) c_1=(1,0,-1)\quad c_2=(1,-3,2) c1=(1,0,−1)c2=(1,−3,2)
c ˉ 1 = 0 c ˉ 2 = 0 m = 3 s = ( 1 1 0 − 3 − 1 2 ) \bar c_1=0 \quad \bar c_2=0 \quad m=3\\ s=\begin{pmatrix} 1 & 1\\ 0 & -3\\ -1 &2 \end{pmatrix} cˉ1=0cˉ2=0m=3s=⎝⎛10−11−32⎠⎞
在本例子中s与原来的 X X X没有发生改变。
S = 1 3 − 1 ( 1 0 − 1 1 − 3 2 ) ( 1 1 0 − 3 − 1 2 ) = ( 1 − 0.5 − 0.5 7 ) S=\frac{1}{3-1}\begin{pmatrix} 1 & 0 & -1\\ 1 & -3 & 2 \end{pmatrix}\begin{pmatrix} 1 & 1\\ 0 & -3\\ -1 &2 \end{pmatrix}=\begin{pmatrix} 1 & -0.5\\ -0.5 & 7\\ \end{pmatrix} S=3−11(110−3−12)⎝⎛10−11−32⎠⎞=(1−0.5−0.57)
求解具体两个点之间的马氏距离,直接带入以下两个点即可。
基本计算公式如下:
d ( x , y ) = ( x − y ) T S − 1 ( x − y ) d(x, y)=\sqrt{(x-y)^{T} S^{-1}(x-y)} d(x,y)=(x−y)TS−1(x−y)
S − 1 S^{-1} S−1表示协方差矩阵的逆矩阵。逆矩阵的基本求解在此不再过多描述。