이 시리즈는 포항공과대학교 옥정슬 교수님의 기계학습(CSED515) 수업과, [Probabilistic Machine Learning: An Introduction], [Probabilistic Machine Learning: Advanced Topics], [Pattern Recognition and Machine Learning] 등을 참고로 하여 작성된 글입니다.

지난 포스트에서는 다양한 Univariate distribution을 다뤄봤습니다. 이번에는 Multivariate distribution(다변량 분포)과, Gaussian joint distribution을 다뤄보고자 합니다.

Multivariate Distribution and Multivariate Gaussian

Covariance(공분산)

두 확률 변수 XXYY 간의 공분산은 XXYY가 선형적으로 얼마나 관련되어 있는지를 측정합니다. 공분산은 다음과 같이 정의됩니다.

Cov[X,Y]=E[(XE[X])(YE[Y])]=E[XY]E[X]E[Y]\text{Cov}[X, Y] = \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] = \mathbb{E}[XY] - \mathbb{E}[X] \mathbb{E}[Y]

DD차원의 랜덤 벡터 xx의 공분산 행렬은 다음과 같이 대칭이며, positive semi-definite(양의 준정부호) 행렬입니다.

Σ=(Cov[X1,X1]Cov[X1,X2]Cov[X1,XD]Cov[X2,X1]Cov[X2,X2]Cov[X2,XD]Cov[XD,X1]Cov[XD,X2]Cov[XD,XD])\Sigma = \begin{pmatrix} \text{Cov}[X_1, X_1] & \text{Cov}[X_1, X_2] & \cdots & \text{Cov}[X_1, X_D] \\ \text{Cov}[X_2, X_1] & \text{Cov}[X_2, X_2] & \cdots & \text{Cov}[X_2, X_D] \\ \vdots & \vdots & \ddots & \vdots \\ \text{Cov}[X_D, X_1] & \text{Cov}[X_D, X_2] & \cdots & \text{Cov}[X_D, X_D] \end{pmatrix}

이로부터 중요한 결과를 얻을 수 있습니다.

E[xxT]=Σ+μμT\mathbb{E}[xx^T] = \Sigma + \mu\mu^T

또 다른 유용한 결과는 선형 변환의 공분산이 다음과 같이 주어진다는 것입니다.

Cov[Ax+b]=ACov[x]AT\text{Cov}[Ax + b] = A \text{Cov}[x] A^T

두 랜덤 벡터 간의 교차 공분산은 다음과 같이 정의됩니다.

Cov[x,y]=E[(xE[x])(yE[y])T]\text{Cov}[x, y] = \mathbb{E}[(x - \mathbb{E}[x])(y - \mathbb{E}[y])^T]

예를 들어, 두 랜덤 변수 XXYY가 있다고 가정합시다. XX의 평균은 μX=2\mu_X = 2, YY의 평균은 μY=3\mu_Y = 3입니다. 관측된 데이터는 다음과 같습니다.

관측치XXYY
103
214
321
432
545

먼저, 공분산을 계산해봅시다.

  1. 각 변수의 편차를 계산합니다.
  • XμX=[1,0,1,2,3]X - \mu_X = [-1, 0, 1, 2, 3]
  • YμY=[1,2,1,0,3]Y - \mu_Y = [1, 2, -1, 0, 3]
  1. 공분산을 계산합니다.
Cov[X,Y]=1Ni=1N(XiμX)(YiμY)=(1)(1)+0(2)+1(1)+2(0)+3(3)5=1+01+0+95=75=1.4\text{Cov}[X, Y] = \frac{1}{N}\sum_{i=1}^{N} (X_i - \mu_X)(Y_i - \mu_Y) = \frac{(-1)(1) + 0(2) + 1(-1) + 2(0) + 3(3)}{5} = \frac{-1 + 0 - 1 + 0 + 9}{5} = \frac{7}{5} = 1.4

따라서, 공분산 행렬은 다음과 같습니다.

Σ=(Cov[X,X]Cov[X,Y]Cov[Y,X]Cov[Y,Y])=(Var[X]1.41.4Var[Y])\Sigma = \begin{pmatrix} \text{Cov}[X, X] & \text{Cov}[X, Y] \\ \text{Cov}[Y, X] & \text{Cov}[Y, Y] \end{pmatrix} = \begin{pmatrix} \text{Var}[X] & 1.4 \\ 1.4 & \text{Var}[Y] \end{pmatrix}

