Search
Duplicate

수학/ Linear Gaussian System

Linear Gaussian systems

다음의 결합 분포를 갖는 결합 가우시안인 2개 확률 벡터 yRD,zRL\bold{y} \in \mathbb{R}^D, \bold{z} \in \mathbb{R}^L을 고려하자. 이것은 선형 가우시안 시스템의 예이다.
여기서 W\bold{W}D×LD \times L 크기의 행렬이다.
p(z)=N(zμ,Σ)p(yz)=N(yWz+b,Ω)\begin{aligned} p(\bold{z}) &= \mathcal{N}(\bold{z}|\stackrel{\smile}{\boldsymbol{\mu}},\stackrel{\smile}{\boldsymbol{\Sigma}} ) \\ p(\bold{y}|\bold{z}) &= \mathcal{N}(\bold{y}|\bold{Wz} + \bold{b}, \boldsymbol{\Omega})\end{aligned}
(위의 식을 포함해서 이하의 식에서 나오는 표기에 대해)
\smile 위첨자는 prior를 의미한다. 고로 μ,Σ\stackrel{\smile}{\boldsymbol{\mu}},\stackrel{\smile}{\boldsymbol{\Sigma}}는 prior μ,Σ\boldsymbol{\mu},\boldsymbol{\Sigma}가 됨.
\frown 위첨자는 posterior를 의미한다. 고로 μ,Σ\stackrel{\frown}{\boldsymbol{\mu}},\stackrel{\frown}{\boldsymbol{\Sigma}}는 posterior μ,Σ\boldsymbol{\mu},\boldsymbol{\Sigma}가 됨.

Joint distribution

해당하는 결합 분포 p(z,y)=p(z)p(yz)p(\bold{z},\bold{y}) = p(\bold{z})p(\bold{y}|\bold{z})는 그 자체로 D+LD+L 차원 가우시안이고 평균과 공분산 행렬은 다음과 같이 주어진다. (이 결과는 moment 매칭으로 얻을 수 있음)
p(z,y)=N(z,yμ~,Σ~)μ~(μm)(μWμ+b)Σ~(ΣCCS)(ΣΣWWΣWΣW+Ω)\begin{aligned} p(\bold{z}, \bold{y}) &= \mathcal{N}(\bold{z}, \bold{y}|\tilde{\boldsymbol{\mu}},\tilde{\boldsymbol{\Sigma}} ) \\ \tilde{\boldsymbol{\mu}} &\triangleq \begin{pmatrix}\stackrel{\smile}{\boldsymbol{\mu}} \\ \bold{m}\end{pmatrix} \triangleq \begin{pmatrix} \stackrel{\smile}{\boldsymbol{\mu}} \\ \bold{W}\stackrel{\smile}{\boldsymbol{\mu}} + \bold{b} \end{pmatrix} \\ \tilde{\boldsymbol{\Sigma}} &\triangleq \begin{pmatrix} \stackrel{\smile}{\boldsymbol{\Sigma}} & \bold{C}^\top \\ \bold{C} & \bold{S} \end{pmatrix} \triangleq \begin{pmatrix} \stackrel{\smile}{\boldsymbol{\Sigma}} & \stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top \\ \bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}} & \bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top + \boldsymbol{\Omega} \end{pmatrix} \end{aligned}

Posterior distribution (Bayes’ rule for Gaussians)

