• 机器学习笔记之高斯分布——从几何角度观察多维高斯分布


    机器学习笔记之高斯分布——从几何角度观察多维高斯分布

    引言

    回顾:一维高斯分布

    使用极大似然估计计算高斯分布最优参数一节中介绍了一维高斯分布。具体表示如下:
    x ∼ N ( μ , σ 2 ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 x \sim \mathcal N(\mu,\sigma^2) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x - \mu)^2}{2\sigma^2}} xN(μ,σ2)=2π σ1e2σ2(xμ)2

    其中 x , μ , σ x,\mu,\sigma x,μ,σ均属于一维矩阵,即标量。

    多维高斯分布

    多维高斯分布与一维高斯分布的明显区别是:随机变量 x x x期望 μ \mu μ多维向量的形式出现,方差多维矩阵的形式出现(方阵)
    随机变量定义
    数据集合 X \mathcal X X包含 N N N个样本:
    X = { x ( 1 ) , x ( 2 ) , ⋯   , x ( N ) } \mathcal X = \{x^{(1)},x^{(2)},\cdots,x^{(N)}\} X={x(1),x(2),,x(N)}
    其中, X \mathcal X X任意样本 x ( i ) ( i ∈ { 1 , 2 , ⋯   , N } ) x^{(i)}(i \in \{1,2,\cdots,N\}) x(i)(i{1,2,,N})均属于 p p p随机变量,记作 x ∈ R p x \in \mathbb R^{p} xRp
    以样本 x ( i ) x^{(i)} x(i)为例,其向量表示如下:
    x ( i ) = ( x 1 ( i ) , x 2 ( i ) , ⋯   , x p ( i ) ) T x^{(i)} = (x_1^{(i)},x_2^{(i)},\cdots,x_p^{(i)})^{T} x(i)=(x1(i),x2(i),,xp(i))T
    期望 μ \mu μ同样属于 p p p维随机变量。每一维度值表示数据集合中所有样本对应该维度值的期望结果 μ \mu μ的向量表示如下:
    μ = ( μ 1 , μ 2 , ⋯   , μ p ) \mu = (\mu_1,\mu_2,\cdots,\mu_p) μ=(μ1,μ2,,μp)

    Σ \Sigma Σ表示协方差矩阵。它的定义表示如下:
    x x x表示‘宏观意义’上的样本;任意样本。
    Σ = E [ ( x − μ ) ( x − μ ) T ] \Sigma = \mathbb E[(x - \mu)(x - \mu)^{T}] Σ=E[(xμ)(xμ)T]
    由于多维高斯分布 x , μ x,\mu x,μ均为 p p p维向量。因此,将 x = ( x 1 , x 2 , ⋯   , x p ) , μ = ( μ 1 , μ 2 , ⋯   , μ p ) x = (x_1,x_2,\cdots,x_p),\mu = (\mu_1,\mu_2,\cdots,\mu_p) x=(x1,x2,,xp),μ=(μ1,μ2,,μp)带入上式:
    Σ = E [ ( x 1 − μ 1 ) 2 , ( x 1 − μ 1 ) ( x 2 − μ 2 ) , ⋯   , ( x 1 − μ 1 ) ( x p − μ p ) ( x 2 − μ 2 ) ( x 1 − μ 1 ) , ( x 2 − μ 2 ) 2 , ⋯   , ( x 2 − μ 2 ) ( x p − μ p ) ⋮ ( x p − μ p ) ( x 1 − μ 1 ) , ( x p − μ p ) ( x 2 − μ 2 ) , ⋯   , ( x p − μ p ) 2 ] = ( σ 11 , σ 12 , ⋯   , σ 1 p σ 21 , σ 22 , ⋯   , σ 2 p ⋮ σ p 1 , σ p 2 , ⋯   , σ p p ) p × p \Sigma = \mathbb E

    [(x1μ1)2,(x1μ1)(x2μ2),,(x1μ1)(xpμp)(x2μ2)(x1μ1),(x2μ2)2,,(x2μ2)(xpμp)(xpμp)(x1μ1),(xpμp)(x2μ2),,(xpμp)2]" role="presentation" style="position: relative;">[(x1μ1)2,(x1μ1)(x2μ2),,(x1μ1)(xpμp)(x2μ2)(x1μ1),(x2μ2)2,,(x2μ2)(xpμp)(xpμp)(x1μ1),(xpμp)(x2μ2),,(xpμp)2]
    =
    (σ11,σ12,,σ1pσ21,σ22,,σ2pσp1,σp2,,σpp)" role="presentation" style="position: relative;">(σ11,σ12,,σ1pσ21,σ22,,σ2pσp1,σp2,,σpp)
    _{p \times p} Σ=E (x1μ1)2,(x1μ1)(x2μ2),,(x1μ1)(xpμp)(x2μ2)(x1μ1),(x2μ2)2,,(x2μ2)(xpμp)(xpμp)(x1μ1),(xpμp)(x2μ2),,(xpμp)2 = σ11,σ12,,σ1pσ21,σ22,,σ2pσp1,σp2,,σpp p×p
    观察上述矩阵,发现 σ i j = σ j i = E [ ( x i − μ i ) ( x j − μ j ) ] \sigma_{ij} = \sigma_{ji} = \mathbb E[(x_i - \mu_i)(x_j - \mu_j)] σij=σji=E[(xiμi)(xjμj)]。因此,协方差矩阵 Σ \Sigma Σ实对称矩阵。并且 σ i i = ( x i − μ i ) 2 ≥ 0 ( i = 1 , 2 , ⋯   , p ) \sigma_{ii} = (x_i - \mu_i)^2 \geq0(i = 1,2,\cdots,p) σii=(xiμi)20(i=1,2,,p)恒成立。因此 Σ \Sigma Σ至少是半正定矩阵
    不排除 σ i i = 0 \sigma_{ii}=0 σii=0的情况发生,因此这个协方差矩阵不一定是‘正定矩阵’。但在推导过程中暂时设定为‘正定矩阵’。

    多维高斯分布的概率密度函数表示如下
    从‘概率模型’角度将高斯分布表示为 P ( x ∣ μ , Σ ) P(x \mid \mu,\Sigma) P(xμ,Σ)
    x ∼ N ( μ , Σ ) = P ( x ∣ μ , Σ ) = 1 ( 2 π ) p 2 ⋅ ∣ Σ ∣ 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) x \sim \mathcal N(\mu,\Sigma) = P(x \mid \mu,\Sigma) = \frac{1}{(2\pi)^{\frac{p}{2}}\cdot|\Sigma|^{\frac{1}{2}}} e^{-\frac{1}{2}(x - \mu)^{T} \Sigma^{-1} (x -\mu) } xN(μ,Σ)=P(xμ,Σ)=(2π)2p∣Σ211e21(xμ)TΣ1(xμ)
    其中, ∣ Σ ∣ |\Sigma| ∣Σ∣表示协方差矩阵的行列式结果 Σ − 1 \Sigma^{-1} Σ1表示协方差矩阵的逆矩阵

    观察:如果将 x x x看作自变量/需要求解的量 μ , Σ \mu,\Sigma μ,Σ看作多维高斯分布 N ( μ , Σ ) \mathcal N(\mu,\Sigma) N(μ,Σ)的参数,则整个概率密度函数公式中和 x x x有关的部分只有:
    ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)
    首先观察它的维度: ( x − μ ) (x - \mu) (xμ) p × 1 p\times 1 p×1维向量 ( x − μ ) T (x - \mu)^{T} (xμ)T自然是 1 × p 1\times p 1×p维向量协方差矩阵的逆不改变维度 Σ − 1 → p × p \Sigma^{-1} \to p \times p Σ1p×p;因此, ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)本质上是一个一维矩阵,是个标量,是一个具体数值

    这里引进一个概念:马氏距离(Mahalanobis distance)。它描述的是两个向量(高维空间内两个数据点)之间的距离描述。马氏距离传送门
    例如 p p p维空间的两个数据点:
    x = ( x 1 , x 2 , ⋯   , x p ) T y = ( y 1 , y 2 , ⋯   , y p ) T x = (x_1,x_2,\cdots,x_p)^{T} \\ y=(y_1,y_2,\cdots,y_p)^{T} x=(x1,x2,,xp)Ty=(y1,y2,,yp)T
    它们的马氏距离表示如下:
    D M ( x , y ) = ( x − y ) T Σ − 1 ( x − y ) D_{M}(x,y) = \sqrt{(x - y)^{T}\Sigma^{-1}(x - y)} DM(x,y)=(xy)TΣ1(xy)

    在这里可以将 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)视作样本点 x x x与样本均值向量 μ \mu μ之间的马氏距离。

    如果 Σ − 1 \Sigma^{-1} Σ1单位矩阵,马氏距离将退化为欧式距离(Euclidean Distance)

    假设协方差矩阵是正定矩阵,对协方差矩阵进行特征值分解
    如果协方差矩阵是一般情况下的‘半正定’,那么 Σ \Sigma Σ自然是不能求逆的, Σ − 1 \Sigma^{-1} Σ1是不存在的。
    Σ = U Λ U T \Sigma = U \Lambda U^{T} Σ=UΛUT
    根据特征值分解定义, U U U是一个正交矩阵,即:
    U U T = U T U = I UU^{T} = U^{T}U = I UUT=UTU=I
    其中 I I I表示单位向量, U , I U,I U,I矩阵格式均为 p × p p\times p p×p。将正交矩阵 U U U定义为 ( u 1 , u 2 , ⋯   , u p ) (u_1,u_2,\cdots,u_p) (u1,u2,,up);其中 u i ( i = 1 , 2 , ⋯   , p ) u_i(i=1,2,\cdots,p) ui(i=1,2,,p)看作 p × 1 p \times 1 p×1维向量
    Λ \Lambda Λ表示特征值向量,对角线上元素为 Σ \Sigma Σ矩阵的特征值。
    根据上式则有:
    Σ = U Λ U T = ( u 1 , u 2 , ⋯   , u p ) ( λ 0 , 0 , ⋯   , 0 0 , λ 1 , ⋯   , 0 ⋮ 0 , 0 , ⋯   , λ p ) ( u 1 T u 2 T ⋮ u p T ) = ( u 1 λ 1 , u 2 λ 2 , ⋯   , u p λ p ) ( u 1 T u 2 T ⋮ u p T ) = u 1 λ 1 u 1 T + u 2 λ 2 u 2 T + ⋯ + u p λ p u p T

    Σ=UΛUT=(u1,u2,,up)(λ0,0,,00,λ1,,00,0,,λp)(u1Tu2TupT)=(u1λ1,u2λ2,,upλp)(u1Tu2TupT)=u1λ1u1T+u2λ2u2T++upλpupT" role="presentation" style="position: relative;">Σ=UΛUT=(u1,u2,,up)(λ0,0,,00,λ1,,00,0,,λp)(u1Tu2TupT)=(u1λ1,u2λ2,,upλp)(u1Tu2TupT)=u1λ1u1T+u2λ2u2T++upλpupT
    Σ=UΛUT=(u1,u2,,up) λ0,0,,00,λ1,,00,0,,λp u1Tu2TupT =(u1λ1,u2λ2,,upλp) u1Tu2TupT =u1λ1u1T+u2λ2u2T++upλpupT
    由于 λ 1 , λ 2 , ⋯   , λ p \lambda_1,\lambda_2,\cdots,\lambda_p λ1,λ2,,λp是特征值,是常数,因此可以提到前面, u i u i T u_iu_i^{T} uiuiT结果 p × p p \times p p×p的方阵
    Σ = ∑ i = 1 p λ i u i u i T \Sigma = \sum_{i=1}^p\lambda_iu_iu_i^{T} Σ=i=1pλiuiuiT
    基于上式,通过 Σ \Sigma Σ求解 Σ − 1 \Sigma^{-1} Σ1
    正交阵的性质,正交阵的转置等于该正交阵的逆。即: U T = U − 1 U^{T} = U^{-1} UT=U1
    Σ − 1 = ( U Λ U T ) − 1 = ( U T ) − 1 Λ − 1 U − 1 = U Λ − 1 U T = ∑ i = 1 p 1 λ i u i u i T
    Σ1=(UΛUT)1=(UT)1Λ1U1=UΛ1UT=i=1p1λiuiuiT" role="presentation" style="position: relative;">Σ1=(UΛUT)1=(UT)1Λ1U1=UΛ1UT=i=1p1λiuiuiT
    Σ1=(UΛUT)1=(UT)1Λ1U1=UΛ1UT=i=1pλi1uiuiT

    Σ − 1 \Sigma^{-1} Σ1带入 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ),则有:
    ( x − μ ) T Σ − 1 ( x − μ ) = ( x − μ ) T ∑ i = 1 p 1 λ i u i u i T ( x − μ )
    (xμ)TΣ1(xμ)=(xμ)Ti=1p1λiuiuiT(xμ)" role="presentation" style="position: relative;">(xμ)TΣ1(xμ)=(xμ)Ti=1p1λiuiuiT(xμ)
    (xμ)TΣ1(xμ)=(xμ)Ti=1pλi1uiuiT(xμ)

    观察, ( x − μ ) T (x -\mu)^{T} (xμ)T 1 × p 1 \times p 1×p的向量 ∑ i = 1 p 1 λ i u i u i T \sum_{i=1}^p \frac{1}{\lambda_i}u_iu_i^{T} i=1pλi1uiuiT p × p p \times p p×p维向量 ( x − μ ) (x - \mu) (xμ) p × 1 p \times 1 p×1维向量
    因此, ( x − μ ) T ∑ i = 1 p 1 λ i u i u i T ( x − μ ) (x - \mu)^{T} \sum_{i=1}^p \frac{1}{\lambda_i}u_iu_i^{T}(x - \mu) (xμ)Ti=1pλi1uiuiT(xμ)仍然是一个标量、一个数值
    ( x − μ ) T , ( x − μ ) (x -\mu)^T,(x - \mu) (xμ)T,(xμ)两个向量看成整体,不执行任何拆分,将 ∑ i = 1 p 1 λ i \sum_{i=1}^p \frac{1}{\lambda_i} i=1pλi1提出来:
    ∑ i = 1 p 1 λ i ( x − μ ) T u i u i T ( x − μ ) \sum_{i=1}^p \frac{1}{\lambda_i}(x - \mu)^{T}u_iu_i^{T}(x - \mu) i=1pλi1(xμ)TuiuiT(xμ)
    令向量 k = ( k 1 k 2 ⋮ k p ) p × 1 k =

    (k1k2kp)" role="presentation" style="position: relative;">(k1k2kp)
    _{p \times 1} k= k1k2kp p×1 k i ( i = 1 , 2 , ⋯   , p ) = ( x − μ ) T u i k_i(i=1,2,\cdots,p) = (x - \mu)^{T}u_i ki(i=1,2,,p)=(xμ)Tui

    上式可转化为:
    ∑ i = 1 p 1 λ i k i k i T \sum_{i=1}^p \frac{1}{\lambda_i}k_ik_i^{T} i=1pλi1kikiT

    由于 k k k的定义,因此, k i ( i = 1 , 2 , ⋯   , p ) k_i(i=1,2,\cdots,p) ki(i=1,2,,p)是标量、数值。即:
    k i T = k i k_i^{T} = k_i kiT=ki
    则有:
    ( x − μ ) T Σ − 1 ( x − μ ) = ∑ i = 1 p 1 λ i k i k i T = ∑ i = 1 p k i 2 λ i ( i = 1 , 2 , ⋯   , p ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) = \sum_{i=1}^p \frac{1}{\lambda_i}k_ik_i^{T} = \sum_{i=1}^p \frac{k_i^2}{\lambda_i}(i=1,2,\cdots,p) (xμ)TΣ1(xμ)=i=1pλi1kikiT=i=1pλiki2(i=1,2,,p)

    将上述结果展开:
    ∑ i = 1 p k i 2 λ i = k 1 2 λ 1 + k 2 2 λ 2 + ⋯ + k p 2 λ p \sum_{i=1}^p \frac{k_i^2}{\lambda_i} = \frac{k_1^2}{\lambda_1} + \frac{k_2^2}{\lambda_2} +\cdots + \frac{k_p^2}{\lambda_p} i=1pλiki2=λ1k12+λ2k22++λpkp2

    如果给定上述结果一个具体的值: Δ \Delta Δ
    则有:
    k 1 2 λ 1 + k 2 2 λ 2 + ⋯ + k p 2 λ p = Δ 1 Δ ( k 1 2 λ 1 + k 2 2 λ 2 + ⋯ + k p 2 λ p ) = 1 k 1 2 Δ λ 1 + k 2 2 Δ λ 2 + ⋯ + k p 2 Δ λ p = 1

    k12λ1+k22λ2++kp2λp=Δ1Δ(k12λ1+k22λ2++kp2λp)=1k12Δλ1+k22Δλ2++kp2Δλp=1" role="presentation" style="position: relative;">k12λ1+k22λ2++kp2λp=Δ1Δ(k12λ1+k22λ2++kp2λp)=1k12Δλ1+k22Δλ2++kp2Δλp=1
    λ1k12+λ2k22++λpkp2=ΔΔ1(λ1k12+λ2k22++λpkp2)=1Δλ1k12+Δλ2k22++Δλpkp2=1
    它就是一个超椭圆形的标准方程
    p = 2 p=2 p=2
    k 1 2 Δ λ 1 + k 2 2 Δ λ 2 = 1 \frac{k_1^2}{\Delta\lambda_1} + \frac{k_2^2}{\Delta\lambda_2} = 1 Δλ1k12+Δλ2k22=1

    它就是一个椭圆的标准方程,其中 a = Δ λ 1 , b = Δ λ 2 a = \sqrt{\Delta\lambda_1},b = \sqrt{\Delta\lambda_2} a=Δλ1 ,b=Δλ2

    至此,基于马氏距离 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ),它执行一次坐标系的映射

    • 原始 p p p维坐标系 x i ( i = 1 , 2 , ⋯   , p ) x_i(i=1,2,\cdots,p) xi(i=1,2,,p);
    • 经过一系列变换 k i = ( x − μ ) T u i k_i = (x - \mu)^{T} u_i ki=(xμ)Tui
      x x x坐标系先通过平移 μ \mu μ个长度后,再映射到 u u u坐标系中(矩阵乘法的特点)
    • k i k_i ki表示在样本 x x x u u u坐标系中的映射结果
    • 马氏距离 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)可理解为在 x x x映射到 k k k之后,构建一个椭圆,而椭圆上的值就是马氏距离的结果
      在这里插入图片描述
      上述表示 i = 2 i=2 i=2时的高斯分布图像,由于 x x x只和 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)相关,和表示概率的 1 ( 2 π ) p 2 ⋅ ∣ Σ ∣ 1 2 \frac{1}{(2\pi)^{\frac{p}{2}}\cdot|\Sigma|^{\frac{1}{2}}} (2π)2p∣Σ211无关。

    但是概率 Δ \Delta Δ相关,基于上述标准方程,椭圆的长轴和短轴长度分别是 Δ λ 1 , Δ λ 2 \sqrt{\Delta\lambda_1},\sqrt{\Delta\lambda_2} Δλ1 ,Δλ2 ;选择的 Δ \Delta Δ值直接影响椭圆的大小,从而影响获取横截面的位置

    因此,当概率被确定时,以上述图为例,在 z z z轴对应概率值位置进行横切,而横切得到的横截面必然是椭圆形截面。而 ( x − μ ) T Σ − 1 ( x − μ ) (x - \mu)^{T} \Sigma^{-1}(x - \mu) (xμ)TΣ1(xμ)表示椭圆形上的点

    总结

    • 矩阵乘法——将当前变量的坐标系映射到其他坐标系中;
      在后续的线性判别分析中加深印象;
    • x x x参考系被映射到新的参考系中,并将马氏距离映射为标准的超椭圆方程

    相关参考:
    机器学习-白板推导系列(二)-数学基础

  • 相关阅读:
    浅谈 synchronized 锁机制原理 与 Lock 锁机制
    文件上传漏洞
    springmvc之自定义注解-->自定义注解简介,基本案例和aop自定义注解
    spring boot @Configuration和@Componment的区别
    面试常谈的Binder理解,每个人都不一样~
    密码技术学习一:密码
    接口自动化测试
    vue-element学习(一)
    【reverse】新160个CrackMe之116-REM-KeyGenME#10——脱壳、去背景音乐、识别反调试
    java中的垃圾回收算法与垃圾回收器
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/126347941