我们来一步步计算一个简单的马氏距离(Mahalanobis Distance)例子。
问题:
假设我们有两个样本向量 x x x 和 y y y,它们的特征向量是:
x = ( 1 2 ) , y = ( 3 4 ) x = \begin{pmatrix} 1 \\ 2 \end{pmatrix}, \quad y = \begin{pmatrix} 3 \\ 4 \end{pmatrix} x=(12),y=(34)
同时,这些样本数据有协方差矩阵
S
S
S:
S
=
(
2
0.5
0.5
1
)
S = \begin{pmatrix} 2 & 0.5 \\ 0.5 & 1 \end{pmatrix}
S=(20.50.51)
我们需要计算 x x x 和 y y y 之间的马氏距离。
步骤:
1. 计算样本差向量
首先,计算两个样本
x
x
x 和
y
y
y 之间的差向量
d
=
x
−
y
d = x - y
d=x−y:
d
=
(
1
2
)
−
(
3
4
)
=
(
−
2
−
2
)
d = \begin{pmatrix} 1 \\ 2 \end{pmatrix} - \begin{pmatrix} 3 \\ 4 \end{pmatrix} = \begin{pmatrix} -2 \\ -2 \end{pmatrix}
d=(12)−(34)=(−2−2)
2. 计算协方差矩阵的逆矩阵
马氏距离需要协方差矩阵 S S S 的逆矩阵 S − 1 S^{-1} S−1。首先我们计算 S S S 的逆矩阵。
协方差矩阵
S
=
(
2
0.5
0.5
1
)
S = \begin{pmatrix} 2 & 0.5 \\ 0.5 & 1 \end{pmatrix}
S=(20.50.51),它的逆矩阵可以通过公式计算,也可以使用线性代数方法求得。为了简化,我们直接给出逆矩阵
S
−
1
S^{-1}
S−1 为:
S
−
1
=
(
0.5714
−
0.2857
−
0.2857
1.1429
)
S^{-1} = \begin{pmatrix} 0.5714 & -0.2857 \\ -0.2857 & 1.1429 \end{pmatrix}
S−1=(0.5714−0.2857−0.28571.1429)
3. 计算马氏距离
马氏距离的公式为:
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)
先计算
(
x
−
y
)
T
S
−
1
(x - y)^T S^{-1}
(x−y)TS−1:
d
T
S
−
1
=
(
−
2
−
2
)
(
0.5714
−
0.2857
−
0.2857
1.1429
)
d^T S^{-1} = \begin{pmatrix} -2 & -2 \end{pmatrix} \begin{pmatrix} 0.5714 & -0.2857 \\ -0.2857 & 1.1429 \end{pmatrix}
dTS−1=(−2−2)(0.5714−0.2857−0.28571.1429)
通过矩阵乘法计算:
=
(
−
2
×
0.5714
+
(
−
2
)
×
(
−
0.2857
)
−
2
×
(
−
0.2857
)
+
(
−
2
)
×
1.1429
)
= \begin{pmatrix} -2 \times 0.5714 + (-2) \times (-0.2857) & -2 \times (-0.2857) + (-2) \times 1.1429 \end{pmatrix}
=(−2×0.5714+(−2)×(−0.2857)−2×(−0.2857)+(−2)×1.1429)
=
(
−
1.1428
+
0.5714
0.5714
−
2.2858
)
=
(
−
0.5714
−
1.7144
)
= \begin{pmatrix} -1.1428 + 0.5714 & 0.5714 - 2.2858 \end{pmatrix} = \begin{pmatrix} -0.5714 & -1.7144 \end{pmatrix}
=(−1.1428+0.57140.5714−2.2858)=(−0.5714−1.7144)
再乘以差向量
d
=
(
−
2
−
2
)
d = \begin{pmatrix} -2 \\ -2 \end{pmatrix}
d=(−2−2):
(
−
0.5714
−
1.7144
)
(
−
2
−
2
)
=
(
−
0.5714
×
−
2
)
+
(
−
1.7144
×
−
2
)
\begin{pmatrix} -0.5714 & -1.7144 \end{pmatrix} \begin{pmatrix} -2 \\ -2 \end{pmatrix} = (-0.5714 \times -2) + (-1.7144 \times -2)
(−0.5714−1.7144)(−2−2)=(−0.5714×−2)+(−1.7144×−2)
=
1.1428
+
3.4288
=
4.5716
= 1.1428 + 3.4288 = 4.5716
=1.1428+3.4288=4.5716
最后,马氏距离为:
d
(
x
,
y
)
=
4.5716
≈
2.14
d(x, y) = \sqrt{4.5716} \approx 2.14
d(x,y)=4.5716≈2.14
结果:
样本 x x x 和 y y y 之间的马氏距离大约为 2.14。
这个例子展示了如何使用协方差矩阵来计算两个样本之间的马氏距离。如果有更复杂的数据集或者不同的问题场景,也可以用类似的方法计算。