선형 가우시안 시스템으로부터 posterior p(zy)p(\bold{z}|\bold{y})를 계산하는 것을 고려하자. 결합 가우시안을 조건화하기 위한 방정식을 사용하면 다음과 같이 주어지는 posterior를 찾을 수 있다.
p(zy)=N(zμ,Σ)μ=μ+ΣW(Ω+WΣW)1(y(Wμ+b))Σ=ΣΣW(Ω+WΣW)1WΣ\begin{aligned} p(\bold{z}|\bold{y}) &= \mathcal{N}(\bold{z}|\stackrel{\frown}{\boldsymbol{\mu}},\stackrel{\frown}{\boldsymbol{\Sigma}} ) \\ \stackrel{\frown}{\boldsymbol{\mu}} &= \stackrel{\smile}{\boldsymbol{\mu}} + \stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top(\boldsymbol{\Omega}+\bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top)^{-1}(\bold{y}-(\bold{W}\stackrel{\smile}{\boldsymbol{\mu}} + \bold{b})) \\ \stackrel{\frown}{\boldsymbol{\Sigma}} &= \stackrel{\smile}{\boldsymbol{\Sigma}}-\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top(\boldsymbol{\Omega} + \bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top)^{-1}\bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\end{aligned}
이것은 가우시안에 대한 베이즈룰이라고 한다.
prior p(z)p(\bold{z})가 가우시안이면 likelihood p(yz)p(\bold{y}|\bold{z})도 가우시안이고 posterior p(zy)p(\bold{z}|\bold{y})도 가우시안임을 볼 수 있다.
posterior 분포가 prior와 같은 형식을 갖기 때문에 가우시안 prior는 가우시안 likelihood와 conjugate prior라고 할 수 있다. 즉 가우시안은 베이지안 업데이트에 닫혀 있다.
S=WΣW+Ω,C=ΣW,m=Wμ+b\bold{S} = \bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top + \boldsymbol{\Omega}, \bold{C} = \stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top, \bold{m} = \bold{W}\stackrel{\smile}{\boldsymbol{\mu}} + \bold{b}을 정의하여 이 방정식들을 단순화 할 수 있다.
또한 Kalman gain matrix를 정의할 수 있다.
K=CS1\bold{K} = \bold{CS}^{-1}
이것으로부터 posterior를 얻을 수 있다.
μ=μ+K(ym)Σ=ΣKC\begin{aligned} \stackrel{\frown}{\boldsymbol{\mu}} &= \stackrel{\smile}{\boldsymbol{\mu}} + \bold{K}(\bold{y}-\bold{m}) \\ \stackrel{\frown}{\boldsymbol{\Sigma}} &= \stackrel{\smile}{\boldsymbol{\Sigma}}-\bold{KC}^\top\end{aligned}
다음에 유의하라.
KSK=CS1SSC=CS1C=KC\bold{KSK}^\top = \bold{CS}^{-1}\bold{SS}^{-\top}\bold{C}^\top = \bold{CS}^{-1}\bold{C}^\top = \bold{KC}^\top
따라서 posterior 공분산을 다음과 같이 작성할 수 있다.
Σ=ΣKSK\stackrel{\frown}{\boldsymbol{\Sigma}} = \stackrel{\smile}{\boldsymbol{\Sigma}}-\bold{KSK}^\top
행렬 역 lemma를 사용하여 다음 형식으로 posterior를 재작성할 수 있다.
이것은 O(D3)O(D^3)시간이 걸리는 대신 O(L3)O(L^3) 시간이 걸린다.
Σ=(Σ1+WΩ1W)1μ=Σ[WΩ1(yb)+Σ1μ)\begin{aligned} \stackrel{\frown}{\boldsymbol{\Sigma}} &= (\stackrel{\smile}{\boldsymbol{\Sigma}}^{-1} + \bold{W}^\top \boldsymbol{\Omega}^{-1}\bold{W})^{-1} \\ \stackrel{\frown}{\boldsymbol{\mu}} &= \stackrel{\frown}{\boldsymbol{\Sigma}}[\bold{W}^\top\boldsymbol{\Omega}^{-1}(\bold{y}-\bold{b}) + \stackrel{\smile}{\boldsymbol{\Sigma}}^{-1}\stackrel{\smile}{\boldsymbol{\mu}})\end{aligned}
마지막으로 posterior에 대해 해당하는 정규화 상수는 관찰된 값에서 평가된 y\bold{y}의 marginal이다.
p(y)=N(z(μ,Σ)N(yWz+b,Ω)dz=N(yWμ+b,Ω+WΣW)=N(ym,S)\begin{aligned} p(\bold{y}) &= \int \mathcal{N}(\bold{z}|(\stackrel{\smile}{\boldsymbol{\mu}},\stackrel{\smile}{\boldsymbol{\Sigma}})\mathcal{N}(\bold{y}|\bold{Wz} + \bold{b}, \boldsymbol{\Omega})d\bold{z} \\ &= \mathcal{N}(\bold{y}|\bold{W}\stackrel{\smile}{\boldsymbol{\mu}} + \bold{b}, \boldsymbol{\Omega} + \bold{W}\stackrel{\smile}{\boldsymbol{\Sigma}}\bold{W}^\top) = \mathcal{N}(\bold{y}|\bold{m},\bold{S})\end{aligned}
이것으로부터 log marginal likelihood를 쉽게 계산할 수있다.

A general calculus for linear Gaussian systems

Moment and canonical parameterization

moment 형식이나 canonical (information) 형식에서 가우시안 분포를 표현할 수 있다. moment 형식에서 다음을 갖는다.
ϕ(x;p,μ,Σ)=p×exp(12(xμ)Σ1(xμ))\phi(\bold{x};p,\boldsymbol{\mu},\boldsymbol{\Sigma}) = p\times \exp\left( -{1\over2}(\bold{x}-\boldsymbol{\mu})^\top\boldsymbol{\Sigma}^{-1}(\bold{x}-\boldsymbol{\mu})\right)
여기서 p=(2π)n/2Σ12p = (2\pi)^{-n/2}|\boldsymbol{\Sigma}|^{-{1\over2}}xϕ(x;p,μ,Σ)=1\int_\bold{x} \phi(\bold{x};p,\boldsymbol{\mu},\boldsymbol{\Sigma}) = 1를 보장하는 정규화 상수이다.(nnx\bold{x}의 차원이다.)
2차 형식을 펼치고 항목을 모아서 canonical 형식을 얻을 수 있다.
ϕ(x;g,h,K)=exp(g+xh12xKx)=exp(g+ihixi12ikKijxixj)\begin{aligned} \phi(\bold{x};g,\bold{h},\bold{K}) &= \exp \left(g + \bold{x}^\top \bold{h} - {1\over2}\bold{x}^\top\bold{Kx} \right) \\&= \exp\left(g + \sum_i h_ix_i - {1\over2} \sum_i\sum_k K_{ij}x_ix_j \right) \end{aligned}
여기서
K=Σ1h=Σ1μg=logp12μKμ\begin{aligned} \bold{K} &= \boldsymbol{\Sigma}^{-1} \\ \bold{h} &= \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} \\ g &= \log p-{1\over2}\boldsymbol{\mu}^\top\bold{K}\boldsymbol{\mu}\end{aligned}
K\bold{K}는 정밀도 행렬이라 부른다.
potential이 확률 분포일 필요는 없다는 것에 유의하라. 그리고 정규화(적분이 1이 되도록)가 가능하지 않아도 된다. 증거의 likelihood를 계산할 수 있도록 상수 항(pp 또는 qq)을 추적한다.

Multiplication and division

가우시안의 경우에 곱셈과 나눗셈을 canonical 형식을 사용하여 다음처럼 정의한다.
ϕ1(x1,...,xk;g1,h1,K1)\phi_1(x_1,...,x_k;g_1,\bold{h}_1,\bold{K}_1)ϕ2(xk+1,...,xn;g2,h2,K2)\phi_2(x_{k+1},...,x_n;g_2,\bold{h}_2,\bold{K}_2)를 곱하려면 적절한 차원을 추가하여 둘을 동일한 영역 x1,...,xnx_1,...,x_n까지 확장한 다음 적절한 차원에 0을 추가하여 다음을 계산한다.
(g1,h1,K1)(g2,h2,K2)=(g1+g2,h1+h2,K1+K2)(g_1, \bold{h}_1, \bold{K}_1) *(g_2,\bold{h}_2,\bold{K}_2) = (g_1+g_2,\bold{h}_1+\bold{h}_2,\bold{K}_1+\bold{K}_2)
나눗셈은 다음처럼 정의한다.
(g1,h1,K1)/(g2,h2,K2)=(g1g2,h1h2,K1K2)(g_1,\bold{h}_1,\bold{K}_1)/(g_2,\bold{h}_2,\bold{K}_2) = (g_1-g_2,\bold{h}_1-\bold{h}_2,\bold{K}_1-\bold{K}_2)

Marginalization

ϕW\phi_W를 변수의 집합 WW에 대해 potential로 둔다. 변수들의 부분집합 VWV \subset W에 대한 potential을 marginalizing을 통해 계산할 수 있다. ϕV=W\VϕW\phi_V = \sum_{W \backslash V} \phi_W라 표기하고
x=(x1x2),h=(h1h2),K=(K11K12K21K22)\bold{x} = \begin{pmatrix} \bold{x}_1 \\ \bold{x}_2 \end{pmatrix}, \bold{h} = \begin{pmatrix} \bold{h}_1 \\ \bold{h}_2 \end{pmatrix}, \bold{K} = \begin{pmatrix} \bold{K}_{11} & \bold{K}_{12} \\ \bold{K}_{21} & \bold{K}_{22} \end{pmatrix}
n1n_1 차원의 x1\bold{x}_1n2n_2 차원의 x2\bold{x}_2에 대해 다음을 보일 수 있다.
x1ϕ(x1,x2;g,h,K)=ϕ(x2;g^,h^,K^)\int_{\bold{x}_1} \phi(\bold{x}_1,\bold{x}_2;g,\bold{h},\bold{K}) = \phi(\bold{x}_2;\hat{g},\hat{\bold{h}},\hat{\bold{K}})
여기서
g^=g+12(n1log(2π)logK11+h1K111h1)h^=h2K21K111h1K^=K22K21K111K12\begin{aligned}\hat{g} &= g + {1\over2}(n_1\log(2\pi) - \log|\bold{K}_{11}| + \bold{h}_1^\top\bold{K}_{11}^{-1}\bold{h}_1) \\ \hat{\bold{h}} &= \bold{h}_2 - \bold{K}_{21}\bold{K}_{11}^{-1}\bold{h}_1 \\ \hat{\bold{K}} &= \bold{K}_{22} - \bold{K}_{21} \bold{K}_{11}^{-1}\bold{K}_{12}\end{aligned}

Conditioning on evidence

(x,y)(\bold{x},\bold{y})에 정의된 potential을 고려하자. 값 y\bold{y}를 관찰한다고 가정하자. 새로운 potential은 다음의 차원이 축소된 객체로 주어진다.
ϕ(x)=exp[g+(xy)(hXhY)12(xy)(KXXKXYKYXKYY)(xy)]=exp[(g+hYy12yKYYy)+x(hXKXYy)12xKXXx](2.143-144)\begin{aligned}\phi^*(\bold{x}) &= \exp \left[ g + \begin{pmatrix}\bold{x}^\top & \bold{y}^\top \end{pmatrix}\begin{pmatrix} \bold{h}_X \\ \bold{h}_Y\end{pmatrix} - {1\over2}\begin{pmatrix} \bold{x}^\top & \bold{y}^\top \end{pmatrix}\begin{pmatrix} \bold{K}_{XX} & \bold{K}_{XY} \\ \bold{K}_{YX} & \bold{K}_{YY} \end{pmatrix}\begin{pmatrix} \bold{x} \\ \bold{y} \end{pmatrix} \right] \\ &= \exp \left[\left(g + \bold{h}_Y^\top \bold{y} - {1\over2}\bold{y}^\top \bold{K}_{YY}\bold{y} \right)+ \bold{x}^\top(\bold{h}_X - \bold{K}_{XY}\bold{y}) - {1\over2}\bold{x}^\top\bold{K}_{XX}\bold{x} \right] \end{aligned} \\\tag{2.143-144}

Converting a linear-Gaussian CPD to a canonical potential

마지막으로 초기 potential을 어떻게 만드는지를 논의한다. 방향성(directed) 가우시안 graphical 모델로 시작한다고 가정한다. 특히 선형 가우시안 conditional probability distribution(CPD)를 가진 노드를 고려한다.
p(xu)=cexp[12((xμBu)Σ(xμBu))]=exp[12(xu)(Σ1Σ1BBΣ1BΣ1B)(xu)+(xu)(Σ1μBΣ1μ)12μΣ1μ+logc]\begin{aligned}p(\bold{x}|\bold{u}) &= c \exp \left[-{1\over2} ((\bold{x}-\boldsymbol{\mu}-\bold{B}^\top\bold{u})^\top\boldsymbol{\Sigma}^\top(\bold{x}-\boldsymbol{\mu}-\bold{B}^\top\bold{u})) \right] \\ &= \exp \left[-{1\over2}\begin{pmatrix}\bold{x} & \bold{u}\end{pmatrix}\begin{pmatrix}\boldsymbol{\Sigma}^{-1} & -\boldsymbol{\Sigma}^{-1}\bold{B}^\top \\ -\bold{B}\boldsymbol{\Sigma}^{-1} & \bold{B}\boldsymbol{\Sigma}^{-1}\bold{B}^\top\end{pmatrix}\begin{pmatrix}\bold{x} \\ \bold{u}\end{pmatrix}+\begin{pmatrix}\bold{x} & \bold{u}\end{pmatrix}\begin{pmatrix}\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} \\ -\bold{B}\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu}\end{pmatrix}-{1\over2}\boldsymbol{\mu}^{\top}\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} + \log c\right] \end{aligned}
여기서 c=(2π)n/2Σ12c = (2\pi)^{-n/2}|\boldsymbol{\Sigma}|^{-{1\over2}}이다. 따라서 canonical(표준) 파라미터를 다음과 같이 설정할 수 있다.
g=12μΣ1μn2log(2π)12logΣh=(Σ1μBΣ1μ)K=(Σ1Σ1BBΣ1BΣ1B)=(IB)Σ1(IB)\begin{aligned} g &= -{1\over2}\boldsymbol{\mu}^\top\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} - {n \over 2} \log (2\pi)-{1\over2} \log|\boldsymbol{\Sigma}| \\ \bold{h} &= \begin{pmatrix} \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} \\ -\bold{B}\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu}\end{pmatrix} \\ \bold{K} &= \begin{pmatrix} \boldsymbol{\Sigma}^{-1}& -\boldsymbol{\Sigma}^{-1}\bold{B}^\top \\ -\bold{B}\boldsymbol{\Sigma}^{-1} & \bold{B}\boldsymbol{\Sigma}^{-1}\bold{B}^\top \end{pmatrix} =\begin{pmatrix} \bold{I} \\ -\bold{B} \end{pmatrix} \boldsymbol{\Sigma}^{-1}\begin{pmatrix} \bold{I} & -\bold{B} \end{pmatrix} \end{aligned}
특히 σ1=1/σ2,B=b,n=1\sigma^{-1} = 1/\sigma^2, B = b, n=1이면 위의 결과는 다음과 같다.
g=μ22σ212log(2πσ2)h=μσ2(1b)K=1σ(1bbbb)\begin{aligned} g &= {-\mu^2\over2\sigma^2}-{1\over2} \log(2\pi\sigma^2) \\ \bold{h} &= {\mu \over \sigma^2} \begin{pmatrix} 1 \\ -\bold{b}\end{pmatrix} \\ \bold{K} &= {1\over \sigma}\begin{pmatrix} 1 & -\bold{b}^\top \\ -\bold{b} & \bold{bb}^\top\end{pmatrix}\end{aligned}

