1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 欧式距离和马氏距离的关系(公式推导)

欧式距离和马氏距离的关系(公式推导)

时间:2021-04-06 04:02:04

相关推荐

欧式距离和马氏距离的关系(公式推导)

欧氏距离(Euclidean Distance)与马氏距离(Mahalanobis Distance)

欧氏距离
度量样本和样本分布间的距离d(x,μ)=(x−μ)T(x−μ)\begin{aligned} d(x,\mu)=\sqrt{(x-\mu)^T(x-\mu)} \end{aligned} d(x,μ)=(x−μ)T(x−μ)​​其中x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1​,x2​,…,xn​)T是n维向量,μ=(μ1,μ2,…,μn)T\mu=(\mu_1,\mu_2,…,\mu_n)^Tμ=(μ1​,μ2​,…,μn​)T是样本分布的中心,即 d(x,μ)=∑i=1n(xi−μi)2\begin{aligned} d(x,\mu)=\sqrt{\sum_{i=1}^n(x_i-\mu_i)^2} \end{aligned} d(x,μ)=i=1∑n​(xi​−μi​)2​​度量样本和样本的距离 d(x,y)=(x−y)T(x−y)\begin{aligned} d(x,y)=\sqrt{(x-y)^T(x-y)} \end{aligned} d(x,y)=(x−y)T(x−y)​​其中,x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1​,x2​,…,xn​)T、y=(y1,y2,…,yn)Ty=(y_1,y_2,…,y_n)^Ty=(y1​,y2​,…,yn​)T均为n维向量,即d(x,y)=∑i=1n(xi−yi)2\begin{aligned} d(x,y)=\sqrt{\sum_{i=1}^n(x_i-y_i)^2} \end{aligned} d(x,y)=i=1∑n​(xi​−yi​)2​​
协方差
对于m个一维数据(x1,x2,…,xm)(x_1,x_2,…,x_m)(x1​,x2​,…,xm​),它们的方差为:σ2=∑i=1m(xi−μ)2m−1\begin{aligned} \sigma^2=\frac{\sum_{i=1}^m(x_i-\mu)^2}{m-1} \end{aligned} σ2=m−1∑i=1m​(xi​−μ)2​​方差反应数据的离散程度,但高维数据没有方差的概念,高维数据集通常使用协方差描述数据各个维度之间的相关性。对m个n维数据X=[x11x21…xm1x12x22…xm2…………x1nx2n…xmn]=[X1X2…Xn]\begin{aligned} X=\left[ \begin{matrix} x_{11}&x_{21}&…&x_{m1} \\ x_{12}&x_{22}&…&x_{m2} \\ …&…&…&… \\ x_{1n}&x_{2n}&…&x_{mn} \end{matrix} \right] =\left[ \begin{matrix} X_1\\ X_2\\…\\X_n \end{matrix} \right] \end{aligned} X=⎣⎢⎢⎡​x11​x12​…x1n​​x21​x22​…x2n​​…………​xm1​xm2​…xmn​​⎦⎥⎥⎤​=⎣⎢⎢⎡​X1​X2​…Xn​​⎦⎥⎥⎤​​ XXX的每一列对应样本集中的一个n维数据,数据集中共包括m个样本,其中每一维的均值为μi=E(Xi)\mu_i=E(X_i)μi​=E(Xi​)。该样本集的协方差矩阵为:S=(X−μ)(X−μ)Tm−1\begin{aligned} S=\frac{(X-\mu)(X-\mu)^T}{m-1} \end{aligned} S=m−1(X−μ)(X−μ)T​​
马氏距离
度量样本和样本分布间的距离d=(x−μ)TS−1(x−μ)\begin{aligned} d=\sqrt{(x-\mu)^TS^{-1}(x-\mu)} \end{aligned} d=(x−μ)TS−1(x−μ)​​其中x=(x1,x2,…,xn)Tx=(x_1,x_2,…,x_n)^Tx=(x1​,x2​,…,xn​)T是n维向量,μ=(μ1,μ2,…,μn)T\mu=(\mu_1,\mu_2,…,\mu_n)^Tμ=(μ1​,μ2​,…,μn​)T是样本分布的中心,S是样本集的协方差矩阵。

实例分析

已知一个聚类,A为该聚类的聚类中心,聚类的其他样本由红色标出。对于样本B、C,如果要判断谁和样本A的距离最近,可以采用以下两种方式:

使用欧式距离判断,显然C离A更近。但此时并没有考虑数据的分布,默认数据呈圆形分布,即默认数据各维的方差相同。因此使用欧式距离进行判断并不完善。使用马氏距离判断,充分考虑数据各维的相关性和各维的方差,此时应为B距离A更近。

使用欧式距离时,不考虑数据不同维度的方差,也不考虑数据不同维度的相关性。因此数据集已知时,通常使用马氏距离代替欧式距离。

深入理解(公式推导)

