Skip to main content

解答:協方差 Σ\Sigma 的最大似然估計

先備知識

  • 多變量高斯分佈 (Multivariate Gaussian Distribution)
  • 最大似然估計 (Maximum Likelihood Estimation, MLE)
  • 矩陣代數中的跡數技巧 (Trace Trick): xTAx=tr(xTAx)=tr(AxxT)x^T A x = \text{tr}(x^T A x) = \text{tr}(A x x^T)
  • 矩陣微積分 (Matrix Calculus)

逐步推導 (Step-by-Step Derivation)

1. 回顧對數似然函數 (Log-Likelihood Function) 根據第 (a) 部分的推導,來自多變量高斯分佈的 NN 個 i.i.d. 樣本的對數似然函數為:

(μ,Σ)=i=1N(d2log(2π)12logΣ12(xiμ)TΣ1(xiμ))\ell(\mu, \Sigma) = \sum_{i=1}^N \left( -\frac{d}{2} \log(2\pi) - \frac{1}{2} \log |\Sigma| - \frac{1}{2} (x_i - \mu)^T \Sigma^{-1} (x_i - \mu) \right)

我們希望相對於 Σ\Sigma 將其最大化。提取出只包含 Σ\Sigma 的項:

J(Σ)=N2logΣ12i=1N(xiμ)TΣ1(xiμ)J(\Sigma) = -\frac{N}{2} \log |\Sigma| - \frac{1}{2} \sum_{i=1}^N (x_i - \mu)^T \Sigma^{-1} (x_i - \mu)

2. 應用跡數技巧 (Trace Trick)(xiμ)TΣ1(xiμ)(x_i - \mu)^T \Sigma^{-1} (x_i - \mu) 是一個標量 (scalar)。標量的跡數 (trace) 等於它本身。根據跡運算的循環性質 tr(ABC)=tr(CAB)=tr(BCA)\text{tr}(ABC) = \text{tr}(CAB) = \text{tr}(BCA),我們可以重新排列因子:

(xiμ)TΣ1(xiμ)=tr((xiμ)TΣ1(xiμ))=tr((xiμ)(xiμ)TΣ1)(x_i - \mu)^T \Sigma^{-1} (x_i - \mu) = \text{tr} \left( (x_i - \mu)^T \Sigma^{-1} (x_i - \mu) \right) = \text{tr} \left( (x_i - \mu)(x_i - \mu)^T \Sigma^{-1} \right)

現在,將其代回 J(Σ)J(\Sigma) 並交換求和與跡數操作(因為跡數是一個線性算子):

J(Σ)=N2logΣ12tr(i=1N(xiμ)(xiμ)TΣ1)J(\Sigma) = -\frac{N}{2} \log |\Sigma| - \frac{1}{2} \text{tr} \left( \sum_{i=1}^N (x_i - \mu)(x_i - \mu)^T \Sigma^{-1} \right)

我們定義散佈矩陣 (scatter matrix) S=i=1N(xiμ)(xiμ)TS = \sum_{i=1}^N (x_i - \mu)(x_i - \mu)^T。請注意 SS 是一個 d×dd \times d 的對稱矩陣。目標函數簡化為:

J(Σ)=N2logΣ12tr(SΣ1)J(\Sigma) = -\frac{N}{2} \log |\Sigma| - \frac{1}{2} \text{tr} (S \Sigma^{-1})

3. 計算矩陣導數 (Compute Matrix Derivative) 現在我們對 J(Σ)J(\Sigma) 關於矩陣 Σ\Sigma 求偏導。 使用提示給出的公式:

  • ΣlogΣ=ΣT\frac{\partial}{\partial \Sigma} \log |\Sigma| = \Sigma^{-T}
  • Σtr(SΣ1)=(ΣTSTΣT)\frac{\partial}{\partial \Sigma} \text{tr}(S \Sigma^{-1}) = - (\Sigma^{-T} S^T \Sigma^{-T})

應用這些規則:

ΣJ(Σ)=N2ΣT12((ΣTSTΣT))\frac{\partial}{\partial \Sigma} J(\Sigma) = -\frac{N}{2} \Sigma^{-T} - \frac{1}{2} \left( - (\Sigma^{-T} S^T \Sigma^{-T}) \right)

由於 Σ\Sigma 是對稱矩陣,ΣT=Σ\Sigma^T = \Sigma,因此 ΣT=(Σ1)T=Σ1\Sigma^{-T} = (\Sigma^{-1})^T = \Sigma^{-1}。 由於 SS 是外積項 (xiμ)(xiμ)T(x_i-\mu)(x_i-\mu)^T 的和,SS 同樣是對稱的 (ST=SS^T = S)。 因此,方程式可以簡化為:

Σ=N2Σ1+12Σ1SΣ1\frac{\partial \ell}{\partial \Sigma} = -\frac{N}{2} \Sigma^{-1} + \frac{1}{2} \Sigma^{-1} S \Sigma^{-1}

4. 設為零並求解 Σ^\hat{\Sigma} 將導數設為零矩陣:

N2Σ1+12Σ1SΣ1=0-\frac{N}{2} \Sigma^{-1} + \frac{1}{2} \Sigma^{-1} S \Sigma^{-1} = 0 N2Σ1=12Σ1SΣ1\frac{N}{2} \Sigma^{-1} = \frac{1}{2} \Sigma^{-1} S \Sigma^{-1}

在等式兩側分別從左邊乘上 Σ\Sigma,然後再從右邊乘上 Σ\Sigma

NΣΣ1Σ=ΣΣ1SΣ1ΣN \Sigma \Sigma^{-1} \Sigma = \Sigma \Sigma^{-1} S \Sigma^{-1} \Sigma NΣ=SN \Sigma = S

求解估計值 Σ^\hat{\Sigma}

Σ^ML=1NS=1Ni=1N(xiμ)(xiμ)T\hat{\Sigma}_{ML} = \frac{1}{N} S = \frac{1}{N} \sum_{i=1}^N (x_i - \mu)(x_i - \mu)^T

假設我們用第 (a) 部分推導出來的最大似然估計 μ^\hat{\mu} 來替換真實的均值 μ\mu,那麼最終協方差矩陣的最大似然估計為:

Σ^ML=1Ni=1N(xiμ^)(xiμ^)T\hat{\Sigma}_{ML} = \frac{1}{N} \sum_{i=1}^N (x_i - \hat{\mu})(x_i - \hat{\mu})^T