본문 바로가기
스터디/확률과 통계

Multivariate Gaussian Distribution (다변량 정규분포, 다변량 가우시안 분포)

by 궁금한 준이 2024. 1. 23.
728x90
반응형

 

Multivariate Gaussian Distribution and its joint, marginal, conditional, MLE

Multivariate Gaussian Distribution

다변량 가우시안 분포는 다음과 같은 확률밀도함수(pdf)를 갖는다.

 

\[ p(x; \mu, \Sigma) = \cfrac{1}{(2 \pi)^{n/2} |\Sigma|^{1/2}} \exp \left[ -\cfrac{1}{2} (x-\mu)^T \Sigma^{-1} (x-\mu) \right] \]

이때 $n$은 데이터의 차원, $x \in \mathbb{R}^{n}$, $\mu \in \mathbb{R}^{n}$, $\Sigma \in \mathbb{R}^{n \times n}$ 이다.

$x$는 random vector, $\mu$는 mean vector, $\Sigma$는 covariance matrix 이다.

$X \sim \mathcal{N}(\mu, \Sigma)$라고 표기한다.

 

※ $X \sim MVN(\mu, \Sigma)$로도 표기하기도 한다.

※ normalized constant로 $\cfrac{1}{\sqrt{(2 \pi)^n |\Sigma|} }$로 표기하기도 한다.

 

Covariance Matrix (공분산 행렬)

두 확률변수 $X$, $Y$의 공분산은 다음과같이 정의한다.

\begin{align} Cov(X, Y) &= E[(X-E[X]) (Y-E[Y])] \\ &= E[XY] - E[X]E[Y] \end{align}

 

이제 $X$가 다변수이므로, covariance matrix는 각 쌍(pair)의 공분산을 나타낸다. 즉 $\Sigma$의 $(i, j)$의 값은 $Cov(X_i, X_j)$이다.

 

Proposition 1. 

\[ \Sigma = E[XX^T] - \mu \mu^T \]

 

Proof

정의에 따라 $\Sigma$는 다음과 같다.

 

\begin{align}
\Sigma &= 
\begin{bmatrix}
    \text{Cov}[X_1, X_1] & \cdots & \text{Cov}[X_1, X_n] \\
    \vdots & \ddots & \vdots \\
    \text{Cov}[X_n, X_1] & \cdots & \text{Cov}[X_n, X_n]
\end{bmatrix} \\
&=
\begin{bmatrix}
    E[(X_1 - \mu_1)(X_1 - \mu_1)] & \cdots & E[(X_1 - \mu_1)(X_n - \mu_n)] \\
    \vdots & \ddots & \vdots \\
    E[(X_n - \mu_n)(X_1 - \mu_1)] & \cdots & E[(X_n - \mu_n)^2]
\end{bmatrix} \\
&= E
\begin{bmatrix}
    (X_1 - \mu_1)^2 & \cdots & (X_1 - \mu_1)(X_n - \mu_n) \\
    \vdots & \ddots & \vdots \\
    (X_n - \mu_n)(X_1 - \mu_1) & \cdots & (X_n - \mu_n)^2
\end{bmatrix} \\
&= E
\left[
\begin{array}{c}
    X_1 - \mu_1 \\
    \vdots \\
    X_n - \mu_n
\end{array}
\right]
\begin{bmatrix}
    X_1 - \mu_1 & \cdots & X_n - \mu_n
\end{bmatrix} \\
&= E[(X - \mu)(X - \mu)^T].
\end{align}

 

여기서 알 수 있는 것은 $\Sigma$를 구할 때 매번 $Cov(X_i, X_j)$를 계산할 필요없이 $x$에서 평균값을 뺀 $x-\mu$의 외적($(x-\mu)(x-\mu)^T$)으로 간단히 구할 수 있다는 것이다.

 

Proposition 2. 

$\Sigma$ is symmetric positive semi-definite.

 

Proof

임의의 non-zero column vector $z \in \mathbb{R}^{d}$에 대하여 $z^T \Sigma z \ge 0$임을 보인다.

