协方差矩阵的性质
- 实对称矩阵(第 i i i元素和第 j j j元素的耦合与第 j j j元素和第 i i i元素的耦合相等)
- Eigenvalues & eigenvecters (本征值, 本征向量)
Σ ϕ i = λ i ϕ i Φ = [ ϕ 1 ϕ 2 ⋯ ϕ d ] Λ = diag [ λ 1 , λ 2 , ⋯ , λ d ] \Sigma \phi_i=\lambda_i \phi_i \quad \Phi=\left[\phi_1 \phi_2 \cdots \phi_d\right] \quad \Lambda=\operatorname{diag}\left[\lambda_1, \lambda_2, \cdots, \lambda_d\right] Σϕi=λiϕiΦ=[ϕ1ϕ2⋯ϕd]Λ=diag[λ1,λ2,⋯,λd]
- 特征向量的标准正交性
Φ T Φ = I Φ T = Φ − 1 ⟺ ϕ i t ϕ j = { 1 , i = j 0 , i ≠ j \begin{aligned} & \Phi^T \Phi=I \\ & \Phi^T=\Phi^{-1} \end{aligned} \quad \Longleftrightarrow \quad \phi_i^t \phi_j= \begin{cases}1, & i=j \\ 0, & i \neq j\end{cases} ΦTΦ=IΦT=Φ−1⟺ϕitϕj={1,0,i=ji=j - 用矩阵的形式表示(有点绕,联系前面的符号定义进行理解)
Σ Φ = Φ Λ ↔ Σ = Φ Λ Φ T ↔ Σ = ∑ i = 1 d λ i ϕ i ϕ i T \Sigma \Phi=\Phi \Lambda \leftrightarrow \Sigma=\Phi \Lambda \Phi^T \leftrightarrow \Sigma=\sum_{i=1}^d \lambda_i \phi_i \phi_i^T ΣΦ=ΦΛ↔Σ=ΦΛΦT↔Σ=i=1∑dλiϕiϕiT - 矩阵对角化
Φ T Σ Φ = Λ = [ λ 1 0 … 0 0 λ 2 … 0 ⋮ ⋮ ⋱ ⋮ 0 0 … λ d ] ⟺ ϕ i T Σ ϕ i = λ i \Phi^T \Sigma \Phi=\Lambda=\left[\begin{array}{cccc} \lambda_1 & 0 & \ldots & 0 \\ 0 & \lambda_2 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & \lambda_d \end{array}\right] \Longleftrightarrow \phi_i^T \Sigma \phi_i=\lambda_i ΦTΣΦ=Λ= λ10⋮00λ2⋮0……⋱…00⋮λd ⟺ϕiTΣϕi=λi
Principal Component Analysis(PCA)
- 一种降维(特征提取)方法
- 将随机矢量投影到低维子空间,使子空间投影的重建误差最小
- 选择本征值最大的 m ( m < d ) m(m<d) m(m<d) 个本征向量作为子空间的基(basis)
【证明】
- 线性空间中正交变换
(
Φ
T
Φ
=
I
)
\left(\Phi^T \Phi=I\right)
(ΦTΦ=I) 不影响欧氏距离(样本是
d
d
d维的)
∑ j = 1 d [ ( x − μ ) T ϕ j ] 2 = ∥ x − μ ∥ 2 \sum_{j=1}^d\left[(\mathbf{x}-\mu)^T \phi_j\right]^2=\|\mathbf{x}-\mu\|^2 j=1∑d[(x−μ)Tϕj]2=∥x−μ∥2 - 子空间投影(只取了
m
m
m维)
μ + ∑ j = 1 m [ ( x − μ ) T ϕ j ] ϕ j \mu+\sum_{j=1}^m\left[(\mathbf{x}-\mu)^T \phi_j\right] \phi_j μ+j=1∑m[(x−μ)Tϕj]ϕj - 投影重建误差
r E = ∥ x − μ ∥ 2 − ∑ j = 1 m [ ( x − μ ) T ϕ j ] 2 = ∑ j = m + 1 d [ ( x − μ ) T ϕ j ] 2 r_E=\|\mathbf{x}-\mu\|^2-\sum_{j=1}^m\left[(\mathbf{x}-\mu)^T \phi_j\right]^2=\sum_{j=m+1}^d\left[(\mathbf{x}-\mu)^T \phi_j\right]^2 rE=∥x−μ∥2−j=1∑m[(x−μ)Tϕj]2=j=m+1∑d[(x−μ)Tϕj]2 - 重建误差的期望
E ( r E ) = E { ∑ j = m + 1 d [ ( x − μ ) T ϕ j ] 2 } = E { ∑ j = m + 1 d ϕ j T ( x − μ ) ( x − μ ) T ϕ j } = ∑ j = m + 1 d ϕ j T E [ ( x − μ ) ( x − μ ) T ] ϕ j = ∑ j = m + 1 d ϕ j T Σ ϕ j = ∑ j = m + 1 d λ j \begin{aligned} & \mathscr{E}\left(r_E\right)=\mathscr{E}\left\{\sum_{j=m+1}^d\left[(\mathbf{x}-\mu)^T \phi_j\right]^2\right\}=\mathscr{E}\left\{\sum_{j=m+1}^d \phi_j^T(\mathbf{x}-\mu)(\mathbf{x}-\mu)^T \phi_j\right\} \\ & =\sum_{j=m+1}^d \phi_j^T \mathscr{E}\left[(\mathbf{x}-\mu)(\mathbf{x}-\mu)^T\right] \phi_j=\sum_{j=m+1}^d \phi_j^T \Sigma \phi_j=\sum_{j=m+1}^d \lambda_j \\ & \end{aligned} E(rE)=E{j=m+1∑d[(x−μ)Tϕj]2}=E{j=m+1∑dϕjT(x−μ)(x−μ)Tϕj}=j=m+1∑dϕjTE[(x−μ)(x−μ)T]ϕj=j=m+1∑dϕjTΣϕj=j=m+1∑dλj - 对上式取最小就意味着取
λ
i
\lambda_i
λi最大的
m
m
m个本征向量作为子空间基
线性变换的高斯分布
- 对于一个线性变换: y = A t x \mathbf{y}=\mathbf{A}^t \mathbf{x} y=Atx
- 如果 A t A = 1 \mathrm{A}^{\mathrm{t}} \mathrm{A}=1 AtA=1,叫做正交变换,相当于进行了旋转
- 高斯分布经过线性变换后还是高斯分布: p ( y ) ∼ N ( A t μ , A t Σ A ) p(\mathbf{y}) \sim N\left(\mathbf{A}^t \boldsymbol{\mu}, \mathbf{A}^t \boldsymbol{\Sigma} \mathbf{A}\right) p(y)∼N(Atμ,AtΣA)
- 如果变换矩阵是特征向量矩阵 A = Φ A=\Phi A=Φ,那么变换后的高斯分布的协方差矩阵是对角矩阵 A t ∑ A = Λ A^t \sum A=\Lambda At∑A=Λ
- 白化变换(whitening transform):更特别的,如果构造
A
w
=
Φ
Λ
−
1
/
2
\mathbf{A}_w=\boldsymbol{\Phi} \boldsymbol{\Lambda}^{-1 / 2}
Aw=ΦΛ−1/2,那么变换后的高斯分布的协方差矩阵是单位矩阵
A w t Σ A w = Λ − 1 / 2 Φ t Σ Φ Λ − 1 / 2 = Λ − 1 / 2 Λ Λ − 1 / 2 = I \begin{aligned} & A_w^t \Sigma A_w=\Lambda^{-1 / 2} \Phi^t \Sigma \Phi \Lambda^{-1 / 2} =\Lambda^{-1 / 2} \Lambda \Lambda^{-1 / 2}=I \end{aligned} AwtΣAw=Λ−1/2ΦtΣΦΛ−1/2=Λ−1/2ΛΛ−1/2=I
高斯密度下的判别函数
- 判别函数
g i ( x ) = ln p ( x ∣ ω i ) + ln P ( ω i ) g_i(\mathbf{x})=\ln p\left(\mathbf{x} \mid \omega_i\right)+\ln P\left(\omega_i\right) gi(x)=lnp(x∣ωi)+lnP(ωi)
回忆一下多变量高斯概率密度函数:
p ( x ∣ ω i ) = 1 ( 2 π ) d / 2 ∣ Σ i ∣ 1 / 2 exp [ − 1 2 ( x − μ i ) t Σ i − 1 ( x − μ i ) ] p\left(\mathbf{x} \mid \omega_i\right)=\frac{1}{(2 \pi)^{d / 2}\left|\Sigma_i\right|^{1 / 2}} \exp \left[-\frac{1}{2}\left(\mathbf{x}-\mu_i\right)^t \Sigma_i^{-1}\left(\mathbf{x}-\mu_i\right)\right] p(x∣ωi)=(2π)d/2∣Σi∣1/21exp[−21(x−μi)tΣi−1(x−μi)]
于是
g i ( x ) = − 1 2 ( x − μ i ) t Σ i − 1 ( x − μ i ) − d 2 ln 2 π − 1 2 ln ∣ Σ i ∣ + ln P ( ω i ) g_i(\mathbf{x})=-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)-\frac{d}{2} \ln 2 \pi-\frac{1}{2} \ln \left|\Sigma_i\right|+\ln P\left(\omega_i\right) gi(x)=−21(x−μi)tΣi−1(x−μi)−2dln2π−21ln∣Σi∣+lnP(ωi)
下面对不同的协方差矩阵进行讨论,介绍两种特例
- 若
Σ
i
=
σ
2
I
\Sigma_i=\sigma^2 I
Σi=σ2I,则舍去与类别无关的常数项后,
g i ( x ) = − ∥ x − μ i ∥ 2 2 σ 2 + ln P ( ω i ) g_i(\mathrm{x})=-\frac{\left\|\mathrm{x}-\boldsymbol{\mu}_i\right\|^2}{2 \sigma^2}+\ln P\left(\omega_i\right) gi(x)=−2σ2∥x−μi∥2+lnP(ωi)
若 ∥ x − μ i ∥ 2 = ( x − μ i ) t ( x − μ i ) \left\|\mathrm{x}-\boldsymbol{\mu}_i\right\|^2=\left(\mathrm{x}-\boldsymbol{\mu}_i\right)^t\left(\mathrm{x}-\boldsymbol{\mu}_i\right) ∥x−μi∥2=(x−μi)t(x−μi),则
g i ( x ) = − 1 2 σ 2 [ x t x − 2 μ i t x + μ i t μ i ] + ln P ( ω i ) g_i(\mathrm{x})=-\frac{1}{2 \sigma^2}\left[\mathrm{x}^t \mathrm{x}-2 \mu_i^t \mathrm{x}+\mu_i^t \mu_i\right]+\ln P\left(\omega_i\right) gi(x)=−2σ21[xtx−2μitx+μitμi]+lnP(ωi)
再次舍去与类别无关常数项,得到最终的判别函数
g i ( x ) = w i t x + w i 0 w i = 1 σ 2 μ i w i 0 = − 1 2 σ 2 μ i t μ i + ln P ( ω i ) \begin{aligned} & g_i(\mathrm{x})=\mathbf{w}_i^t \mathrm{x}+w_{i 0} \\ & \mathbf{w}_i=\frac{1}{\sigma^2} \boldsymbol{\mu_i} \quad w_{i 0}=\frac{-1}{2 \sigma^2} \boldsymbol{\mu_i}^t \boldsymbol\mu_i+\ln P\left(\omega_i\right) \end{aligned} gi(x)=witx+wi0wi=σ21μiwi0=2σ2−1μitμi+lnP(ωi)
如果只有两类:
g i ( x ) = g j ( x ) w t ( x − x 0 ) = 0 w = μ i − μ j x 0 = 1 2 ( μ i + μ j ) − σ 2 ∥ μ i − μ j ∥ 2 ln P ( ω i ) P ( ω j ) ( μ i − μ j ) \begin{gathered} g_i(\mathrm{x})=g_j(\mathrm{x}) \\ \mathrm{w}^t\left(\mathrm{x}-\mathrm{x}_0\right)=0 \quad \mathbf{w}=\boldsymbol{\mu}_i-\boldsymbol{\mu}_j \\ \mathrm{x}_0=\frac{1}{2}\left(\boldsymbol{\mu}_i+\boldsymbol{\mu}_j\right)-\frac{\sigma^2}{\left\|\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right\|^2} \ln \frac{P\left(\omega_i\right)}{P\left(\omega_j\right)}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right) \end{gathered} gi(x)=gj(x)wt(x−x0)=0w=μi−μjx0=21(μi+μj)− μi−μj 2σ2lnP(ωj)P(ωi)(μi−μj)
如果两类先验概率相等,分界面就是两类均值连线的垂直平分面
- 若
Σ
i
=
Σ
\Sigma_i=\Sigma
Σi=Σ,即所有类别的协方差矩阵都相等
g i ( x ) = − 1 2 ( x − μ i ) t Σ i − 1 ( x − μ i ) − d 2 ln 2 π − 1 2 ln ∣ Σ i ∣ + ln P ( ω i ) ⟹ g i ( x ) = − 1 2 ( x − μ i ) t Σ − 1 ( x − μ i ) + ln P ( ω i ) \begin{gathered} g_i(\mathbf{x})=-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)-\frac{d}{2} \ln 2 \pi-\frac{1}{2} \ln \left|\boldsymbol{\Sigma}_i\right|+\ln P\left(\omega_i\right) \\ \Longrightarrow g_i(\mathbf{x})=-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}-\boldsymbol{\mu}_i\right)+\ln P\left(\omega_i\right) \end{gathered} gi(x)=−21(x−μi)tΣi−1(x−μi)−2dln2π−21ln∣Σi∣+lnP(ωi)⟹gi(x)=−21(x−μi)tΣ−1(x−μi)+lnP(ωi)
最终得到的线性判别函数是
g i ( x ) = w i t x + w i 0 w i = Σ − 1 μ i w i 0 = − 1 2 μ i t Σ − 1 μ i + ln P ( ω i ) g_i(\mathbf{x})=\mathbf{w}_i^t \mathbf{x}+w_{i 0}\\ \mathbf{w}_i=\boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i \quad w_{i 0}=-\frac{1}{2} \boldsymbol{\mu}_i^t \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i+\ln P\left(\omega_i\right) gi(x)=witx+wi0wi=Σ−1μiwi0=−21μitΣ−1μi+lnP(ωi)
如果只有两类
w = Σ − 1 ( μ i − μ j ) \mathbf{w}=\Sigma^{-1}\left(\mu_i-\mu_j\right) w=Σ−1(μi−μj)
x 0 = 1 2 ( μ i + μ j ) − ln [ P ( ω i ) / P ( ω j ) ] ( μ i − μ j ) t Σ − 1 ( μ i − μ j ) ( μ i − μ j ) \mathrm{x}_0=\frac{1}{2}\left(\boldsymbol{\mu}_i+\boldsymbol{\mu}_j\right)-\frac{\ln \left[P\left(\omega_i\right) / P\left(\omega_j\right)\right]}{\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right)^t \boldsymbol{\Sigma}^{-1}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right)}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right) x0=21(μi+μj)−(μi−μj)tΣ−1(μi−μj)ln[P(ωi)/P(ωj)](μi−μj)
如果两类的先验概率相等,那么分界面还是经过两类均值连线的中点,但不再垂直。