Skip to main content

習題 1.8 多變量高斯分佈的乘積 - 解答

必備知識​

要解決此問題,您需要熟悉以下概念:

  1. 多變量高斯定義: N(x∣μ,Σ)=1(2π)d/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ))\mathcal{N}(x|\mu, \Sigma) = \frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} \exp\left(-\frac{1}{2}(x-\mu)^T \Sigma^{-1} (x-\mu)\right)
  2. 配方:正如在 習題 1.10 中推導的那樣,二次形式 xTAx−2xTbx^T A x - 2x^T b 可以配方為 (x−A−1b)TA(x−A−1b)−bTA−1b(x - A^{-1}b)^T A (x - A^{-1}b) - b^T A^{-1} b。
  3. 矩陣恆等式:
    • (A−1+B−1)−1=A(A+B)−1B=B(A+B)−1A(A^{-1} + B^{-1})^{-1} = A(A+B)^{-1}B = B(A+B)^{-1}A (用於行列式運算)。
    • 二次型的恆等式: aTA−1a+bTB−1b−(A−1a+B−1b)T(A−1+B−1)−1(A−1a+B−1b)=(a−b)T(A+B)−1(a−b)a^T A^{-1} a + b^T B^{-1} b - (A^{-1}a + B^{-1}b)^T (A^{-1} + B^{-1})^{-1} (A^{-1}a + B^{-1}b) = (a-b)^T (A+B)^{-1} (a-b)。

逐步推導​

我們先計算乘積: P(x)=N(x∣a,A)N(x∣b,B)P(x) = \mathcal{N}(x|a, A)\mathcal{N}(x|b, B)

步驟 1:展開指數​

暫時忽略歸一化常數,讓我們看看指數項 EE (總指數為 −12E-\frac{1}{2}E):

E=(x−a)TA−1(x−a)+(x−b)TB−1(x−b)E = (x-a)^T A^{-1} (x-a) + (x-b)^T B^{-1} (x-b)

展開這些二次項: E=(xTA−1x−2xTA−1a+aTA−1a)+(xTB−1x−2xTB−1b+bTB−1b)E = (x^T A^{-1} x - 2x^T A^{-1} a + a^T A^{-1} a) + (x^T B^{-1} x - 2x^T B^{-1} b + b^T B^{-1} b)

按 xx 的冪次分組: E=xT(A−1+B−1)x−2xT(A−1a+B−1b)+(aTA−1a+bTB−1b)E = x^T (A^{-1} + B^{-1}) x - 2x^T (A^{-1} a + B^{-1} b) + (a^T A^{-1} a + b^T B^{-1} b)

步驟 2:定義新參數 cc 和 CC​

我們想要匹配高斯指數的形式:(x−c)TC−1(x−c)(x-c)^T C^{-1} (x-c)。 觀察 xx 的二次項,我們識別出精度矩陣等於精度的和: C−1=A−1+B−1  ⟹  C=(A−1+B−1)−1C^{-1} = A^{-1} + B^{-1} \implies C = (A^{-1} + B^{-1})^{-1} 這符合公式 (1.25)。

觀察線性項 −2xT(A−1a+B−1b)-2x^T (A^{-1} a + B^{-1} b),我們將其等同于 (x−c)TC−1(x−c)(x-c)^T C^{-1} (x-c) 展開式中的 −2xTC−1c-2x^T C^{-1} c。 C−1c=A−1a+B−1bC^{-1} c = A^{-1} a + B^{-1} b 從左側乘以 CC: c=C(A−1a+B−1b)c = C(A^{-1} a + B^{-1} b) 這符合公式 (1.24)。

步驟 3:配方​

利用習題 1.10 的結果,我們可以重寫 EE 中涉及 xx 的項: xTC−1x−2xT(C−1c)=(x−c)TC−1(x−c)−cTC−1cx^T C^{-1} x - 2x^T (C^{-1}c) = (x-c)^T C^{-1} (x-c) - c^T C^{-1} c

將其代回 EE 的表達式: E=(x−c)TC−1(x−c)−cTC−1c+(aTA−1a+bTB−1b)E = (x-c)^T C^{-1} (x-c) - c^T C^{-1} c + (a^T A^{-1} a + b^T B^{-1} b)

設 RR 為剩餘的標量項: R=aTA−1a+bTB−1b−cTC−1cR = a^T A^{-1} a + b^T B^{-1} b - c^T C^{-1} c

因此乘積 P(x)P(x) 可以寫為: P(x)=1Z∗normexp⁡(−12(x−c)TC−1(x−c))exp⁡(−12R)P(x) = \frac{1}{Z*{norm}} \exp\left( -\frac{1}{2} (x-c)^T C^{-1} (x-c) \right) \exp\left( -\frac{1}{2} R \right) 其中 Z∗norm=(2π)d/2∣A∣1/2(2π)d/2∣B∣1/2=(2π)d∣A∣1/2∣B∣1/2Z*{norm} = (2\pi)^{d/2}|A|^{1/2} (2\pi)^{d/2}|B|^{1/2} = (2\pi)^{d} |A|^{1/2} |B|^{1/2}。

注意 exp⁡(−12(x−c)TC−1(x−c))\exp\left( -\frac{1}{2} (x-c)^T C^{-1} (x-c) \right) 是 N(x∣c,C)\mathcal{N}(x|c, C) 的未歸一化核。

