-
[확률분포] 다변량 가우시안 분포 (Multivariate Gaussian Distribution)Probabilistic Models 2023. 7. 28. 17:33
Multivariate Gaussian Distribution 이란?
다변량 가우시안 분포 (Multivariate gaussian distribution) 은 $K$-차원(다차원)의 랜덤벡터 $X = \left( X_{1}, ..., X_{k} \right)^{T}$의 정규분포로 평균값을 중심으로 군집화 되어 있는 상관 관계있는 랜덤 변수 집합을 설명하는데 자주 사용된다.
* D는 데이터 차원을 뜻한다. (여기서 $D=k$)$$\mathcal{N} \left( x | \mu, \Sigma \right) = \frac{1}{(2\pi )^{D/2}} \frac{1}{|\Sigma |^{1/2}} exp\left( -\frac{1}{2}(x-\mu)^{T} \Sigma^{-1} (x-\mu)\right)$$
$$X \sim \mathcal{N} (\mu, \Sigma ) $$$$\mu = \mathrm{E} [\mathrm{X}] = \left( \mathrm{E} [\mathrm{X}_{1}], \mathrm{E} [\mathrm{X}_{2}], ..., \mathrm{E} [\mathrm{X}_{k}] \right)^{T} $$$$ \Sigma_{i, j} := \mathrm{E}\left[ \left( \mathrm{X}_{i} - \mu_{i}\right) \left( \mathrm{X}_{j} - \mu_{j}\right) \right] = Cov\left[ \mathrm{X}_{i}, \mathrm{X}_{j} \right]$$


서로 다른 공분산을 가진 Multivariate Noraml Distribution $$\begin{align} \mbox{(a)}{\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}} \quad \mbox{(b)}{\begin{bmatrix} 0.6 & 0 \\ 0 & 2 \end{bmatrix}} \quad \mbox{(c)}\begin{bmatrix} 1 & 0.8 \\ 0.8 & 1 \end{bmatrix} \tag{c} \end{align}$$
Multivariate Gaussian Distribution 특징
- 공분산 행렬의 값과 분포의 크기가 비례한다.
- 공분산 행렬의 우상향 대각선은 두 분포의 상관성(Correlation)을 나타낸다.
- 분포의 크기가 커지면 분포의 높이는 낮아진다.
- 부피의 합은 1이다.
- 계산비용이 크다.
Python Code for Multivariate Gaussian Distribution
def multivariate_gaussian(x, dim, mean, cov): x_norm = x - mean cov_sqrt = np.sqrt((2 * np.pi)**dim * np.linalg.det(cov)) x_tran = np.linalg.solve(cov, x_norm).T.dot(x_norm) return (1. / cov_sqrt) * np.exp(-x_tran / 2)참조:
- https://dhpark1212.tistory.com/entry/다변량-가우시안-분포Multivariate-Gaussian-Distribution
- https://ratsgo.github.io/speechbook/docs/am/gmm
Gaussian Mixture Model
articles about speech recognition
ratsgo.github.io
다변량 가우시안 분포(Multivariate Gaussian Distribution)
1. Multivariate Gaussian Distribution 2. Multivariate Gaussian Distribution 특징 3. Multivariate Gaussian Distribution의 활용 4. 코드 1. Multivariate Gaussian Distribution - 일차원의 정규 분포를 다차원으로 확장 시킨 개념 - 평균
dhpark1212.tistory.com
- 공분산 행렬의 값과 분포의 크기가 비례한다.