통계학은 인공지능과 겹치는 부분이 매우 많고, 쉬운 개념도 잊기 쉽다.
매우 기초적인 지식은 알고 있다고 가정하고, 머신러닝을 수행하기 위한 내용을 공부해보자.
학부 과정에서 배운 확률과 통계, 데이터마이닝 내용과 책 'Mathematics for Machine Learning'을 참고했다.
목차
7. Gaussian Distribution
가우스 분포는 정규분포(Normal Distribution)라고도 불릴 만큼, 연속형 자료의 분포를 표현하는 데 많이 사용되는 분포이다.
\( \forall X = \text{continuous random variable} \)
\( \exists f : \text{probability density function} \)
\( f(x) = \frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^2}{2 \sigma^2} \right) \)
\( \Rightarrow X \sim N(\mu, \sigma^2) \text{with parameter} \; \mu, \sigma^2 \)
\( X \sim N(\mu, \sigma^2) \)는 '확률 분포 X가 평균 \(\mu\), 분산 \(\sigma^2\)인 정규분포를 따른다'라는 표현이며, 이에 따라 다음을 만족한다.
\( E(X) = \mu, Var(X) = \sigma^2 \)
추가적으로, 기댓값 뿐만 아니라 중앙값, 최빈값 또한 모두 \(\mu\)이다.
확률은 다음과 같이 구할 수 있다. 그림에는 \(\phi\)를 사용했지만, \(p\)로 생각하자.
\(P(a \leq x < b) = \int_a^b f(x) dx \)
가우스 분포는 계산적으로 간단한 특성을 많이 갖고 있다.
- Linear Regression에서의 likelihood와 prior 정의에 사용된다.
- density estimation에 가우스 분포를 혼합한 방식을 사용한다.
머신러닝과 다른 분야에서도 다음과 같이 사용된다.
- Gausian processes
- variational inference
- Reinforcement learning
- signal processing (e.g. Kalman filter)
- control (e.g. linear quadratic regulator)
- statistics (e.g. hypothesis testing)
1) Standard (Normal) Distribution
그런데, 위 정의에서 볼 수 있듯이 pdf가 매우 복잡하므로, 보통 표준 (정규)분포(Standard Normal Distribution)를 사용하여 계산한다.
표준 분포는 평균이 0, 분산이 1인 가우스 분포이다.
\( \forall X \text{continuous random variable} \)
\( \exists f : \text{probability density function} \)
\( z = \frac{x - \mu}{\sigma} \)
\( f(z) = \frac{1}{\sqrt{2 \pi}} exp(-\frac{z^2}{2}) \)
\( \Rightarrow Z \sim N(0, 1) \)
주어진 확률 분포 \(X\)를 \(\mu, \sigma\)를 사용하여 \(Z\)로 바꾸어주면 다음과 같이 간단하게 확률을 구할 수 있다.
\( P( a \leq x < b) = \int_a^b f(x) dx = \int_\alpha^beta f(z) dz = \int_\alpha^\beta \frac{1}{\sqrt{2 \pi}} exp(-frac{z^2}{2}) dz \)
여기서, \( \alpha = \frac{a - \mu}{\sigma}, \beta = \frac{b - \mu}{\sigma} \)이다.
가우스 분포를 따르는 어떤 확률 분포든 \(Z\)로 변환할 수 있으므로, 위와 같은 정규 분포의 확률을 계산하기 쉽게 table이 존재한다.
2) More general representation
아래부터는 심화 내용이다. 위 내용까지만 알아도 충분히 기본적인 문제를 해결할 수 있다.
좀 더 일반적으로, 다음과 같이 단일변수 pdf를 표현하기도 한다.
(for a univariate random value, the Gaussian distribution has a density that is given by)
\( p(x | \mu, \sigma^2) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left( - \frac{(x- \mu)^2}{2 \sigma^2} \right) \)
다변수는 mean vector \(\boldsymbol{\mu}\)와 covariance matrix \( \boldsymbol{\Sigma} \)를 사용하여 다음과 같이 정의한다.
\( p( \boldsymbol{x} | \boldsymbol{\mu}, \boldsymbol{\Sigma} ) = (2 \pi)^{-\frac{D}{2}} |\boldsymbol{\Sigma}|^{-\frac{1}{2}} \exp \left( - {1 \over 2} (\boldsymbol{x} -\boldsymbol{\mu})^T\boldsymbol{\Sigma}^{-1} (\boldsymbol{x} -\boldsymbol{\mu}) \right) \)
이때 \( \boldsymbol{x} \in \mathbb{R}^D \)이다.
위와 비교해보면, 단순히 확률 변수, 평균, 분산을 벡터와 행렬로 변환한 형태일 뿐이다.
이때 확률 변수 X가 mean \(\boldsymbol{\mu} \), covariance matrix \( \boldsymbol{\Sigma} \)를 갖는 정규 분포를 따른다고 표현할 때, 다음의 두 가지 방법을 사용한다.
\( p(x) = \mathcal{N} (\boldsymbol{x} | \boldsymbol{\mu}, \boldsymbol{\Sigma}) \)
또는
\( X \sim \mathcal{N} ( \boldsymbol{\mu}, \boldsymbol{\Sigma} ) \)
그리고, 표준정규분포는 \( \boldsymbol{\mu} = \boldsymbol{0} \) (영벡터), \( \boldsymbol{\Sigma} = \boldsymbol{I} \)일 때를 말한다.
3) Marginals and Conditionals of Gaussians
두 개의 multivariate random value \(X\), \(Y\)를 생각해보자. 또한 이들은 서로 다른 차원을 갖고 있다 가정하자.
확률에서의 sum rule을 적용하고, conditioning을 적용하기 위해, 연결된 states \( [ \mathbf{x}^T, \mathbf{y}^T ]\)에 대한 Gaussian distribution을 다음과 같이 정의할 수 있다.
\( p( \mathbf{x}, \mathbf{y} ) = \mathcal{N} \left( \begin{bmatrix} \boldsymbol{\mu}_x \\ \boldsymbol{\mu}_y \end{bmatrix}, \begin{bmatrix} \boldsymbol{\Sigma}_{xx} & \boldsymbol{\Sigma}_{xy} \\ \boldsymbol{\Sigma}_{yx} & \boldsymbol{\Sigma}_{yy} \end{bmatrix} \right) \)
여기서 \( \boldsymbol{\Sigma}_{xx} \) 와 \( \boldsymbol{\Sigma}_{yy} \)는 marginal covariance matrices, 즉 대각 성분이 각 성분의 분산이고 나머지가 0인 행렬이고, \( \boldsymbol{\Sigma}_{xy} \)는 \(\mathbf{x}\)와 \(\mathbf{y}\)의 cross-covariance matrix이다.
conditional distribution \( p(x|y) \) 또한 가우스 분포인데, 다음과 같이 주어진다.
\( p( \mathbf{x} | \mathbf{y} ) = \mathcal{N} \left( \boldsymbol{\mu}_{\mathbf{x} | \mathbf{y}} , \boldsymbol{\Sigma}_{\mathbf{x} | \mathbf{y}} \right) \)
여기서 평균 벡터와 분산 행렬은 다음과 같이 정해진다.
\( \boldsymbol{\mu}_{\mathbf{x} | \mathbf{y}} = \boldsymbol{\mu}_{\mathbf{x}} + \boldsymbol{\Sigma}_{\mathbf{x}\mathbf{y}} \boldsymbol{\Sigma}_{\mathbf{y}\mathbf{y}}^{-1} ( \mathbf{y} - \boldsymbol{\mu}_\mathbf{y} ) \)
\( \boldsymbol{\Sigma}_{\mathbf{x} | \mathbf{y}} = \boldsymbol{\Sigma}_{\mathbf{x}\mathbf{x}} - \boldsymbol{\Sigma}_{\mathbf{x}\mathbf{y}} \boldsymbol{\Sigma}_{\mathbf{y}\mathbf{y}}^{-1} \boldsymbol{\Sigma}_{\mathbf{y}\mathbf{x}} \)
\( \boldsymbol{\mu}_{\mathbf{x} | \mathbf{y}} \)를 구할 때, y값은 더이상 random variable이 아닌 관측값임을 주목하자.
joint Gaussian distribution \(p(\mathbf{x}, \mathbf{y} ) \)의 marginal distribution \(p(\mathbf{x}) \) 또한 가우스 분포이며, sum rule을 적용하여 계산 시 다음과 같이 구할 수 있다.
\( p( \mathbf{x} ) = \int p(\mathbf{x}, \mathbf{y} ) d\mathbf{y} = \mathcal{N} ( x | \boldsymbol{\mu}_\mathbf{x}, \boldsymbol{\Sigma}_{\mathbf{x}\mathbf{x}} ) \)
이는 \(\mathbf{y}\)에 대해서도 \(\mathbf{x}\)에 대해 marginalize하는 방식으로 똑같이 구할 수 있다.
이는 여러 확률 변수에 대한 joint distribution에서 원하는 변수만 표현하도록 하거나 (marginal), 다른 변수를 관측하였을 때의 분포를 얻을 때 (conditional) 유용하게 사용할 수 있다.
4) Product of Gaussian Densities
Linear Regression 등에서 Gaussian likelihood를 계산해야 할 때가 있다.
이때 Gaussian prior를 가정하고 Bayes' Theorem을 사용하여 posterior를 계산하게 되는데, 이 과정에서 likelihood와 prior의 곱을 진행하게 된다.
이러한 Gaussian density들의 곱을 'product of two Gaussian densities'라 한다.
예를 들어, 가우스 분포의 곱 \( \mathcal{N} ( \boldsymbol{x} | \boldsymbol{a}, \boldsymbol{A}) \mathcal{N} ( \boldsymbol{x} | \boldsymbol{b},\boldsymbol{B}) \)는 스칼라(실수) \(c\)가 곱해진 \( c \mathcal{N} ( \boldsymbol{x} |\boldsymbol{c},\boldsymbol{C})\)로 나타낼 수 있다.
여기서 \(c, \boldsymbol{c}, \boldsymbol{C}\)는 다음과 같다.
\( \boldsymbol{C} = ( \boldsymbol{A}^{-1} + \boldsymbol{B}^{-1} )^{-1} \)
\( \boldsymbol{c} = \boldsymbol{C}( \boldsymbol{A}^{-1} \boldsymbol{a} + \boldsymbol{B}^{-1} \boldsymbol{b} ) \)
\( c = (2 \pi)^{- { D \over 2}} |\boldsymbol{A} + \boldsymbol{B}|^{- {1 \over 2}} \exp \left( - {1 \over 2} (\boldsymbol{a} - \boldsymbol{b})^T (\boldsymbol{A} + \boldsymbol{B})^{-1} (\boldsymbol{a} - \boldsymbol{b}) \right) \)
위 식에서의 스케일링 상수 c는 매우 복잡한데, 그 자체로 가우스 분포 상의 값이므로 다음과 같이 간단히 표현한다.
\( c = \mathcal{N} \left( \boldsymbol{a} | \boldsymbol{b}, \boldsymbol{A} + \boldsymbol{B} \right) = \mathcal{N} \left( \boldsymbol{b} | \boldsymbol{a}, \boldsymbol{A} + \boldsymbol{B} \right) \)
여기서, \( \boldsymbol{a} \)와 \( \boldsymbol{b} \)는 random variable이 아니지만 Gaussian density를 함수 형태로 간략하게 쓰기 위해 위와 같이 썼다. matrix \( \boldsymbol{A} + \boldsymbol{B} \)는 inflated covariance matrix라 부른다.
5) Sums and Linear Transformations
\( X\), \(Y\)가 independent Gaussian random variables라 할때, 즉, joint distribution \(p(\mathbf{x}, \mathbf{y}) = p(\mathbf{x}) p(\mathbf{y}) \)일 때,
이들의 합 \( \mathbf{x} + \mathbf{y} \)는 가우스 분포이며, 다음과 같이 나타낸다.
\( p(\mathbf{x} + \mathbf{y} ) = \mathcal{N} \left( \boldsymbol{\mu}_\mathbf{x} + \boldsymbol{\mu}_\mathbf{y}, \boldsymbol{\Sigma}_\mathbf{x} + \boldsymbol{\Sigma}_\mathbf{y} \right) \)
이는 두 확률 분포의 합의 기댓값과 분산은 각 기댓값의 합, 분산의 합과 같음에 의해 쉽게 떠올려 볼 수 있다.
또한, \(X \sim \mathcal{N} ( \boldsymbol{\mu}, \boldsymbol{\Sigma} ) \)인 확률 변수와 matrix \( \boldsymbol{A} \)에 대해 \( \mathbf{y} = \boldsymbol{A} \mathbf{x} \)인 확률 변수 \(Y\)를 생각해 보자.
기댓값과 분산의 성질에 의해, \(mathbf{y}\)의 기댓값과 평균을 다음과 같이 구할 수 있다.
\( \mathbb{E}[\mathbf{y}] = \mathbb{E}[\boldsymbol{A} \mathbf{x}] = \boldsymbol{A} \mathbb{E} [\mathbf{x}] = \boldsymbol{A} \boldsymbol{\mu} \)
\( \mathbb{V}[\mathbf{y}] = \mathbb{V}[\boldsymbol{A} \mathbf{x}] = \boldsymbol{A} \mathbb{V} [\mathbf{x}] \boldsymbol{A}^T = \boldsymbol{A} \boldsymbol{\Sigma} \boldsymbol{A}^T \)
이는 곧, 확률변수 \(Y\)는 다음 분포를 따른다고 볼 수 있다.
\( p(\mathbf{y} ) = \mathcal{N} \left( \mathbf{y} | \boldsymbol{A} \boldsymbol{\mu} , \boldsymbol{A} \boldsymbol\Sigma \boldsymbol{A}^T \right) \)
이는 곧 \(\mathbf{x}\)의 선형 변환으로 생각해볼 수 있다.
만약 \( mathbf{y}\)의 평균이 \( \boldsymbol{A} \mathbf{x} \)라면, \( \boldsymbol{A} \)의 역행렬이 존재할 때, 역으로 다음과 같이 \(p(\mathbf{x}) \)를 나타낼 수도 있다.
\( p(\mathbf{x} ) = \mathcal{N} \left( \mathbf{x} | (\boldsymbol{A}^T \boldsymbol{A})^{-1} \boldsymbol{A}^T \boldsymbol{y} , (\boldsymbol{A}^T \boldsymbol{A})^{-1} \boldsymbol{A}^T \boldsymbol\Sigma \boldsymbol{A} (\boldsymbol{A}^T \boldsymbol{A})^{-1} \right) \)
왜냐하면, 다음의 관계가 성립하기 때문이다.
\( \mathbf{y} = \boldsymbol{A} \mathbf{x} \Leftrightarrow ( \boldsymbol{A}^T \boldsymbol{A})^{-1} \boldsymbol{A}^T \mathbf{y} = \mathbf{x} \)
8. Central Limit Theorem (CLT, 중심 극한 정리)
1) 개념
앞서 모집단(population)과 표본(sample)의 여러 통계량을 살펴보았다.
간단히 정리해보자면 다음과 같다.
- 모평균 : \( \mu\)
- 모분산 : \( \sigma^2 \)
- 표본 평균 : \( \overline{X} \)
- 표본 분산 : \( s^2 \)
- 확률 표본 (random sample) : \( \{ X_1, X_2, \cdots, X_n \} \)
- 이때, \(X_1, X_2, \cdots, X_n \)은 i.i.d. random variables
- i.i.d. : independent and identically distribution의 약자로, 독립적이고 같은 확률 분포를 갖는다는 뜻이다.
- 이때, \(X_1, X_2, \cdots, X_n \)은 i.i.d. random variables
중심극한정리는 i.i.d.인 확률 변수 n개의 평균의 분포는 n이 적당히 커지면 정규분포에 가까워진다는 정리이다.
\( \{ X_1, X_2, \cdots, X_n \} = \text{random samples with } \mu, \sigma^2 \)
\( \Rightarrow \overline{X} \sim \mathcal{N} \left( \mu, {\sigma^2 \over n } \right) \quad \text{for large n } \)
또한 표준 확률 변수는 다음과 같이 계산한다.
\( Z_{\overline{X}} = { \overline{X} - \mu \over { \sigma \over \sqrt{n}} } \sim \mathcal{N} (0, 1) \)
좀 더 구체적으로 말하자면, 모집단이 평균이 \(\mu\)이고, 표준편차가 \(\sigma\)인 어떤 분포를 이룰 때, 모집단으로부터 추출된 표본의 크기 \(n\)이 충분히 크다면 표본 평균이 이루는 분포는 평균이 \(\mu\)이고, 표준편차가 \(\sigma / \sqrt{n}\)인 정규분포에 근접한다.
이를 오해하여 '수집한 표본의 크기가 크면, 표본의 평균이 모집단의 평균과 같고, 표본의 표준편차가 (모집단의 표준편차 / root(표본 개수))이다.'로 이해할 수 있는데, 이는 잘못된 개념이다.
위의 두 문장을 자세히 비교해보자. '표본 자체'가 아니라, '표본 평균이 이루는 분포'가 특정 형태가 된다는 것이다.
즉, 표본을 여러 번(n, 보통 30 이상) 추출했을 때, 그 '표본의 평균의 분포'가 정규분포가 된다는 것이다.
이를 그림으로 나타내면 다음과 같다.
2) 예시
좀 더 쉬운 예를 살펴보자. (출처: 유튜브 StatQuest)
다음과 같은 uniform distribution이 있다.
여기서 20개의 표본을 수집한다.
그리고, 그 표본의 평균값을 빨간 선으로 표현하고, 별도의 다른 그래프에 그 평균값을 표현해보자.
이 과정을 10번 반복하면 다음과 같은 평균값들이 나오게 된다.
10번은 조금 적으므로, 100번을 반복해보면, 다음과 같이 평균 값들의 분포가 정규 분포를 따르는 것을 볼 수 있다.
이것이 바로 중심 극한 정리의 개념이다.
Uniform distribution이 아닌, exponential distribution에서 예시도 살펴보자.
이렇게 샘플링과 평균을 구하여 100번 반복한 후, 별도의 histogram으로 표현하면 다음과 같이 똑같이 정규 분포를 따른다는 것을 알 수 있다.
이는 샘플을 뽑았을 때 평균값을 구할 수 있는 모든 분포에 대해서 똑같이 적용된다.
그리고, 보통 위와 같이 샘플의 표본의 평균을 30번 정도 뽑으면 정규분포를 따른다고 알려져있다.
3) CLT가 중요한 이유
이렇게, 다양한 분포의 샘플의 평균값들이 정규분포를 따른다는 것이 무슨 의미가 있을까?
우리는 실험을 할 때, 데이터가 어떤 분포를 따르는지 항상 알 수 없다.
하지만, 중심극한정리를 사용하여, 여러 표본의 평균값들은 정규 분포를 따르는 것을 이용하여 평균값들의 신뢰 구간(confidence interval)을 만들 수 있고, 서로 다른 두 표본 혹은 3개 이상의 표본 간의 평균의 차이가 있는지 알 수 있는 t-test 혹은 ANOVA를 할 수 있다.
수많은 통계 검증(statistical test)에서 이 성질을 사용한다.
최근댓글