여기서 Var[X]\text{Var}[X]Var[Y]\text{Var}[Y]는 각각 다음과 같이 계산됩니다.

Var[X]=(1)2+02+12+22+325=1+0+1+4+95=155=3\text{Var}[X] = \frac{(-1)^2 + 0^2 + 1^2 + 2^2 + 3^2}{5} = \frac{1 + 0 + 1 + 4 + 9}{5} = \frac{15}{5} = 3
Var[Y]=12+22+(1)2+02+325=1+4+1+0+95=155=3\text{Var}[Y] = \frac{1^2 + 2^2 + (-1)^2 + 0^2 + 3^2}{5} = \frac{1 + 4 + 1 + 0 + 9}{5} = \frac{15}{5} = 3

따라서, 공분산 행렬은.

Σ=(31.41.43)\Sigma = \begin{pmatrix} 3 & 1.4 \\ 1.4 & 3 \end{pmatrix}

Correlation(상관관계)

공분산은 음의 무한대에서 양의 무한대까지 가능합니다. 이를 정규화한 것이 correlation입니다. 두 확률 변수 XXYY 간의 (피어슨) 상관 계수는 다음과 같이 정의할 수 있습니다.

ρ=corr[X,Y]=Cov[X,Y]Var[X]Var[Y]\rho = \text{corr}[X, Y] = \frac{\text{Cov}[X, Y]}{\sqrt{\text{Var}[X] \text{Var}[Y]}}

또한, corr[X,Y]=1\text{corr}[X, Y] = 1 인 경우에만 Y=aX+bY = aX + b (a>0a > 0)입니다. 이는 XXYY 간에 선형 관계가 있을 때 성립합니다.

벡터 xx의 관련 랜덤 변수들의 상관 행렬은 다음과 같이 주어집니다.

corr(x)=(1Cov[X1,X2]σ1σ2Cov[X1,XD]σ1σDCov[X2,X1]σ2σ11Cov[X2,XD]σ2σDCov[XD,X1]σDσ1Cov[XD,X2]σDσ21)\text{corr}(x) = \begin{pmatrix} 1 & \frac{\text{Cov}[X_1, X_2]}{\sigma_1 \sigma_2} & \cdots & \frac{\text{Cov}[X_1, X_D]}{\sigma_1 \sigma_D} \\ \frac{\text{Cov}[X_2, X_1]}{\sigma_2 \sigma_1} & 1 & \cdots & \frac{\text{Cov}[X_2, X_D]}{\sigma_2 \sigma_D} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\text{Cov}[X_D, X_1]}{\sigma_D \sigma_1} & \frac{\text{Cov}[X_D, X_2]}{\sigma_D \sigma_2} & \cdots & 1 \end{pmatrix}

이는 보다 간결하게 다음과 같이 쓸 수 있습니다.

corr(x)=(diag(Σxx))12Σxx(diag(Σxx))12\text{corr}(x) = \left(\text{diag}(\Sigma_{xx})\right)^{-\frac{1}{2}} \Sigma_{xx} \left(\text{diag}(\Sigma_{xx})\right)^{-\frac{1}{2}}

Correlation은 독립성이나 인과 관계를 나타내지 않습니다. 이에 관해서는 반례를 들어 해결하는 것이 일반적입니다. 반대로 독립일 경우 Covariance나 correlation은 0입니다. 그 역은 일반적으로 성립하지 않는다는 점을 조심해야 합니다.


Multivariate Gaussian Distribution

Mahalanobis distance

Multivariate Gaussian pdf의 기하학적 형태를 고려해볼 수 있습니다.

특정 점 yy에서의 로그 확률은 다음과 같이 주어집니다.

logp(yμ,Σ)=12(yμ)TΣ1(yμ)+const\log p(y|\mu, \Sigma) = -\frac{1}{2}(y - \mu)^T \Sigma^{-1} (y - \mu) + \text{const}

yyμ\mu의 차이에 대한 Mahalanobis distance Δ\Delta의 제곱은 다음과 같이 정의됩니다.

Δ2=(yμ)TΣ1(yμ)\Delta^2 = (y - \mu)^T \Sigma^{-1} (y - \mu)

