Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- dataset
- 데이터 구축
- RNN
- Self-attention
- N21
- AI 경진대회
- seaborn
- AI Math
- Bart
- KLUE
- Transformer
- ODQA
- passage retrieval
- Bert
- Attention
- 2023 현대차·기아 CTO AI 경진대회
- Ai
- 데이터 시각화
- Data Viz
- word2vec
- pyTorch
- matplotlib
- 딥러닝
- mrc
- Optimization
- nlp
- GPT
- 기아
- N2N
- 현대자동차
Archives
- Today
- Total
쉬엄쉬엄블로그
딥러닝에서의 통계학 본문
728x90
이 색깔은 주석이라 무시하셔도 됩니다.
모수란?
- 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며, 기계학습과 통계학이 공통적으로 추구하는 목표이다.
- 그러나 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낸다는 것은 불가능하므로, 근사적으로 확률분포를 추정한다.
- 예측모형의 목적은 분포를 정확하게 맞추는 것보다는 데이터와 추정 방법의 불확실성을 고려해서 위험을 최소화하는 것이다.
- 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수(parameter)를 추정하는 방법을 모수적(parametric) 방법론이라 한다.
- 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀌면 비모수(nonparametric) 방법론이라 부른다.
- 기계학습의 많은 방법론은 비모수 방법론에 속한다.
- 비모수 방법론이라고 해서 모수가 없다고 이해하면 안 됨
- 비모수 방법론은 모수가 무한히 많거나 모수의 개수가 데이터에 따라서 바뀌는 경우를 이야기함
확률분포 가정하기 : 예제
- 확률분포를 가정하는 방법 : 우선 히스토그램을 통해 모양을 관찰한다.
- 데이터가 2개의 값(0 또는 1)만 가지는 경우 → 베르누이분포
- 데이터가 n개의 이산적인 값을 가지는 경우 → 카테고리분포
- 데이터가 [0, 1] 사이에서 값을 가지는 경우 → 베타분포
- 데이터가 0 이상의 값을 가지는 경우 → 감마분포, 로그정규분포 등
- 데이터가 $\mathbb R$ 전체에서 값을 가지는 경우 → 정규분포, 라플라스분포 등
- 기계적으로 확률분포를 가정해서는 안 되며, 데이터를 생성하는 원리를 먼저 고려하는 것이 원칙
- 각 분포마다 검정하는 방법들이 있으므로 모수를 추정한 후에는 반드시 검정을 해야 한다.
데이터로 모수 추정
- 데이터의 확률분포를 가정했다면 모수를 추정해 볼 수 있습니다.
- 정규분포의 모수는 평균 $\mu$과 분산 $\sigma^2$으로 이를 추정하는 통계량(statistic)은 다음과 같다.
- 표본평균 : $\bar X = \frac{1}{N} \sum^N_{i=1} X_i$, $\mathbb E[\bar X] = \mu$
- 표본분산 : $S^2 = \frac{1}{N-1} \sum^N_{i=1} (X_i - \bar X)^2$, $\mathbb E[S^2] = \mu^2$
- 표본평균, 표본분산을 구할 때는 불편(unbiased) 추정량을 구하기 위해서
$N$이 아니라 $N-1$로 나눠야 함
- 통계량의 확률분포를 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 $N$이 커질수록 정규분포 $N(\mu,\sigma^2/N)$를 따른다.
- 이를 중심극한정리(Central Limit Theorem)이라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립한다.
- 표집분포 : 표본평균과 표본분산의 확률분포
- 모집단의 분포가 정규분포를 따르지 않으면 표본분포는 당연히 데이터를 많이 모아도 정규분포가 될 수 없음
- 표본평균의 확률분포는 모집단에 상관없이 데이터를 많이 모을수록 정규분포를 따름
- 아래 그림은 이항(베르누이) 확률분포를 따르는 확률변수들의 분포
- 처음 데이터를 모았을 때는 양 극단으로 데이터가 나뉨
- 데이터를 모으면 모을수록 점점 정규분포로 표현됨
- 평균값은 하나의 값으로 몰려있는 반면에 분산이 점점 작아지는 모양을 볼 수 있음
- 데이터가 늘어날수록($N$이 커질수록) 표본평균의 분산에 해당하는 $\sigma^2/N$이 0으로 수렴하고 하나의 값으로 몰리는 모양을 볼 수 있음
최대가능도 추정법
- 표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라진다.
- 표본평균과 표본분산만 가지고 확률분포를 추정하는 방법은 위험함
- 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도 추정법(maximum likelihood estimation, MLE)이다.
- $\hat\theta_{MLE} = argmax_\theta L(\theta; \mathbf x) = argmax_\theta P(\mathbf x | \theta)$
- 가능도 함수는 확률밀도함수, 확률질량함수와 같지만 관점의 차이가 있음
- 확률밀도함수는 모수 $\theta$가 주어져있을 때 $\mathbf x$에 대한 함수로 해석하지만 가능도 함수는 주어진 데이터 $\mathbf x$에 대해서 모수 $\theta$를 변수로 둔 함수로 해석하면 됨
- 가능도 함수는 데이터가 주어진 상황에서 모수를 변형시킴에 따라 값이 바뀌는 함수
- 가능도 함수는 모수 $\theta$를 따르는 분포가 데이터 $\mathbf x$를 관찰할 가능성을 뜻하게 되는데 이는 확률로 해석하면 안 됨
- $\theta$에 대해서 적분했을 때 1이 되거나 다 더해줬을 때 1이 되는 개념이 아님
- 가능도는 오로지 $\theta$에 대해서 크고 작음에 따른 대소 비교가 가능한 함수로 이해하기
- 데이터 집합 $\mathbf X$가 독립적으로 추출되었을 경우 로그가능도를 최적화한다.
- $L(\theta; \mathbf X) = \prod^n_i=1 P(\mathbf x_i | \theta) \Rightarrow log L (\theta; \mathbf X) = \sum^n_{i=1} log P(\mathbf x_i|\theta)$
- 데이터 집합 $\mathbf X$가 독립적으로 추출되었을 경우에는 확률질량함수 또는 확률밀도함수들의 곱으로 표현할 수 있음
- $\prod$ (product) 로 표현할 수 있음
- 이때 log함수의 성질(곱을 덧셈으로 바꿈)을 이용하여 가능도에 log를 씌워서 로그가능도로 만들어주고 이 경우에는 확률분포함수들의 곱셈을 log확률분포함수들의 덧셈으로 바꿀 수 있음
- 이 로그가능도를 최적화할 때 곱셈으로 계산이 되는 공식이 아니라 덧셈으로 정의된 공식으로 최적화를 할 수 있게 됨
왜 로그가능도를 사용하는가?
- 로그가능도를 최적화하는 모수 $\theta$는 가능도를 최적화하는 MLE가 된다.
- 데이터의 숫자가 적으면 상관없지만 만일 데이터의 숫자가 수억 단위가 된다면 컴퓨터의 정확도로는 가능도를 계산하는 것이 불가능하다.
- 데이터가 독립일 경우, 로그를 사용하면 가능도의 곱셈을 로그가능도의 덧셈으로 바꿀 수 있기 때문에 컴퓨터로 덧셈 연산이 가능하다.
- 경사하강법으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그가능도를 사용하면 연산량을 $O(n^2)$에서 $O(n)$으로 줄여준다.
- 효율적인 연산이 가능해짐
- 로그가능도를 사용하는 이유는 이러한 최적화 관점에서 사용
- 대게의 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도(negative log-likelihood)를 최적화하게 된다.
최대가능도 추정법 예제 : 정규분포
- 정규분포를 따르는 확률변수 $X$로부터 독립적인 표본 ${x_1,...,x_n}$을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?
- $\hat\theta_{MLE} = argmax_\theta L(\theta; \mathbf x) = argmax_\theta P(\mathbf x | \theta)$
- 최대가능도 추정법은 주어진 데이터를 가지고 가능도함수를 최적화하는 모수 $\theta$를 찾는 것
- $\hat \theta_{MLE} = argmax_\theta L(\theta; \mathbf x) = argmax_{\mu, \sigma^2} P(\mathbf X | \mu, \sigma^2)$
- 정규분포이기 때문에 평균과 분산 두 가지 파라미터를 가지고 표현
- $P(\mathbf x|\theta)$ 대신에 $P(\mathbf X|\mu,\sigma^2)$를 쓸 수 있게 됨
- 정규분포이기 때문에 평균과 분산 두 가지 파라미터를 가지고 표현
- $log L(\theta; \mathbf X) = \sum^n_{i=1} logP(\mathcal x_i | \theta) = \sum^n_{i=1} log\frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{|\mathcal x_i - \mu|^2}{2\sigma^2}}$
- $= -\frac{n}{2} log2\pi\sigma^2 - \sum^n_{i=1} \frac{|\mathcal x_i - \mu|^2}{2\sigma^2}$
- $log L(\theta; \mathbf X) = \sum^n_{i=1} logP(\mathcal x_i | \theta)$
$= \sum^n_{i=1} log\frac{1}{\sqrt{2\pi \sigma^2}}e^{-\frac{|\mathcal x_i - \mu|^2}{2\sigma^2}}$
$= \sum^n_{i=1} \left(log\frac{1}{\sqrt{2\pi \sigma^2}} -\frac{(\mathcal x_i - \mu)^2}{2\sigma^2}\right)$
$= \sum^n_{i=1} \left(-\frac{1}{2} log2\pi\sigma^2 -\frac{(\mathcal x_i - \mu)^2}{2\sigma^2}\right)$
$= -\frac{n}{2} log2\pi\sigma^2 - \sum^n_{i=1} \frac{(\mathcal x_i - \mu)^2}{2\sigma^2}$ -
더보기e는 어디로 사라진 건가?
확률밀도함수 $P(\mathcal x_i | \theta)$는 정규분포를 따르는데, 이는 다음과 같은 수식으로 나타낼 수 있다.
$P(\mathcal x_i | \theta) = \frac{1}{\sqrt{2\pi \sigma^2}} e^{-\frac{(\mathcal x_i - \mu)^2}{2\sigma^2}}$
여기서 e는 자연상수이며, 제곱항 $-\frac{(\mathcal x_i - \mu)^2}{2\sigma^2}$ 앞에 곱해져 확률밀도함수의 값으로 사용된다.
로그 가능도 함수 $log L(\theta; \mathbf X)$는 확률밀도함수 $P(\mathcal x_i | \theta)$의 로그값의 합으로 정의되는데, 로그를 취하면 제곱항의 지수로 있는 e가 내려오면서 곱셈이 덧셈으로 변한다. 따라서, $P(\mathcal x_i | \theta)$의 로그값은 다음과 같이 표현된다.
$log P(\mathcal x_i | \theta) = log \frac{1}{\sqrt{2\pi \sigma^2}} -\frac{(\mathcal x_i - \mu)^2}{2\sigma^2}$
즉, e가 사라지는 것이 아니라 로그를 취함으로써 e가 포함된 제곱항이 덧셈으로 변하게 되는 것이다. - 위 수식을 $\theta=(\mu, \sigma)$에 대해 미분해서 최적화할 수 있음
- $log L(\theta; \mathbf X) = \sum^n_{i=1} logP(\mathcal x_i | \theta)$
- $0 = \frac{\partial log L}{\partial \mu} = -\sum^n_{i=1} \frac{\mathcal x_i -\mu}{\sigma^2} \Rightarrow \hat \mu_{MLE}=\frac{1}{n} \sum^n_{i=1}\mathcal x_i$
- $0=\frac{\partial log L}{\partial \sigma} = -\frac{n}{\sigma} +\frac{1}{\sigma^3}\sum^n_{i=1}|\mathcal x_i - \mu|^2 \Rightarrow \hat \sigma^2_{MLE} = \frac{1}{n} \sum^n_{i=1}(\mathcal x_i - \mu)^2$
- 두 미분이 모두 0이 되는 $\mu, \sigma$를 찾으면 가능도를 최대화하게 됨
- MLE는 불편추정량을 보장하진 않음
최대가능도 추정법 예제 : 카테고리 분포
- 카테고리 분포 Multinoulli($\mathbf x;p_1,...,p_d)$를 따르는 확률변수 $X$로부터 독립적인 표본 ${\mathbf x_1,...,\mathbf x_n}$을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?
- $\hat \theta_{MLE} = argmax_{p_1,...,p_d} log P(\mathbf x_i | \theta) = argmax_{p1,...,p_d} log(\prod^n_{i=1} \prod^d{k=1} p^{x_i,k}{k})$
- 카테고리 분포의 모수는 $\sum^d_{k=1} p_k=1$ 식을 만족해야 한다.
- 정규분포와 다르게 카테고리 분포에서의 모수 $p_1,... p_d$(1부터 d차원까지 각각의 차원에서 어떤 값이 1 또는 0이 될 확률을 의미하는 모수) 들은 확률이기 때문에 다 더했을 때 1이 돼야 하는 성질이 있음
- $log(\prod^n_{i=1} \prod^d_{k=1} p^{x_i,k}_k) = \sum^d_{k=1}(\sum^n_{i=1} x_i, k)log \ p_k$
- $\sum^n_{i=1} x_{i,k} = n_k$
- $\mathcal X_{i,k}$는 전부 0 또는 1이기 때문에 i는 1부터 n까지 $\mathcal X_{i,k}$를 전부 더 해주는 것을 주어진 각 데이터들에 대해서 $k$값이 1인 개수를 카운팅 하는 $n_k$라는 값으로 대체하여 표현할 수 있음
- $\mathcal X_{i,k}$가 전부 0 또는 1인 이유
- $p_k^{x_i,k}$가 k번 카테고리가 1이 될 확률을 의미하기 때문에 $p_k$의 지수인 $\mathcal X_{i,k}$가 0일 때는 확률 값이 1이 되고 1일 때는 확률 값이 그대로 나오게 됨
- $\prod$로 인해서 확률 값들이 곱해질 때 $\mathcal X_{i,k}$이 0이라서 확률 값이 1이 되면 곱해졌을 때 값의 변화가 없게 되고 1이라서 확률 값이 그대로 나오면 값이 갱신됨
- $\mathcal X_{i,k}$가 전부 0 또는 1인 이유
- $log(\prod^n_{i=1} \prod^d_{k=1} p_k^{x_i,k}) = \sum^d_{k=1} n_k log \ p_k$ with $\sum^d_{k=1} p_k = 1$
- 오른쪽 제약식을 만족하면서 왼쪽 목적식을 최대화하는 것이 우리가 구하는 MLE
- $\Rightarrow \mathcal L(p_1,...,p_k,\lambda) = \sum^d_{k=1} n_k log \ p_k + \lambda(1 - \sum_k p_k)$
- 라그랑주 승수법을 통해 최적화 문제를 풀 수 있음
- $0 = \frac{\partial \mathcal L}{\partial p_k} = \frac{n_k}{p_k} - \lambda$ $0=\frac{\partial \mathcal L}{\partial \lambda} = 1 - \sum^d_{k=1} p_k$
- $p_k = \frac{n_k}{\sum^d_{k=1} n_k}$
- 위 식 유도
- $\frac{n_k}{p_k}-\lambda=0$
- $\lambda=\frac{n_k}{p_k}$
- $\lambda=\frac{\sum_{k=1}^dn_k}{\sum_{k=1}^dp_k}$, $(\sum_{k=1}^d{p_k}=1)$
- $\lambda=\sum^d_{k=1}n_k$
- $\lambda=\frac{n_k}{p_k}$
- $p_k=\frac{n_k}{\sum_{k=1}^dn_k}$
- $\hat \theta_{MLE} = argmax_{p_1,...,p_d} log P(\mathbf x_i | \theta) = argmax_{p1,...,p_d} log(\prod^n_{i=1} \prod^d{k=1} p^{x_i,k}{k})$
딥러닝에서 최대가능도 추정법
- 최대가능도 추정법을 이용해서 기계학습 모델을 학습할 수 있다.
- 딥러닝 모델의 가중치를 $\theta=(\mathbf W^{(1)},...,\mathbf W^{(L)})$라 표기했을 때 분류 문제에서 소프트맥스 벡터는 카테고리분포의 모수 $(p_1,...,p_K)$를 모델링한다.
- 원핫벡터로 표현한 정답레이블 $\mathbf y=(y_1,...,y_K)$을 관찰데이터로 이용해 확률분포인 소프트맥스 벡터의 로그가능도를 최적화할 수 있다.
- $\hat \theta_{MLE} = argmax_\theta \frac{1}{n} \sum^n_{i=1} \sum^K_{k=1} y_{i,k} log(MLP_\theta (\mathbf x_i)_k)$
확률분포의 거리 구하기
- 기계학습에서 사용되는 손실함수들은 모델이 학습하는 확률분포와 데이터에서 관찰되는 확률분포의 거리를 통해 유도한다.
- 데이터공간에 두 개의 확률분포 $P(\mathbf x),Q(\mathbf x)$가 있을 경우 두 확률분포 사이의 거리(distance)를 계산할 때 다음과 같은 함수들을 이용한다.
- 총변동 거리 (Total Variation Distance, TV)
- 쿨백-라이블러 발산 (Kullback-Leibler Divergence, KL)
- 바슈타인 거리 (Wasserstein Distance)
쿨백-라이블러 발산
- 쿨백-라이블러 발산(KL Divergence)은 다음과 같이 정의한다.
- $\mathbb K \mathbb L (P||Q) = \sum_{\mathbf x \in \mathcal X} P(\mathbf x) log (\frac{P(\mathbf x)}{Q(\mathbf x)})$ $\mathbb K \mathbb L (P||Q) = \int_\mathcal X P(\mathbf x) log (\frac{P(\mathbf x)}{Q(\mathbf x)}) dx$
- 쿨백 라이블러는 다음과 같이 분해할 수 있다.
- $\mathbb K \mathbb L (P||Q) = -\mathbb E_{\mathbf x \sim P(\mathbf x)} [log Q(\mathbf x)] + \mathbb E_{\mathbf x \sim P(\mathbf x)} [log P(\mathbf x)]$
- 분류 문제에서 정답레이블을 $P$, 모델 예측을 $Q$라 두면 최대가능도 추정법은 쿨백-라이블러 발산을 최소화하는 것과 같다.
- 최대가능도 추정법(MLE)에서 로그가능도를 최대화시키는 것과 P, Q 사이의 거리(쿨백-라이블러 발산)를 최소화하는 것과 같음
- 확률분포 사이의 거리를 최소화하는 개념과 로그가능도 함수를 최대화하는 개념이 굉장히 밀접하게 연결되어 있음
- 쿨백-라이블러에서 P는 데이터의 실제 분포, Q는 모델이 추정한 분포라고 가정했을 때, 최대가능도를 통해 학습하면 실제 분포에 가까워지기 때문에 충분한 데이터가 주어진다면 결국 데이터의 실제 분포 P와 같아짐
- 두 개의 확률분포의 거리를 최소화하는 개념이 우리가 주어진 데이터를 통해 목적으로 하는 확률분포에 최적화된 모수를 구하는 것과 동일한 개념이 됨
출처: boostcourse 인공지능(AI) 기초 다지기(https://www.boostcourse.org/ai100/joinLectures/218531)
'부스트캠프 AI Tech 4기' 카테고리의 다른 글
CNN 기초 (0) | 2023.05.08 |
---|---|
딥러닝에서의 베이즈 통계학 (0) | 2023.05.06 |
딥러닝에서의 확률론 (0) | 2023.05.04 |
딥러닝 학습방법 (0) | 2023.05.03 |
경사하강법 (0) | 2023.05.02 |
Comments