这篇文章,总结之前阅读的这篇文章学到的知识点,即协方差矩阵的几何意义,同时利用几何解释,介绍多重高斯分布如何从标准单变量的高斯分布推导出来。主要涉及如下内容:
协方差矩阵的定义
协方差矩阵所体现的数据分布的几何意义
多重高斯分布的推导
协方差矩阵一般出现在多重高斯分布的表达式中:
(1) p ( x ; μ , Σ ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e x p ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)) \tag{1} p(x;μ,Σ)=(2π)2n∣Σ∣211exp(−21(x−μ)TΣ−1(x−μ))(1)
其中 μ \mu μ是列向量 x x x的平均值构成的向量,而 Σ \Sigma Σ即协方差矩阵。对于任意列向量来 Z Z Z来说,其协方差矩阵的定义为:
(2) C o v ( Z ) = E [ ( Z − E ( Z ) ) ( Z − E ( Z ) T ] = E [ Z Z T ] − ( E [ Z ] ) ( E [ Z ] ) T Cov(Z)=E[(Z-E(Z))(Z-E(Z)^T] \\ =E[ZZ^T]-(E[Z])(E[Z])^T \tag{2} Cov(Z)=E[(Z−E(Z))(Z−E(Z)T]=E[ZZT]−(E[Z])(E[Z])T(2)
列向量减去自身的均值向量,而后和自己的转置相乘,将会得到一个矩阵,参考两个变量之间的协方差的定义:
(3) C o v ( x , y ) = E [ ( x − E ( x ) ) ( y − E ( y ) ) ] Cov(x,y)=E[(x-E(x))(y-E(y))] \tag{3} Cov(x,y)=E[(x−E(x))(y−E(y))](3)
可以知道,得到的矩阵的第 c i j c_{ij} cij个变量就是第 i i i维的变量和第 j j j维的变量的协方差,而且 c i j = c j i c_{ij}=c_{ji} cij=cji,所以这个矩阵是对称的,而且由这个矩阵的变换功能本身来看,也必定至少是半正定的(positive semi-definite)。
对等式2来说,之所以等于 E ( Z Z T ) − ( E [ Z ] ) ( E [ Z ) ] ) T E(ZZ^T)-(E[Z])(E[Z)])^T E(ZZT)−(E[Z])(E[Z)])T是基于矩阵的第 i j ij ij个元素有:
(4) σ ( z i , z j ) = E [ ( z i − E ( z i ) ) ( z j − E ( z j ) ) ] = E [ z i z j − E ( z i ) z j − E ( z j ) z i + E ( z i ) E ( z j ) ] = E [ z i z j ] − μ i E ( z j ) − μ j E ( z i ) + μ i μ j = E [ z i z j ] − μ i μ j \sigma(z_i,z_j)=E[(z_i-E(z_i))(z_j-E(z_j))]\\ =E[z_iz_j-E(z_i)z_j-E(z_j)z_i+E(z_i)E(z_j)] \\ =E[z_iz_j]-\mu_iE(z_j)-\mu_jE(z_i)+\mu_i\mu_j\\ =E[z_iz_j]-\mu_i\mu_j \tag{4} σ(zi,zj)=E[(zi−E(zi))(zj−E(zj))]=E[zizj−E(zi)zj−E(zj)zi+E(zi)E(zj)]=E[zizj]−μiE(zj)−μjE(zi)+μiμj=E[zizj]−μiμj(4)
所以可得到等式2
期望和方差也有值得留意的两个性质,比如,如果随机变量 X X X和 Y Y Y相互独立,那么:
(5) E ( X Y ) = Σ i Σ j x i y j p ( x i , y j ) = Σ i x i p ( x i ) Σ j y j p ( y j ) = E ( X ) E ( Y ) E(XY)=\Sigma_i\Sigma_jx_iy_jp(x_i,y_j)\\ =\Sigma_ix_ip(x_i)\Sigma_jy_jp(y_j)\\ =E(X)E(Y) \tag{5} E(XY)=ΣiΣjxiyjp(xi,yj)=Σixip(xi)Σjyjp(yj)=E(X)E(Y)(5)
对方差来说:
(6) V a r ( X ) = E [ ( x − μ ) 2 ] = Σ x ( x − μ ) 2 p ( x ) = Σ x ( x 2 − 2 x μ + μ 2 ) p ( x ) = Σ x x 2 p ( x ) − Σ x 2 μ x p ( x ) + μ 2 = Σ x x 2 p ( x ) − μ 2 = E ( x 2 ) − E ( x ) 2 Var(X)=E[(x-\mu)^2]=\Sigma_x(x-\mu)^2p(x)\\ =\Sigma_x(x^2-2x\mu+\mu^2)p(x)\\ =\Sigma_xx^2p(x)-\Sigma_x2\mu xp(x)+\mu^2\\ =\Sigma_xx^2p(x)-\mu^2\\ =E(x^2)-E(x)^2 \tag{6} Var(X)=E[(x−μ)2]=Σx(x−μ)2p(x)=Σx(x2−2xμ+μ2)p(x)=Σxx2p(x)−Σx2μxp(x)+μ2=Σxx2p(x)−μ2=E(x2)−E(x)2(6)
上边的等式5和6这里列出来只是复习一下,让我们看到方差和期望的一些性质
其实单从协方差矩阵,我们没有办法有什么过于深入的认识,对于一维的高斯分布来说,比如:
我们可以看到,均值就是高斯分布中心的位置,而方差则描述了数据分布离均值的情况,方差越大,表面数据相对于中心点越是分散,越小,表明离中心点越是密集,所以方差用来描述数据离开中心均值的离散程度
如果随机变量服从高斯分布,而且均值已知,那么方差的估计值为:
(7) σ = 1 N Σ ( x − μ ) 2 \sigma=\frac{1}{N}\Sigma(x-\mu)^2 \tag{7} σ=N1Σ(x−μ)2(7)
如果均值 μ \mu μ和方差均为估计值,那么此时:
(8) μ = Σ x N \mu=\frac{\Sigma x}{N} \tag{8} μ=NΣx(8)
而方差的无偏估计则是:
(9) σ = 1 N − 1 Σ ( x − μ ) 2 \sigma=\frac{1}{N-1}\Sigma(x-\mu)^2 \tag{9} σ=N−11Σ(x−μ)2(9)
之所以方差在两种情况下有差异,一个是除以 N N N,一个是除以 N − 1 N-1 N−1,这个和在假定变量为高斯分布的时候,均值是否可知有关,详情可以参考这篇文章
那多重高斯分布所对应的协方差矩阵又有什么意义呢?
通过协方差的定义和协方差的组织形式我们可以知道,协方差描述了变量数据在各个方向上的分布,比如如下所示就是二维的数据点的一个分布:
x x x和 y y y方向的数据成正相关分布,因为 x x x增大, y y y也跟着具有这种趋势,这个数据的分布情况,可以用协方差矩阵表示:
(10) Σ = [ σ ( x , x ) σ ( x , y ) σ ( y , x ) σ ( y , y ) ] \Sigma = \begin{bmatrix} \\ \sigma(x,x) & \sigma(x,y) \\ \sigma(y,x) & \sigma(y,y) \\ \end{bmatrix} \tag{10} Σ=⎣⎡σ(x,x)σ(y,x)σ(x,y)σ(y,y)⎦⎤(10)
对于不同的二维协方差矩阵,数据分布:
通过看这些图的数据分布情况,隐约感觉到了一种趋势,实际上对于矩阵来说,特别是对称的方阵,通常我们可以进行特征值分解,而特征向量的方向,往往就是矩阵变换作用的方向。一个矩阵乘以一个向量,其实就是把向量投影到自身的列空间中,对于方阵而言,乘以一个向量,可以把向量投影到各个特征向量方向分别计算然后组合形成最终的结果,所以特征向量描述了矩阵变换的特性。
对于标准单位向量 v v v而言,最大化 v T Σ v v^T\Sigma v vTΣv的值的问题,可以被转化为求解瑞利商(Rayleigh Quotient),其最大的方向 v v v就是矩阵 Σ \Sigma Σ的具有最大特征值的特征向量方向。
由于一个变换矩阵,可以由其特征向量和特征值完整描述,应用到协方差矩阵来说,这意味着:
(11) Σ v = λ v \Sigma v=\lambda v \tag{11} Σv=λv(11)
其中 v v v为特征向量, λ \lambda λ为特征值
如果协方差矩阵为对角矩阵,那么这个矩阵的主要功能就是把各个坐标分量进行拉伸,比如:
但是如果协方差矩阵不是对角矩阵,那么数据分布则会类似于下图这样:
对比上下两个图,虽然不是对角矩阵的情况更为复杂,但是从趋势来说,下图只是上图旋转后的结果
如果我们把变换矩阵 T T T定义为:
(12) T = R S T=RS \tag{12} T=RS(12)
其中 R R R为旋转矩阵,比如:
(13) R = [ c o s ( θ ) − s i n ( θ ) s i n ( θ ) c o s ( θ ) ] R = \begin{bmatrix}\\ cos(\theta) & -sin(\theta) \\ sin(\theta) & cos(\theta) \\ \end{bmatrix} \tag{13} R=[cos(θ)sin(θ)−sin(θ)cos(θ)](13)
S S S为拉伸矩阵,比如:
(14) S = [ s 1 0 0 s 2 ] S = \begin{bmatrix}\\ s_1 & 0\\ 0 & s_2\\ \end{bmatrix} \tag{14} S=[s100s2](14)
且 s 1 s_1 s1和 s 2 s_2 s2分别为两个方向上的拉伸因子
那么协方差矩阵其实可以被这样拆解成两个变换成分,一个是拉伸变换成分,一个是旋转变换成分,我们可以通过依次应用这两个成分得到任意协方差矩阵
比如,如下所示是高斯白噪声对应的二维数据分布:
其对应的协方差矩阵是:
Σ = [ 1 0 0 1 ] \Sigma = \begin{bmatrix}\\ 1 & 0\\ 0 & 1\\ \end{bmatrix} Σ=[1001]
这个图像,很好的体现了高斯白噪声的数据分布,此时方差为1,均值为0,这个时候,如果我们让各个数据点乘以拉伸矩阵呢?此时:
x ′ = S x x^{'}=Sx x′=Sx
如果
S = [ 5 0 0 1 ] S = \begin{bmatrix}\\ 5 & 0\\ 0 & 1\\ \end{bmatrix} S=[5001]
那么原先白噪声高斯分布的图像就会变成这样:
可以看到,数据点在 x x x方向上拉伸了,这样可以知道,拉伸矩阵的作用就是让各个数据点在各个放下上更加分散,这样方差也就对应的大了
此时再应用旋转矩阵,可以得到
y = R x ′ y = Rx^{'} y=Rx′
那么最终的图像就会变成数据分布一般的情况:
所以
y = R S x y = RSx y=RSx
计算变换后的协方差矩阵的时候,由于均值为0,其实就是:
(15) C o v ( Y ) = E [ ( R S x ) ( R S x ) T ] = E [ R S x x T S T R T ] = R S E [ x x T ] S T R T = R S I S R T = R S 2 R T Cov(Y)=E[(RSx)(RSx)^T]=E[RSxx^TS^TR^T]\\ =RSE[xx^T]S^TR^T=RSISR^T\\ =RS^2R^T\tag{15} Cov(Y)=E[(RSx)(RSx)T]=E[RSxxTSTRT]=RSE[xxT]STRT=RSISRT=RS2RT(15)
上边由于 x x T xx^T xxT是一个数,所以可以提取出来,而且 R R R是标准正交的矩阵, S S S是对角矩阵
可以看到,对原始白噪声数据变换后的结果,求取协方差矩阵只会包含旋转变换矩阵和拉伸矩阵
其实上边这种先从标准数据,然后应用变换的思路,可以应用于多重高斯分布的表达式的推导
对于一维的标准正态分布来说,其表达式等于:
(16) p ( x ; 0 , 1 ) = 1 ( 2 π ) 1 2 e x p ( − x 2 2 ) p(x;0,1)=\frac{1}{(2\pi)^{\frac{1}{2}}}exp(-\frac{x^2}{2}) \tag{16} p(x;0,1)=(2π)211exp(−2x2)(16)
对于多重变量的标准正态分布,由于各个变量之间相互独立,所以联合概率密度等于:
(17) p ( x 1 , x 2 , . . . , x n ; 0 , 1 ) = p ( x 1 ; 0 , 1 ) p ( x 2 ; 0 , 1 ) . . . p ( x n ; 0 , 1 ) = 1 ( 2 π ) n 2 e x p ( − Σ i x i 2 2 ) = 1 ( 2 π ) n 2 e x p ( − x T x 2 ) p(x_1,x_2,...,x_n;0,1)=p(x_1;0,1)p(x_2;0,1)...p(x_n;0,1)\\ =\frac{1}{(2\pi)^{\frac{n}{2}}}exp(-\frac{\Sigma_ix_i^2}{2})\\ =\frac{1}{(2\pi)^{\frac{n}{2}}}exp(-\frac{x^Tx}{2}) \tag{17} p(x1,x2,...,xn;0,1)=p(x1;0,1)p(x2;0,1)...p(xn;0,1)=(2π)2n1exp(−2Σixi2)=(2π)2n1exp(−2xTx)(17)
可以看到,由于均值为0,且各个方向上的方差均为1,还是比较均匀的,这个时候,如果想要生成通常情况下的高斯分布,那么我们可以像上一小节那样,把标准的 x x x向量进行旋转拉伸变换,然后加上平移向量进行平移变换,这个时候有
(18) y = R S x + μ y=RSx+\mu \tag{18} y=RSx+μ(18)
所以,我们可以得到
(19) x = ( R S ) − 1 ( y − μ ) x=(RS)^{-1}(y-\mu) \tag{19} x=(RS)−1(y−μ)(19)
结合概率密度的积分函数,我们知道:
(20) 1 = ∫ . . . ∫ p ( x 1 , . . . , x n ) d x = ∫ . . . ∫ 1 ( 2 π ) n 2 e x p ( − x T x 2 ) d x 1=\int...\int p(x_1,...,x_n)dx\\ =\int...\int \frac{1}{(2\pi)^{\frac{n}{2}}}exp(-\frac{x^Tx}{2}) dx \tag{20} 1=∫...∫p(x1,...,xn)dx=∫...∫(2π)2n1exp(−2xTx)dx(20)
对于多重变量微积分来说,由于有等式18的关系,所以微元有:
(21) d y = ∣ R S ∣ d x dy=|RS|dx \tag{21} dy=∣RS∣dx(21)
这里边的微元是对于向量的微元,可以认为 d x = d x 1 d x 2 . . . d x n dx=dx_1dx_2...dx_n dx=dx1dx2...dxn,而 ∣ R S ∣ |RS| ∣RS∣则是求解行列式,行列式的几何意义就是方阵的行/列向量所构成的超平行多面体的有向体积,具有线性关系的向量之间的变换的微元的体积之间的比例因子,就是这个变换方阵的行列式,这一点涉及多变量微积分,这里我也不算是很清楚,不过有了等式21和19后,带入20即可得到:
(22) 1 = ∫ . . . ∫ p ( x 1 , . . . , x n ) d x = ∫ . . . ∫ 1 ( 2 π ) n 2 e x p ( − x T x 2 ) d x = ∫ . . . ∫ 1 ( 2 π ) n 2 ∣ R S ∣ e x p ( − ( ( R S ) − 1 ( y − μ ) ) T ( ( R S ) − 1 ( y − μ ) ) ) d y = ∫ . . . ∫ 1 ( 2 π ) n 2 ∣ R S ∣ e x p ( ( y − μ ) T ( S − 1 R − 1 ) T ( S − 1 R − 1 ) ( y − μ ) 2 ) d y = ∫ . . . ∫ 1 ( 2 π ) n 2 ∣ R S ∣ e x p ( ( y − μ ) T R S − 1 S − 1 R T ( y − μ ) 2 ) d y 1=\int...\int p(x_1,...,x_n)dx\\ =\int...\int \frac{1}{(2\pi)^{\frac{n}{2}}}exp(-\frac{x^Tx}{2})dx \\ =\int...\int \frac{1}{(2\pi)^{\frac{n}{2}}|RS|}exp(-\frac{((RS)^{-1}(y - \mu))^T((RS)^{-1}(y - \mu))})dy\\ = \int...\int \frac{1}{(2\pi)^{\frac{n}{2}}|RS|}exp(\frac{(y-\mu)^{T}(S^{-1}R^{-1})^T(S^{-1}R^{-1})(y - \mu)}{2})dy\\ = \int...\int \frac{1}{(2\pi)^{\frac{n}{2}}|RS|}exp(\frac{(y-\mu)^{T}RS^{-1}S^{-1}R^T(y - \mu)}{2})dy \tag{22} 1=∫...∫p(x1,...,xn)dx=∫...∫(2π)2n1exp(−2xTx)dx=∫...∫(2π)2n∣RS∣1exp(−)((RS)−1(y−μ))T((RS)−1(y−μ))dy=∫...∫(2π)2n∣RS∣1exp(2(y−μ)T(S−1R−1)T(S−1R−1)(y−μ))dy=∫...∫(2π)2n∣RS∣1exp(2(y−μ)TRS−1S−1RT(y−μ))dy(22)
这里边利用了 S S S为对角矩阵,所以 S T = S S^T=S ST=S,其逆矩阵也是如此,而 R R R为旋转标准正交矩阵,所以 R − 1 = R T R^{-1}=R^T R−1=RT,这个时候,如果 Σ = R S S R T \Sigma=RSSR^T Σ=RSSRT,那么
Σ − 1 = R S − 1 S − 1 R T \Sigma^{-1}=RS^{-1}S^{-1}R^T Σ−1=RS−1S−1RT
∣ R S ∣ = ∣ Σ ∣ 1 2 |RS|=|\Sigma|^{\frac{1}{2}} ∣RS∣=∣Σ∣21
所以带入等式22就可以得到等式1中的多重高斯分布了,此时多重高斯分布之所以是这个形式的原因就非常明显了!
1. A geometric interpretation of the covariance matrix
@fsfzp888
2019 年 04月