따라서 일정한 (로그) 확률의 등고선은 일정한 Mahalanobis distance의 등고선과 동일합니다.

Mahalanobis distance의 일정한 등고선의 기하학적 형태에 대한 통찰을 얻기 위해, Σ\Sigma와 정밀 행렬 Λ=Σ1\Lambda = \Sigma^{-1}가 모두 양의 정부호 행렬임을 활용합니다. Σ\Sigma의 eigendecomposition(고윳값 분해)는 다음과 같습니다.

Σ=UΛUT\Sigma = U \Lambda U^T

여기서 UU는 고유 벡터 행렬(eigenvector matrix)이고, Λ\Lambda는 고유값 대각 행렬(eigenvalue diagonal matrix)입니다. 새로운 좌표계 z=UT(yμ)z = U^T (y - \mu)를 정의하면, Mahalanobis distance는 다음과 같이 표현될 수 있습니다.

Δ2=zTΛz=d=1Dλdzd2\Delta^2 = z^T \Lambda z = \sum_{d=1}^{D} \lambda_d z_d^2

이는 Mahalanobis distance를 새로운 좌표계 zz에서의 유클리드 거리로 해석할 수 있음을 의미하며, 이 때 zzUUyy를 회전시키고 Λ\Lambda로 스케일링한 결과입니다.

Multivariate Gaussian의 marginal, conditional distribution

만약 y=(y1,y2)y = (y_1, y_2)가 다음과 같이 joint gaussian distribution를 따른다면.

yN((μ1μ2),(Σ11Σ12Σ21Σ22))y \sim \mathcal{N}\left(\begin{pmatrix}\mu_1 \\ \mu_2\end{pmatrix}, \begin{pmatrix}\Sigma_{11} & \Sigma_{12} \\ \Sigma_{21} & \Sigma_{22}\end{pmatrix}\right)

그 주변 분포는 다음과 같이 주어집니다.

p(y1)=N(y1μ1,Σ11)p(y_1) = \mathcal{N}(y_1 | \mu_1, \Sigma_{11})
p(y2)=N(y2μ2,Σ22)p(y_2) = \mathcal{N}(y_2 | \mu_2, \Sigma_{22})

그리고 posterior conditional distribution은은 다음과 같이 주어집니다.

p(y1y2)=N(y1μ1+Σ12Σ22(y2μ2),Σ11Σ122Σ22)p(y_1 | y_2) = \mathcal{N}\left(y_1 \Big| \mu_1 + \frac{\Sigma_{12}}{\Sigma_{22}} (y_2 - \mu_2), \Sigma_{11} - \frac{\Sigma_{12}^2}{\Sigma_{22}}\right)

Linear Gaussian System

Bayes' Theorem for Gaussian

잠재 변수에 대한 사후 분포는 다음과 같이 주어집니다.

p(zy)=N(zμzy,Σzy)p(z | y) = \mathcal{N}(z | \mu_{z|y}, \Sigma_{z|y})
Σzy1=Σz1+WTΣy1W\Sigma_{z|y}^{-1} = \Sigma^{-1}_z + W^T \Sigma^{-1}_y W
μzy=Σzy[WTΣy1(yb)+Σz1μz]\mu_{z|y} = \Sigma_{z|y} \left[ W^T \Sigma^{-1}_y (y - b) + \Sigma^{-1}_z \mu_z \right]

