x i ∽ N ( μ , Σ ) = 1 ( 2 π ) p 2 Σ 1 2 exp ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) x_i\backsim N(\mu,\varSigma)=\frac{1}{(2\pi)^{\frac{p}{2}}\varSigma^{\frac{1}{2}}}\exp{(-\frac{1}{2}(x-\mu)^T\varSigma^{-1}(x-\mu))} xi∽N(μ,Σ)=(2π)2pΣ211exp(−21(x−μ)TΣ−1(x−μ))
x = ( x 1 x 2 ⋮ x p ) , μ = ( μ 1 μ 2 ⋮ μ p ) , Σ = ( σ 11 , σ 12 … , σ 1 p σ 21 , σ 22 … , σ 2 p ⋮ σ p 1 , σ p 2 … , σ p p ) x=\begin{pmatrix}x_1\\x_2\\\vdots\\x_p\end{pmatrix},\mu=\begin{pmatrix}\mu_1\\\mu_2\\\vdots\\\mu_p\end{pmatrix},\varSigma=\begin{pmatrix}\sigma_{11},\sigma_{12}\dotsc,\sigma_{1p}\\\sigma_{21},\sigma_{22}\dotsc,\sigma_{2p}\\ \vdots\\\sigma_{p1},\sigma_{p2}\dotsc,\sigma_{pp}\end{pmatrix} x=⎝⎜⎜⎜⎛x1x2⋮xp⎠⎟⎟⎟⎞,μ=⎝⎜⎜⎜⎛μ1μ2⋮μp⎠⎟⎟⎟⎞,Σ=⎝⎜⎜⎜⎛σ11,σ12…,σ1pσ21,σ22…,σ2p⋮σp1,σp2…,σpp⎠⎟⎟⎟⎞
( x − μ ) T Σ − 1 ( x − μ ) (x-\mu)^T\varSigma^{-1}(x-\mu) (x−μ)TΣ−1(x−μ)其实是 x , μ x,\mu x,μ之间的马氏距离,是一个常数(三个矩阵的维度代进去,简答计算结果为数), Σ \varSigma Σ是一个正定矩阵(一般是半正定)。 Σ = 1 \varSigma=1 Σ=1时,马氏距离=欧式距离。
我们先研究方差矩阵 Σ \varSigma Σ,对其进行特征值分解, Σ = U Λ U T , U T U = U U T = I , Λ = d i a g ( λ i ) \varSigma=U\Lambda U^T,U^TU=UU^T=I,\varLambda=diag(\lambda_i) Σ=UΛUT,UTU=UUT=I,Λ=diag(λi)
Σ = U Λ U T = ( u 1 , u 2 , … , u p ) d i a g ( λ i ) ( u 1 u 2 ⋮ u p ) = ∑ i = 1 p u i λ i u i T \varSigma=U\Lambda U^T=\begin{pmatrix}u_1,u_2,\dotsc,u_p\end{pmatrix}diag(\lambda_i)\begin{pmatrix}u_1\\u_2\\\vdots\\u_p\end{pmatrix}=\sum_{i=1}^{p}u_i\lambda_iu_i^T Σ=UΛUT=(u1,u2,…,up)diag(λi)⎝⎜⎜⎜⎛u1u2⋮up⎠⎟⎟⎟⎞=i=1∑puiλiuiT
Σ − 1 = ( U Λ U T ) − 1 = ( U T ) − 1 Λ − 1 U − 1 = U Λ − 1 U T = ∑ i = 1 p u i λ − 1 u i T \varSigma^{-1}=(U\Lambda U^T)^{-1}=(U^T)^{-1}\varLambda^{-1}U^{-1}=U\varLambda^{-1}U^T=\sum_{i=1}^pu_i\lambda^{-1}u_i^T Σ−1=(UΛUT)−1=(UT)−1Λ−1U−1=UΛ−1UT=i=1∑puiλ−1uiT
Δ = ( x − μ ) T Σ − 1 ( x − μ ) = ( x − μ ) T ∑ i = 1 p u i λ − 1 u i T ( x − μ ) = ∑ i = 1 p ( x − μ ) T u i λ − 1 u i T ( x − μ ) = y i = ( x − μ T ) u i ∑ i = 1 p y i λ i − 1 y i T = ∑ i = 1 p y i 2 λ i \Delta=(x-\mu)^T\varSigma^{-1}(x-\mu)=(x-\mu)^T\sum_{i=1}^pu_i\lambda^{-1}u_i^T(x-\mu)=\\\sum_{i=1}^p(x-\mu)^Tu_i\lambda^{-1}u_i^T(x-\mu)\overset{y_i=(x-\mu^T)u_i}{=}\sum_{i=1}^py_i\lambda_i^{-1}y_i^T=\sum_{i=1}^p\frac{y_i^2}{\lambda_i} Δ=(x−μ)TΣ−1(x−μ)=(x−μ)Ti=1∑puiλ−1uiT(x−μ)=i=1∑p(x−μ)Tuiλ−1uiT(x−μ)=yi=(x−μT)uii=1∑pyiλi−1yiT=i=1∑pλiyi2
还记得 i = 1 , 2 , … , p i=1,2,\dotsc,p i=1,2,…,p,当 p = 2 p=2 p=2时, Δ = y i 2 λ 1 + y i 2 λ 2 \Delta=\frac{y_i^2}{\lambda_1}+\frac{y_i^2}{\lambda_2} Δ=λ1yi2+λ2yi2,这在几何上实际是一个椭圆曲线, Δ \Delta Δ是马氏距离,其取值假设为r(参考下一节),则对应不同长短轴的椭圆。
p ( x ) = 1 ( 2 π ) p 2 Σ 1 2 exp ( − 1 2 Δ ) p(x)=\frac{1}{(2\pi)^{\frac{p}{2}}\varSigma^{\frac{1}{2}}}\exp{(-\frac{1}{2}\Delta)} p(x)=(2π)2pΣ211exp(−21Δ)
这个一个概率密度函数, x x x是随机变量, μ , Σ \mu,\varSigma μ,Σ是参数(定值), p ( x ) p(x) p(x)其取值为 [ 0 , 1 ] [0,1] [0,1]。所以 p ( x ) p(x) p(x)取值取决于 Δ \Delta Δ, Δ \Delta Δ越大,上图中的椭圆也就越大,而且椭圆的大小有一个范围。
如果 p = 3 p=3 p=3,参考等高线图。
局限性1:
Σ \varSigma Σ共有 p 2 + p 2 = O ( p 2 ) \frac{p^2+p}{2}=O(p^2) 2p2+p=O(p2)个参数,计算的话复杂度太大。
解决办法:简化方差矩阵为对角阵, d i a g ( λ i ) diag(\lambda_i) diag(λi),则上图中‘斜’的椭圆会变正,特别的,当 λ 1 = λ 2 = … = λ i \lambda_1=\lambda_2=\dotsc=\lambda_i λ1=λ2=…=λi时,椭圆变成圆,称为各向同性。
局限性2:
高斯分布本身具有局限性,具体参见后续高斯混合模型(Gaussian mixture model)内容。
【机器学习】【白板推导系列】【合集 1~23】