\begin{align*}
z^T\Sigma z &= \sum_{i=1}^{n} \sum_{j=1}^{n} (\Sigma_{ij}z_iz_j) \\
&= \sum_{i=1}^{n} \sum_{j=1}^{n} (\text{Cov}[X_i, X_j] \cdot z_iz_j) \\
&= \sum_{i=1}^{n} \sum_{j=1}^{n} (\text{E}[(X_i - \text{E}[X_i])(X_j - \text{E}[X_j])] \cdot z_iz_j) \\
&= \text{E}\left[\sum_{i=1}^{n} \sum_{j=1}^{n} (X_i - \text{E}[X_i])(X_j - \text{E}[X_j]) \cdot z_iz_j \right]
\end{align*}

 

Theorem

$n$차원에서 정의된 $\mu \in \mathbb{R}^{n}$, $\Sigma \in \mathbb{R}^{n \times n}$에 대하여 $X \sim \mathcal{N}(\mu, \Sigma)$이고 $Z \sim \mathcal{N}(0, I)$에 대하여, $Z = A^{-1}(X-\mu)$을 만족하는 행렬 $A \in \mathbb{R}^{n \times n}$이 존재한다. 즉, $X = AZ + \mu$인 선형변환을 통해 $Z$로부터 $X$의 분포를 얻을 수 있다.

 

Proof

See Appendix A.2 of [1]

 

Samples of 2D Multivariate Gaussian Distribution

$\Sigma$에 따라 데이터 분포가 어떻게 생겼는지 알아보자.


\[ \Sigma=\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} \]
$Cov(X, X)=Var(X)$이므로 대각성분은 분산을 의미한다. 즉
$\Sigma_{11}=1$: $x$축 방향의 분산이 $1$이다.
$\Sigma_{22}=1$: $y$축 방향의 분산이 $1$이다.
$\Sigma_{12}=1$: $Cov(X, Y)=1$
즉 $x$차원과 $y$의 차원의 correlation도 1이다. 이 두 차원은 highly correlated라 할 수 있다.


\[ \Sigma=\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \]
모든 방향의 분산이 $0$이므로 오직 하나의 점으로만 분포한다.


\[ \Sigma=\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} \]
$x$축 차원 방향으로만 분산이 $1$이다.
나머지 $y$축방향으로는 분산이 $0$이다.

\[ \Sigma=\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \]
$\Sigma_{11}=1$: $x$축 방향의 분산이 $1$이다.
$\Sigma_{22}=1$: $y$축 방향의 분산이 $1$이다.
그러나 공분산 요소는 $0$이다. 즉 $x$차원과 $y$차원의 correlation은 없다.

\[ \Sigma=\begin{bmatrix} 5 & 0 \\ 0 & 1 \end{bmatrix} \]
특정차원(여기서는 $x$축 차원)의 분산이 더 크다.
그러나 이 두 차원의 공분산은 $0$이다.

\[ \Sigma=\begin{bmatrix} 1 & 0 \\ 0 & 5 \end{bmatrix} \]
특정차원(여기서는 $y$축 차원)의 분산이 더 크다.
그러나 이 두 차원의 공분산은 $0$이다.


\[ \Sigma=\begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix} \]
각 차원의 분산은 $2$이면서 두 차원의 correlation은 $1$이다.


\[ \Sigma=\begin{bmatrix} 2 & -1 \\ -1 & 2 \end{bmatrix} \]
각 차원의 분산은 $2$이면서 두 차원의 correlation은 $-1$이다.

 

Joint, Marginal and Conditional Gaussian

[Joint Gaussian] $p(x_1, x_2)$

\[ \mu = \begin{bmatrix} \mu_1 \\ \mu_2 \end{bmatrix}, \quad \Sigma = \begin{bmatrix} \Sigma_{11} & \Sigma_{12} \\ \Sigma_{21} & \Sigma_{22} \end{bmatrix} \]

 

[Marginal Gaussian]

$x_1, x_2 \sim \mathcal{N}(\mu, \Sigma)$일 때, $x_2 \sim \mathcal{N}(\mu_2, \Sigma_{22})$ 이다.

 

[Conditional Gaussian]

\[ p(x_1 | x_2) = \cfrac{\mathcal{N}(x;\mu, \Sigma)}{\mathcal{N}(x_2; \mu_2, \Sigma_{22})} \]

자세한 식 전개는 [4]를 참고.

 

