马氏距离的求解

​ 马氏距离是一种可以消除单位影响的距离评价方法,可以忽略量纲对距离两点之间距离的影响。

​ 在此将列举简单一个例子对文字性描述进行一个运算。

x y
5 10
4 6
3 11

1、计算x与y的均值

​ 设x=(x1,x2,...,xn)、y=(y1,y2,...,yn)x=(x_1,x_2,...,x_n)、y=(y_1,y_2,...,y_n)x=(x1,x2,...,xn)y=(y1,y2,...,yn),求解xˉ=x1+x2+,...,xnn、yˉ=y1+y2,...,y+nn\bar x=\frac{x_1+x_2+,...,x_n}{n}、\bar y=\frac{y_1+y_2,...,y+n}{n}xˉ=nx1+x2+,...,xnyˉ=ny1+y2,...,y+n。计算出x,yx,yx,y的均值。

x=(5,4,3)、y=(10,6,11)n=3x=(5,4,3)、y=(10,6,11)\quad n=3x=(5,4,3)y=(10,6,11)n=3

xˉ=4,yˉ=9\bar x=4,\bar y=9xˉ=4,yˉ=9

2、计算样本与均值的差

​ 样本减去均值可以得到一个去中心化的矩阵XXX
X=(110−3−12) X=\begin{pmatrix} 1 & 1\\ 0 & -3\\ -1 &2 \end{pmatrix} X=101132

3、计算XXX协方差矩阵

cov(X)=S=1m−1sTscov(X)=S=\frac{1}{m-1}s^Tscov(X)=S=m11sTs这里参照基本协方差矩阵的求解方法。

3.1、协方差矩阵的求法:

  1. 根据前期假设得知XXX是一个n∗2n*2n2的矩阵,取每一列为单独的变量,因此得到c1c_1c1为去中心化后的x,c2c_2c2为去中心化后的y。

c1=(1,0,−1)c2=(1,−3,2) c_1=(1,0,-1)\quad c_2=(1,-3,2) c1=(1,0,1)c2=(1,3,2)

  1. 对每一列的变量求和取均值得cˉ1、cˉ2\bar c_1、\bar c_2cˉ1cˉ2,再将每一列减去对应的均值得到sss矩阵,因为这里是按照每列为一个单独的变量,所以m为矩阵的行数m=n。

cˉ1=0cˉ2=0m=3s=(110−3−12) \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=101132

​ 在本例子中s与原来的XXX没有发生改变。

  1. 根据公式计算协方差矩阵S

S=13−1(10−11−32)(110−3−12)=(1−0.5−0.57) 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=311(110312)101132=(10.50.57)

4、求解马氏距离

​ 求解具体两个点之间的马氏距离,直接带入以下两个点即可。

​ 基本计算公式如下:
d(x,y)=(x−y)TS−1(x−y) d(x, y)=\sqrt{(x-y)^{T} S^{-1}(x-y)} d(x,y)=(xy)TS1(xy)
S−1S^{-1}S1表示协方差矩阵的逆矩阵。逆矩阵的基本求解在此不再过多描述。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