步驟 4:簡化剩餘項 RR​

我們需要證明 R=(a−b)T(A+B)−1(a−b)R = (a-b)^T (A+B)^{-1} (a-b)。

將 c=C(A−1a+B−1b)c = C(A^{-1} a + B^{-1} b) 和 C−1=A−1+B−1C^{-1} = A^{-1} + B^{-1} 代回 cTC−1cc^T C^{-1} c: cTC−1c=(A−1a+B−1b)TCTC−1C(A−1a+B−1b)c^T C^{-1} c = (A^{-1} a + B^{-1} b)^T C^T C^{-1} C (A^{-1} a + B^{-1} b) =(A−1a+B−1b)TC(A−1a+B−1b)= (A^{-1} a + B^{-1} b)^T C (A^{-1} a + B^{-1} b) 因此, R=aTA−1a+bTB−1b−(A−1a+B−1b)T(A−1+B−1)−1(A−1a+B−1b)R = a^T A^{-1} a + b^T B^{-1} b - (A^{-1} a + B^{-1} b)^T (A^{-1} + B^{-1})^{-1} (A^{-1} a + B^{-1} b)

利用矩陣恆等式(可通過 Woodbury 公式或基本代數證明)在指數中配方: xTA−1x+yTB−1y−(A−1x+B−1y)T(A−1+B−1)−1(A−1x+B−1y)=(x−y)T(A+B)−1(x−y)x^T A^{-1} x + y^T B^{-1} y - (A^{-1}x + B^{-1}y)^T (A^{-1} + B^{-1})^{-1} (A^{-1}x + B^{-1}y) = (x-y)^T (A+B)^{-1} (x-y) 代入 x=a,y=bx=a, y=b: R=(a−b)T(A+B)−1(a−b)R = (a-b)^T (A+B)^{-1} (a-b)

此項完全匹配 N(a∣b,A+B)\mathcal{N}(a|b, A+B) 的指數。

步驟 5:確定縮放因子 ZZ​

我們有: N(x∣a,A)N(x∣b,B)=N(x∣c,C)⋅(2π)d/2∣C∣1/2(2π)d∣A∣1/2∣B∣1/2exp⁡(−12R)⏟_Z\mathcal{N}(x|a, A)\mathcal{N}(x|b, B) = \mathcal{N}(x|c, C) \cdot \underbrace{\frac{(2\pi)^{d/2}|C|^{1/2}}{(2\pi)^{d}|A|^{1/2}|B|^{1/2}} \exp\left(-\frac{1}{2}R\right)}\_{Z}

我們確認了 exp⁡(−12R)\exp(-\frac{1}{2}R) 匹配 N(a∣b,A+B)\mathcal{N}(a|b, A+B) 的指數部分。 現在檢查行列式前因子。 前因子=∣C∣1/2(2π)d/2∣A∣1/2∣B∣1/2\text{前因子} = \frac{|C|^{1/2}}{(2\pi)^{d/2} |A|^{1/2} |B|^{1/2}} 我們希望這與 N(a∣b,A+B)\mathcal{N}(a|b, A+B) 的常數匹配,即 1(2π)d/2∣A+B∣1/2\frac{1}{(2\pi)^{d/2} |A+B|^{1/2}}。

我們需要檢查是否: ∣C∣1/2∣A∣1/2∣B∣1/2=1∣A+B∣1/2\frac{|C|^{1/2}}{|A|^{1/2} |B|^{1/2}} = \frac{1}{|A+B|^{1/2}} 兩邊平方: ∣C∣∣A∣∣B∣=1∣A+B∣  ⟺  ∣C∣∣A+B∣=∣A∣∣B∣\frac{|C|}{|A||B|} = \frac{1}{|A+B|} \iff |C||A+B| = |A||B| 回憶 C=(A−1+B−1)−1C = (A^{-1} + B^{-1})^{-1}。 利用 ∣XY∣=∣X∣∣Y∣|X Y| = |X| |Y| 和 ∣X−1∣=1/∣X∣|X^{-1}| = 1/|X|: ∣C∣=∣(A−1+B−1)−1∣=1∣A−1+B−1∣=1∣A−1(A+B)B−1∣|C| = |(A^{-1} + B^{-1})^{-1}| = \frac{1}{|A^{-1} + B^{-1}|} = \frac{1}{|A^{-1}(A+B)B^{-1}|} =1∣A−1∣∣A+B∣∣B−1∣=∣A∣∣B∣∣A+B∣= \frac{1}{|A^{-1}| |A+B| |B^{-1}|} = \frac{|A||B|}{|A+B|} 因此,行列式匹配。

結論​

結合剩餘指數和行列式因子,我們得到: Z=1(2π)d/2∣A+B∣1/2exp⁡(−12(a−b)T(A+B)−1(a−b))=N(a∣b,A+B)Z = \frac{1}{(2\pi)^{d/2}|A+B|^{1/2}} \exp\left( -\frac{1}{2} (a-b)^T (A+B)^{-1} (a-b) \right) = \mathcal{N}(a|b, A+B)

所以, N(x∣a,A)N(x∣b,B)=ZN(x∣c,C)\mathcal{N}(x|a, A)\mathcal{N}(x|b, B) = Z \mathcal{N}(x|c, C) 證畢。