\[ \mu_{1|2} = \mu_1 + \Sigma_{12} \Sigma_{22}^{-1} (x_2 - \mu_2) \]

\[ \Sigma_{1|2} = \Sigma_{11} - \Sigma{12} \Sigma_{22}^{-1} \Sigma_{21} \]

 

반응형

Maximum Likelihood Estimation (MLE)

$N$개의 data point로 이루어진 데이터셋 $\mathcal{D}=\{x_1, \dots, x_N \}$가 다변수 가우시안 분포에서 샘플링되었다고 하자. 이때 MLE를 이용하여 파라미터 $\mu$와 $\Sigma$를 구해보자.

 

log-likelihood를 $l(\cdot)$라 하자. 그러면 MVG의 log-likelihood는 다음과 같다.

\[ l(\mu, \Sigma | \mathcal{D}) = -\cfrac{N}{2} \log |\Sigma| - \cfrac{1}{2} \sum_{i=1}^{N}(x_i - \mu)^T \Sigma^{-1} (x_i - \mu) \]

 

$\mu$의 partial을 구하면

\[ \cfrac{\partial l}{\partial \mu} = \sum_{i=1}^{N}(x_i - \mu)^T\Sigma^{-1} \]

이 값이 $0$이 되는 $\mu$를 구하면 

\[ \hat{\mu} = \cfrac{1}{N} \sum_{i=1}^{N}x_i \]

즉, $\mu$의 MLE는 표본평균(sample mean)이다.

 

$\Sigma$의 MLE를 구하기 전에 몇가지 skill을 정리하자.

  • $\text{tr}[ABC] = \text{tr}[CAB] = \text{tr}[BCA]$ (cyclical invariant)
  • $\cfrac{\partial}{\partial A}\text{tr}[BA] = B^T$
  • $\cfrac{\partial}{\partial A}x^TAx = \cfrac{\partial}{\partial A}\text{tr}[xx^TA] = [xx^T]^T = xx^T$
  • $\cfrac{\partial}{\partial A}\log |A| = A^{-T}$

다시 공분산 $\Sigma$의 log-likelihood를 정리해보자.

\begin{align*}
l(\Sigma | D) &= -\frac{N}{2} \log |\Sigma| - \frac{1}{2} \sum_{n} (x_n - \mu)^T \Sigma^{-1} (x_n - \mu) \\
&= -\frac{N}{2} \log |\Sigma|^{-1} - \frac{1}{2} \sum_{n} \text{tr}\left((x_n - \mu)^T \Sigma^{-1} (x_n - \mu)\right) \\
&= -\frac{N}{2} \log |\Sigma|^{-1} - \frac{1}{2} \sum_{n} \text{tr}\left(\Sigma^{-1} (x_n - \mu) (x_n - \mu)^T\right)
\end{align*}

 

$\Sigma^{-1}$의 partial을 구하면

\[ \cfrac{\partial l}{\partial \Sigma^{-1}} = \cfrac{N}{2}|\Sigma| - \cfrac{1}{2}\sum_{i=1}^{N}(x_i - \mu)(x_i - \mu)^T \]

따라서 $\Sigma$의 MLE는

\[ \hat{\Sigma} = \cfrac{1}{N}\sum_{i=1}^{N} (x_i - \hat{\mu})(x_i - \hat{\mu})^T \]

이는 각 data point에서 sample mean을 뺀 벡터의 outer product와 동일하다. 

 

(표본분산의 경우와 비슷하게) bias-corrected estimator로 $\hat{\Sigma} = \cfrac{1}{N-1}\sum_{i=1}^{N}(x_i - \hat{\mu})(x_i - \hat{\mu})^T$를 이용할 수 있다.

References

[1] https://cs229.stanford.edu/section/gaussians.pdf

[2] https://www.youtube.com/watch?v=RMMQk8zPxm0&t=159s (0:00 ~ 6:20)

[3] https://people.eecs.berkeley.edu/~jordan/courses/260-spring10/other-readings/chapter13.pdf

[4] https://statproofbook.github.io/P/mvn-cond.html

[5] https://www.cs.cmu.edu/~epxing/Class/10701-08s/recitation/gaussian.pdf

 

728x90
반응형