给定随机变量 xi(i=1,...,N) x i ( i = 1 , . . . , N ) 构成的矢量 X X ,它的均值是,而 ΔX=X−X¯ Δ X = X − X ¯ ,其协方差矩阵
Σ=E(ΔXΔXT) Σ = E ( Δ X Δ X T )
可知,矩阵 Σ Σ 的对角元是单个变量 xi x i 的方差,而非对角元是交叉协方差。如果 X X 的概率密度分布形如
其中 Σ−1 Σ − 1 是半正定矩阵,那么,变量 xi x i 遵循一个联合高斯分布。均值和协方差是 X¯和Σ X ¯ 和 Σ 。特殊情况: Σ=σ2I Σ = σ 2 I ,为各向同性高斯分布
P(X)=(2π−−√σ)−Nexp(−∑(xi−x¯i)2/2σ2) P ( X ) = ( 2 π σ ) − N e x p ( − ∑ ( x i − x ¯ i ) 2 / 2 σ 2 )马氏距离
||X−Y||=((X−Y)TΣ−1(X−Y))1/2 | | X − Y | | = ( ( X − Y ) T Σ − 1 ( X − Y ) ) 1 / 2
可以看出,高斯概率密度函数是变量马氏距离的函数。理解马氏距离
一个地区的人用两个数据表示(身高/cm,体重/g)。了解到这个地区的数据均值是(170,60000)。越接近这个体型的人数越多
一个人a数据是(180,600100),另一个人b的数据是(175,63000)。如果采用欧式距离的话,a更接近。因此推出有a身材的人更多。
但实际上,我们看来应该是b更接近平均身材。所以,欧式距离有问题。
解决方法引入数据方差,计算 (x−x¯)/σ ( x − x ¯ ) / σ 的欧式距离
到目前,大家可以理解协协方差矩阵是对角阵的马氏距离:距离均值越近,概率越大。而距离与方差有关。那么马氏距离中的协方差怎么回事?
协方差矩阵
Σ
Σ
一般是对称正定矩阵,可以写成
Σ=UTDU
Σ
=
U
T
D
U
,
D=(σ21,...,σ2N)
D
=
(
σ
1
2
,
.
.
.
,
σ
N
2
)
是对角矩阵,U是正交矩阵。记
X′=UX
X
′
=
U
X
和
X′¯=UX¯
X
′
¯
=
U
X
¯
,则
这样就可以理解了: 马氏距离在另一个坐标系下是独立变量的距离。距离越远,概率越小。距离是 ∑(Δxi/σi)2 ∑ ( Δ x i / σ i ) 2 。
记住, 左乘正交矩阵相当于坐标轴进行了刚体欧式运动。欧式运动后,如下图,

上面操作的效果如下:
这样,不同变量独立了。协方差矩阵是对角矩阵。也可以进一步缩放,变为各向同性的高斯分布。
总结一下:马氏距离在另一个坐标系下协方差矩阵是对角阵的马氏距离。
为什么非要协方差?我就要方差不行吗?
考虑 x1=x2 x 1 = x 2 ,数据冗余的情况。如果只要方差那么 x1 x 1 投了2次票。通过马氏距离,D有一个元素是0。相当于少了一票。卧槽,起到了PCA的作用。卡方分布: χ2n χ n 2 分布是n个独立高斯随机变量的平方和的分布。当应用于有非奇异协方差矩阵 Σ Σ 的高斯随机变量 v v 时,的值满足 χ2n χ n 2 分布。
如果协方差矩阵是 Σ Σ 的高斯随机变量 v v ,那么,的值满足 χ2r χ r 2 分布,其中 r=rank(Σ) r = r a n k ( Σ ) 。
更正:高斯分布下,马氏距离可以反映概率。概率越大,距离愈小。在y的协方差矩阵是对角阵的时候,很好理解马氏距离就反应了概率。如果不是对角阵,通过坐标变换y->y’。y’的协方差矩阵是对角阵。并且p(y)=p(y’)。这样就可以求出p(y)了。
- 有高斯分布的协方差是0 <=>变量独立