原空间的马氏距离等价于变换空间中的欧式距离。为了方便理解,后面的内容仅讨论二维数据,且各维的均值都为0(数据已中心化)。

原空间

在原空间中,数据集各维之间存在相关性,且各维的方差存在差异。此时某个样本xxx到聚类中心的马氏距离为:d=xTSX−1x\begin{aligned} d=\sqrt{x^TS_X^{-1}x} \end{aligned} d=xTSX−1​x​​原空间中样本集的协方差矩阵为:SX=E(XXT)=[σx12cov(x1,x2)cov(x2,x1)σx22]\begin{aligned} S_X=E(XX^T)= \left[ \begin{matrix} \sigma_{x_1}^2&cov(x_1,x_2)\\ cov(x_2,x_1)&\sigma_{x_2}^2 \end{matrix} \right] \end{aligned} SX​=E(XXT)=[σx1​2​cov(x2​,x1​)​cov(x1​,x2​)σx2​2​​]​消除数据各维的相关性,即对数据集进行正交变换

令y=Axy=Axy=Ax,其中AAA是正交矩阵,即x=A−1y=ATy\begin{aligned} x=A^{-1}y=A^Ty \end{aligned} x=A−1y=ATy​该空间中样本集的协方差矩阵为:SY=E(YYT)=E(AxxTAT)=ASXA−1\begin{aligned} S_Y=E(YY^T)=E(Axx^TA^T)=AS_XA^{-1} \end{aligned} SY​=E(YYT)=E(AxxTAT)=ASX​A−1​即:

SX=A−1SYA\begin{aligned} S_X=A^{-1}S_YA \end{aligned} SX​=A−1SY​A​在当前空间中,样本集的协方差矩阵为:SY=[σy1200σy22]S_Y=\left[ \begin{matrix} \sigma_{y_1}^2&0\\ 0&\sigma_{y_2}^2 \end{matrix} \right] SY​=[σy1​2​0​0σy2​2​​]也就是说,在当前空间中,数据的各维不相关。各维方差归一化

令[z1z2]=[1σ1001σ2][y1y2]=[y1σ1y2σ2]\left[ \begin{matrix} z1\\z2 \end{matrix} \right]= \left[\begin{matrix} \frac{1}{\sigma_1}&0\\0&\frac{1}{\sigma_2} \end{matrix} \right] \left[\begin{matrix} y_1\\y_2 \end{matrix}\right]=\left[\begin{matrix} \frac{y_1}{\sigma_1}\\\frac{y_2}{\sigma_2} \end{matrix}\right] [z1z2​]=[σ1​1​0​0σ2​1​​][y1​y2​​]=[σ1​y1​​σ2​y2​​​]为了方便表示,令B=[1σ1001σ2]B=\left[ \begin{matrix} \frac{1}{\sigma_1}&0\\0&\frac{1}{\sigma_2} \end{matrix} \right] B=[σ1​1​0​0σ2​1​​]则:z=Byz=Byz=By,y=B−1zy=B^{-1}zy=B−1z。在该空间中,样本集的协方差矩阵为:SZ=E(ZZT)=E(BYYTBT)=BSYBT\begin{aligned} S_Z=E(ZZ^T)=E(BYY^TB^T)=BS_YB^T \end{aligned} SZ​=E(ZZT)=E(BYYTBT)=BSY​BT​即:SY=B−1SZB−1\begin{aligned} S_Y=B^{-1}S_ZB^{-1} \end{aligned} SY​=B−1SZ​B−1​在当前空间中,样本集的协方差矩阵为:

SZ=[1001]S_Z=\left[ \begin{matrix} 1&0\\ 0&1 \end{matrix} \right] SZ​=[10​01​]也就是说,在当前空间中,数据各维的方差均为1。

综上所述,原空间的马氏距离为:d=xTSX−1x=yTAA−1SY−1AATy=yTSY−1y=zTB−1BSZBB−1z=zTSZz=zTz\begin{aligned} d&=\sqrt{x^TS_X^{-1}x}\\&=\sqrt{y^TAA^{-1}S_Y^{-1}AA^Ty}\\&=\sqrt{y^TS_Y^{-1}y}\\&=\sqrt{z^TB^{-1}BS_ZBB^{-1}z}\\&=\sqrt{z^TS_Zz}\\&=\sqrt{z^Tz} \end{aligned} d​=xTSX−1​x​=yTAA−1SY−1​AATy​=yTSY−1​y​=zTB−1BSZ​BB−1z​=zTSZ​z​=zTz​​也就是说,原空间的马氏距离等价于转换空间中的欧式距离。在转换空间中,数据各维之间不相关且数据各维的方差均为1

马氏距离的优势

当数据分布已知时,通常使用马氏距离代替欧式距离。马氏距离适用于数据各维存在相关性或数据各维方差存在差异(数据分布呈椭圆形)的情况。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。