Example: Product of Gaussians

위의 결과의 응용으로 두 가우시안의 (비정규화된) 곱을 다음처럼 유도할 수 있다.
N(xμ1,Σ1)×N(xμ2,Σ2)N(xμ3,Σ3)\mathcal{N}(\bold{x}|\boldsymbol{\mu}_1,\boldsymbol{\Sigma}_1) \times \mathcal{N}(\bold{x}|\boldsymbol{\mu}_2,\boldsymbol{\Sigma}_2) \propto \mathcal{N}(\bold{x}|\boldsymbol{\mu}_3,\boldsymbol{\Sigma}_3)
여기서
Σ3=(Σ11+Σ21)1μ3=Σ3(Σ11μ1+Σ21μ2)\begin{aligned} \boldsymbol{\Sigma}_3 &= (\boldsymbol{\Sigma}_1^{-1} + \boldsymbol{\Sigma}_2^{-1})^{-1} \\ \boldsymbol{\mu}_3 &= \boldsymbol{\Sigma}_3(\boldsymbol{\Sigma}_1^{-1}\boldsymbol{\mu}_1 + \boldsymbol{\Sigma}_2^{-1}\boldsymbol{\mu}_2)\end{aligned}
posterior 정밀도는 개별 정밀도의 합이고 posterior 평균은 개별 평균의 정밀도-가중 결합임을 볼 수 있다. 또한 이 결과를 하나의 행렬 역만 요구하는 다음과 같은 방법으로 재작성할 수 있다.
Σ3=Σ1(Σ1+Σ2)1Σ2μ3=Σ2(Σ1+Σ2)1μ1+Σ1(Σ1+Σ2)1μ2\begin{aligned} \boldsymbol{\Sigma}_3 &= \boldsymbol{\Sigma}_1(\boldsymbol{\Sigma}_1 + \boldsymbol{\Sigma}_2)^{-1}\boldsymbol{\Sigma}_2 \\ \boldsymbol{\mu}_3 &= \boldsymbol{\Sigma}_2(\boldsymbol{\Sigma}_1 + \boldsymbol{\Sigma}_2)^{-1}\boldsymbol{\mu}_1 + \boldsymbol{\Sigma}_1(\boldsymbol{\Sigma}_1+\boldsymbol{\Sigma}_2)^{-1}\boldsymbol{\mu}_2\end{aligned}
스칼라의 경우에 다음이 된다.
N(xμ1,σ12)N(xμ2,σ22)N(xμ1σ22+μ2σ12σ12+σ22,σ12σ22σ12+σ22)\mathcal{N}(x|\mu_1,\sigma_1^2)\mathcal{N}(x|\mu_2,\sigma_2^2) \propto \mathcal{N}\left(x|{\mu_1\sigma_2^2 + \mu_2\sigma_1^2 \over \sigma_1^2 + \sigma_2^2},{\sigma_1^2\sigma_2^2 \over \sigma_1^2 + \sigma_2^2} \right)

참조