읽기일기

Computer Vision : models, learning and inference (5) Normal distribution

http://www.computervisionmodels.com/

머신 비전 분야에서 불확실성(uncertainty)을 표현하기 위한 방법으로는 주로 multivariate normal 분포를 사용합니다. 이 분포에 대해서는 3장에서 살펴보았으므로 기초적인 부분에 대해서는 3장을 참고하도록 합시다.

5.1 Types of covariance matrix

Multivariate normal의 Covariance 행렬은 3가지 형태로 나눌 수 있습니다. 그것은 각각 spherical, diagonal, full covariance입니다. 2차원을 예로 들면 다음과 같습니다.

$$\mathbf{\Sigma}_{\text{spher}} = \begin{bmatrix} \sigma^2 &\ 0 \\ 0 &\ \sigma^2 \end{bmatrix}$$

$$\mathbf{\Sigma}_{\text{diag}} = \begin{bmatrix} \sigma_1^2 &\ 0 \\ 0 &\ \sigma_2^2 \end{bmatrix}$$

$$\mathbf{\Sigma}_{\text{full}} = \begin{bmatrix} \sigma_{11}^2 &\ \sigma_{12}^2 \\ \sigma_{21}^2 &\ \sigma_{22}^2 \end{bmatrix}, \sigma_{12} = \sigma_{21}$$

이러한 covariance 행렬은 iso-contour를 생성하게 됩니다. D차원에서의 spherical covariances는 D-sphere의 iso-contour를, diagonal covariances는 좌표 축에 정렬된 D-차원 ellipsoids 형태를, 마지막으로 full-covariances는 제약 조건이 없는 D차원의 ellipsoids의 모양을 갖습니다.

Covariance가 spherical이나 diagonal일 경우, 각 변수들은 서로 독립(independent)입니다.

5.2 Decomposition of covariance

Full covariances를 가지는 normal 분포가 주어졌을 때, 그것이 가지는 iso-contour의 축들이 있음을 알고 있습니다. 이러한 축들에 대해 새로운 좌표계를 생각해 볼 수 있습니다. 새로운 좌표계에서의 위치 $\mathbf{x}' = \mathbf{Rx}$로 나타낼 수 있습니다. 또한 covariance는 $\mathbf{\Sigma}_\text{full} = \mathbf{R}^T \mathbf{\Sigma}'_\text{diag} R $로 나타낼 수 있으며, $R$에 의해서 diagonal covariance로 변화게 됩니다.

그리고 행렬 $R$의 컬럼들은 ellipsoid의 주 축에 대한 정보를 가지고 있습니다.

5.3 Linear transformations of variables

Multivariate normal 분포의 linear transformation $ \mathbf{y} = \mathbf{Ax} + \mathbf{b} $는 다음과 같이 변환할 수 있습니다.

$$Pr(\mathbf{x}) = \text{Norm}_\mathbf{x}[ \mathbf{\mu}, \mathbf{\Sigma}]$$

$$Pr(\mathbf{y}) = \text{Norm}_\mathbf{y}[ \mathbf{A\mu} + \mathbf{b}, \mathbf{A \Sigma A}^T]$$

5.4 Marginal distributions

Multivariate normal 분포에서 일부 변수를 marginalize하여도, 남은 변수들의 분포 또한 normal 분포입니다. 따라서 관심있는 변수의 marginal 분포의 평균과 covariance를 찾고자 할 때에는, 원래 분포에서 관련성 있는 변수들만을 추출하여 살펴보면 됩니다.

5.5 Conditional distributions

일부 변수에 대하여 어떤 알려진 값이 주어졌을 경우, 남은 변수들의 분포는 역시 multivariate normal 분포입니다.

5.6 Product of two normals

두개의 normal 분포의 곱은 제3의 normal 분포에 비례합니다. 예를 들어 두개의 분포가 평균 $\mathbf{a}, \mathbf{b}$, covariance $\mathbf{A}, \mathbf{B}$를 가진다고 한다면 그 식은 다음과 같습니다.

$$\text{Norm}_{\mathbf{x}}[\mathbf{a}, \mathbf{A}]\text{Norm}_{\mathbf{x}}[\mathbf{b}, \mathbf{B}] = \kappa \cdot \text{Norm}_{\mathbf{x}}[(\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}(\mathbf{A}^{-1}\mathbf{a} + \mathbf{B}^{-1}\mathbf{b}), (\mathbf{A}^{-1} + \mathbf{B}^{-1})^{-1}]$$

$$\kappa = \text{Norm}_{\mathbf{a}}[\mathbf{b}, \mathbf{A} + \mathbf{B}] = \text{Norm}_{\mathbf{b}}[\mathbf{a}, \mathbf{A} + \mathbf{B}]$$

5.6.1 Self-conjugacy

앞에서 본 것과 같이 normal 분포는 그 평균을 반영하여 self-conjugate 성질을 갖습니다. 따라서 서로 곱해지는 두 분포가 정해진 평균과 분산을 갖는다면 그 conjugace 또한 normal 분포입니다. 하지만 두 파라미터가 불확실(uncertain)한 경우에는 normal inverse Wishart 분포를 사용하여야 합니다.

5.7 Change of variable

어떠한 normal 분포의 평균 $\mathbf{x}$$\mathbf{Ay} + \mathbf{b}$로 변환된 분포였을 경우, 우리는 이 분포를 다시 $\mathbf{y}$에 대한 분포로 변환할 수 있습니다. 이는 선형 변환 $\mathbf{y} = \mathbf{A'x}+ \mathbf{b'}$을 이용하여 이루어집니다. 그리고 이를 분포에 반영할 수 있습니다.

$$\text{Norm}_{\mathbf{x}} = [\mathbf{Ay} + \mathbf{b}, \mathbf{\Sigma}] = \kappa \cdot \text{Norm}_\mathbf{y}[\mathbf{A'x} + \mathbf{b'}, \mathbf{\Sigma}]$$

여기서 $\kappa$는 상수이고 새로 정해지는 파라미터는 아래와 같습니다.

$$\mathbf{\Sigma'} = (\mathbf{A}^T \mathbf{\Sigma}^{-1} A)^{-1}$$

$$\mathbf{A'} = (\mathbf{A}^T \mathbf{\Sigma}^{-1} A)^{-1} \mathbf{A}^T \mathbf{\Sigma}^{-1}$$

$$\mathbf{b'} = -(\mathbf{A}^T \mathbf{\Sigma}^{-1} A)^{-1} \mathbf{A}^T \mathbf{\Sigma}^{-1} \mathbf{b}$$


Add a Comment Trackback