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 中推導的那樣,二次形式 xTAx2xTbx^T A x - 2x^T b 可以配方為 (xA1b)TA(xA1b)bTA1b(x - A^{-1}b)^T A (x - A^{-1}b) - b^T A^{-1} b
  3. 矩陣恆等式
    • (A1+B1)1=A(A+B)1B=B(A+B)1A(A^{-1} + B^{-1})^{-1} = A(A+B)^{-1}B = B(A+B)^{-1}A (用於行列式運算)。
    • 二次型的恆等式: aTA1a+bTB1b(A1a+B1b)T(A1+B1)1(A1a+B1b)=(ab)T(A+B)1(ab)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(xa,A)N(xb,B)P(x) = \mathcal{N}(x|a, A)\mathcal{N}(x|b, B)

步驟 1:展開指數

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

E=(xa)TA1(xa)+(xb)TB1(xb)E = (x-a)^T A^{-1} (x-a) + (x-b)^T B^{-1} (x-b)

展開這些二次項: E=(xTA1x2xTA1a+aTA1a)+(xTB1x2xTB1b+bTB1b)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(A1+B1)x2xT(A1a+B1b)+(aTA1a+bTB1b)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:定義新參數 ccCC

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

觀察線性項 2xT(A1a+B1b)-2x^T (A^{-1} a + B^{-1} b),我們將其等同于 (xc)TC1(xc)(x-c)^T C^{-1} (x-c) 展開式中的 2xTC1c-2x^T C^{-1} cC1c=A1a+B1bC^{-1} c = A^{-1} a + B^{-1} b 從左側乘以 CCc=C(A1a+B1b)c = C(A^{-1} a + B^{-1} b) 這符合公式 (1.24)。

步驟 3:配方

利用習題 1.10 的結果,我們可以重寫 EE 中涉及 xx 的項: xTC1x2xT(C1c)=(xc)TC1(xc)cTC1cx^T C^{-1} x - 2x^T (C^{-1}c) = (x-c)^T C^{-1} (x-c) - c^T C^{-1} c

將其代回 EE 的表達式: E=(xc)TC1(xc)cTC1c+(aTA1a+bTB1b)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=aTA1a+bTB1bcTC1cR = a^T A^{-1} a + b^T B^{-1} b - c^T C^{-1} c

因此乘積 P(x)P(x) 可以寫為: P(x)=1Znormexp(12(xc)TC1(xc))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) 其中 Znorm=(2π)d/2A1/2(2π)d/2B1/2=(2π)dA1/2B1/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(xc)TC1(xc))\exp\left( -\frac{1}{2} (x-c)^T C^{-1} (x-c) \right)N(xc,C)\mathcal{N}(x|c, C) 的未歸一化核。

步驟 4:簡化剩餘項 RR

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

c=C(A1a+B1b)c = C(A^{-1} a + B^{-1} b)C1=A1+B1C^{-1} = A^{-1} + B^{-1} 代回 cTC1cc^T C^{-1} ccTC1c=(A1a+B1b)TCTC1C(A1a+B1b)c^T C^{-1} c = (A^{-1} a + B^{-1} b)^T C^T C^{-1} C (A^{-1} a + B^{-1} b) =(A1a+B1b)TC(A1a+B1b)= (A^{-1} a + B^{-1} b)^T C (A^{-1} a + B^{-1} b) 因此, R=aTA1a+bTB1b(A1a+B1b)T(A1+B1)1(A1a+B1b)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 公式或基本代數證明)在指數中配方: xTA1x+yTB1y(A1x+B1y)T(A1+B1)1(A1x+B1y)=(xy)T(A+B)1(xy)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=bR=(ab)T(A+B)1(ab)R = (a-b)^T (A+B)^{-1} (a-b)

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

步驟 5:確定縮放因子 ZZ

我們有: N(xa,A)N(xb,B)=N(xc,C)(2π)d/2C1/2(2π)dA1/2B1/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(ab,A+B)\mathcal{N}(a|b, A+B) 的指數部分。 現在檢查行列式前因子。 前因子=C1/2(2π)d/2A1/2B1/2\text{前因子} = \frac{|C|^{1/2}}{(2\pi)^{d/2} |A|^{1/2} |B|^{1/2}} 我們希望這與 N(ab,A+B)\mathcal{N}(a|b, A+B) 的常數匹配,即 1(2π)d/2A+B1/2\frac{1}{(2\pi)^{d/2} |A+B|^{1/2}}

我們需要檢查是否: C1/2A1/2B1/2=1A+B1/2\frac{|C|^{1/2}}{|A|^{1/2} |B|^{1/2}} = \frac{1}{|A+B|^{1/2}} 兩邊平方: CAB=1A+B    CA+B=AB\frac{|C|}{|A||B|} = \frac{1}{|A+B|} \iff |C||A+B| = |A||B| 回憶 C=(A1+B1)1C = (A^{-1} + B^{-1})^{-1}。 利用 XY=XY|X Y| = |X| |Y|X1=1/X|X^{-1}| = 1/|X|C=(A1+B1)1=1A1+B1=1A1(A+B)B1|C| = |(A^{-1} + B^{-1})^{-1}| = \frac{1}{|A^{-1} + B^{-1}|} = \frac{1}{|A^{-1}(A+B)B^{-1}|} =1A1A+BB1=ABA+B= \frac{1}{|A^{-1}| |A+B| |B^{-1}|} = \frac{|A||B|}{|A+B|} 因此,行列式匹配。

結論

結合剩餘指數和行列式因子,我們得到: Z=1(2π)d/2A+B1/2exp(12(ab)T(A+B)1(ab))=N(ab,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(xa,A)N(xb,B)=ZN(xc,C)\mathcal{N}(x|a, A)\mathcal{N}(x|b, B) = Z \mathcal{N}(x|c, C) 證畢。