이는 가우시안에 대한 베이즈 정리(Bayes' Rule for Gaussians)로 알려져 있습니다. 또한, 사후 분포의 정규화 상수는 다음과 같이 주어집니다.

p(y)=N(zμ,Σ)N(yWz+b,Σy)dz=N(yWμ+b,Σy+WΣWT)p(y) = \int \mathcal{N}(z | \mu, \Sigma) \mathcal{N}(y | Wz + b, \Sigma_y) dz = \mathcal{N}(y | W\mu + b, \Sigma_y + W \Sigma W^T)

gaussian prior p(z)p(z)와 gaussian likelihood p(yz)p(y|z)가 결합될 때 사후 분포 p(zy)p(z|y)가 또 다른 가우시안 분포가 됨을 볼 수 있습니다. 따라서 가우시안은 bayesian 조건부 연산에 대해 닫혀 있습니다. 이를 더 일반적으로 설명하기 위해, 가우시안 사전 분포는 가우시안 우도의 켤레 사전 분포(Conjugate Prior)라고 합니다.

Derivation of conditional mena and covariance

conditional mean, covariance를 유도할 수 있습니다. 기본 아이디어는 joint distribution p(z,y)=p(z)p(yz)p(z, y) = p(z)p(y|z)를 유도한 다음 p(zy)p(z|y)를 계산하는 것입니다.

자세히 설명하면, 다음과 같이 진행됩니다. joint distribution의 로그는 다음과 같습니다.

logp(z,y)=12(zμ)TΣz1(zμ)12(yWzb)TΣy1(yWzb)\log p(z, y) = -\frac{1}{2}(z - \mu)^T \Sigma^{-1}_z (z - \mu) - \frac{1}{2}(y - Wz - b)^T \Sigma^{-1}_y (y - Wz - b)

이는 분포가 이차 형식의 지수 함수이므로 joint gaussian distribution임을 나타냅니다. zzyy를 포함하는 이차 항을 확장하고, 선형 및 상수 항을 무시하면 다음과 같습니다.

Q=12zTΣz1z12(yWzb)TΣy1(yWzb)Q = -\frac{1}{2} z^T \Sigma^{-1}_z z - \frac{1}{2} (y - Wz - b)^T \Sigma^{-1}_y (y - Wz - b)

이를 추가적으로 정리하면

Cov1=Σ1+WTΣy1W=Λ=(ΛzzΛzyΛyzΛyy)\text{Cov}^{-1} = \Sigma^{-1} + W^T \Sigma^{-1}_y W = \Lambda = \begin{pmatrix} \Lambda_{zz} & \Lambda_{zy} \\ \Lambda_{yz} & \Lambda_{yy} \end{pmatrix}
μzy=Σzy[WTΣy1(yb)+Σz1μz]\mu_{z|y} = \Sigma_{z|y} [W^T \Sigma^{-1}_y (y - b) + \Sigma^{-1}_z \mu_z]
=Σzy[WTΣy1(yb)]= \Sigma_{z|y} [W^T \Sigma^{-1}_y (y - b)]
=ΣzyΣz1μz+ΣzyWTΣy1(yb)= \Sigma_{z|y} \Sigma^{-1}_z \mu_z + \Sigma_{z|y} W^T \Sigma^{-1}_y (y - b)
=Σzy(WTΣy1y+Σz1μzWTΣy1b)= \Sigma_{z|y} (W^T \Sigma^{-1}_y y + \Sigma^{-1}_z \mu_z - W^T \Sigma^{-1}_y b)

만약 유도를 해야한다면 상수 항에 대한 처리나 그 결과가 여전히 gaussian임을 보이는 추가적인 작업은 필요할 것 같습니다.

Completing the Square

gaussian을 다룰 때, 제곱 완성(Completing the Square)이라는 대수적 트릭을 사용하는 것이 일반적입니다.

스칼라의 경우, 다음과 같이 쓸 수 있습니다.

f(x)=ax2+bx+c=a(xh)2+kf(x) = ax^2 + bx + c = a(x - h)^2 + k
h=b2ah = -\frac{b}{2a}
k=cb24ak = c - \frac{b^2}{4a}

벡터의 경우, 다음과 같이 쓸 수 있습니다.

f(x)=xTAx+xTb+c=(xh)TA(xh)+kf(x) = x^T A x + x^T b + c = (x - h)^T A (x - h) + k
h=12A1bh = -\frac{1}{2} A^{-1} b
k=c14bTA1bk = c - \frac{1}{4} b^T A^{-1} b

즉, 여러 gaussian의 조합 과정에서 그 결과가 gaussian임이 보장되면 그때의 mean과 covariance는 쉽게 알아낼 수 있습니다.
exponent 쪽에 있는 상수는 쉽게 빼내어 정규화를 위한 것으로 간주할 수 있기 때문입니다.


Multivariate distribution과 Multivariate Gaussian에 대해 알아봤습니다. Multivariate Gaussian의 경우, joint, conditional일 때의 distribution과 mean, covariance는 자주 쓰이는 느낌입니다. 이를 활용한 응용(e.g., Kalman filter)도 많고, 특히 여러 gaussian을 조합해서 그 결과가 여전히 gaussian임과 그때의 mean, covariance가 어떻게 되는지 유도해보는 것도 좋을 듯 합니다.

0개의 댓글