모수 (parameter)
- 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(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_{i=1}^N X_i
\
\mathbb{E}[\bar{X}] = \mu
$$
- 표본분산
- 주어진 데이터에서 표본평균 빼서 제곱한 후 산술평균
- 표본분산의 기대값은 원래 모집단의 분산과 일치하게 된다
- 표본분산을 구할 때 $N$이 아니라 $N-1$로 나누는 이유는 불편(unbiased) 추정량을 구하기 위해서
$$
S^2 = \frac{1}{N-1} \sum_{i=1}^N (X_i - \bar{X})^2
\
\mathbb{E}[S^2] = \sigma^2
$$
- 통계량의 확률분포를 표집분포(sampling distribution)라 부르며, 특히 표본평균의 표집분포는 N이 커질수록 정규분포 $\mathcal{N} (\mu, \sigma^2/N)$를 따른다
- 이를 중심극한정리(Central Limit Theorem)이라 부르며, 모집단의 분포가 정규분포를 따르지 않아도 성립한다
- 표집분포(sampling distribution) ≠ 표본분포(sample distribution)
- 표집분포는 표본들의 분포가 아닌, 표본평균과 표본분산의 분포
- 중심극한정리 예시 → 이항분포
- $\frac {\sigma^2}{N}$에서 $N$늘어나면 0으로 수렴 → 하나의 값으로 모으는 양상
최대가능도 추정법
https://angeloyeo.github.io/2020/07/17/MLE.html
- 표본평균이나 표본분산은 중요한 통계량이지만 확률분포마다 사용하는 모수가 다르므로 적절한 통계량이 달라지게 된다
- 표본평균, 표본분산으로만 확률분포 추정하는 것은 위험하다
- 모수(확률분포의 성질 추정) 추정 위한 적절한 통계량 달라진다
- 이론적으로 가장 가능성이 높은 모수를 추정하는 방법 중 하나는 최대가능도 추정법(maximum likelihood estimation, MLE) 이다
- 주어진 확률분포를 어떤식으로 가정하느냐에 상관없이 이론적으로 가장 가능성 높은 parameter 추정
$$
\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} L(\theta ; \textbf{x}) = \underset{\theta}{\operatorname{argmax}} P(\textbf{x} | \theta)
$$
- 가능도(likelihood) 함수는 모수 $\theta$를 따르는 분포가 $\textbf{x}$를 관찰할 가능성을 뜻하지만 확률로 해석하면 안된다
- $\theta$에 대해 적분/합을 해도 1이 되지 않는다
- likelihood는 $\theta$의 크고 작음에 따른 대소비교 가능한 함수
- 확률밀도함수로는 모수($\theta$) 주어졌을 때 $\textbf{x}$에 대한 함수
- 가능도함수는 주어진 데이터 $\textbf{x}$에 대해 모수 $\theta$를 변수로 둔 함수
- 주어진 데이터 → $\theta$ 변형시킴에 따라 값이 바뀌는 함수
- 데이터 집합 $X$가 독립적으로 추출되었을 경우 로그가능도(log likelihood)를 최적화
- 독립적으로 추출: 행벡터
- 독립적으로 추출되었을 경우, 확률 밀도/질량 함수들의 곱으로 표현할 수 있다
- 로그가능도를 사용하면 덧셈으로 정의된 공식 최적화 가능하다
$$
L(\theta ; X) = \prod_{i=1}^n P(\textbf{x}_i | \theta) \Rightarrow logL(\theta;X) = \sum_{i=1}^nlogP(\textbf{x}_i|\theta)
$$
로그가능도 사용하는 이유
- 로그가능도를 최적화하는 모수 $\theta$는 가능도를 최적화하는 MLE가 된다
- 데이터의 숫자가 적으면 상관없지만 만일 데이터의 숫자가 수억 단위가 된다면, 컴퓨터의 정확도로는 가능도를 계산하는 것은 불가능
- 데이터가 독립일 경우, 로그를 사용하면 가능도의 곱셈 →로그가능도의 덧셈으로 바꿀 수 있기 때문에 컴퓨터로 연산 가능 → 최적화 가능
- 경사하강법(미분)으로 가능도를 최적화할 때 미분 연산을 사용하게 되는데, 로그가능도를 사용하면 연산량을 $O(n^2)$에서 $O(n)$으로 줄여준다 → 효율적 연산, 오차범위 내에서 계산 가능
- 대게의 손실함수의 경우 경사하강법을 사용하므로 음의 로그가능도(negative log-likelihood)를 최적화하게 된다
최대가능도 추정법 예제: 정규분포
[질문] 독립적인 표본이란?
독립표본은 관측치가 다른 관측치에 값에 종속되지 않도록 랜덤하게 선택되는 표본이다. 많은 통계 분석은 표본이 독립적이라는 가정을 바탕으로 한다.
- 정규분포를 따르는 확률변수 $X$로부터 독립적인 표본 ${x_1, ..., x_n}$을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?
$$
\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} L(\theta;\textbf{x}) = \underset{\theta}{\operatorname{argmax}} P(\textbf{x}|\theta)
$$
- 주어진 데이터 → 현재 수식과 같이 likelihood 함수 최적화하는 $\theta$를 찾는 것
- 여기서의 모수 : $\mu, \sigma^2$
$$
\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} L(\theta;\textbf{x}) = \underset{\mu, \theta^2}{\operatorname{argmax}} P(X|\mu, \sigma^2)
$$
- Log likelihood : 정규분포의 확률밀도함수에 log 씌워 계산 가능
- $\theta = (\mu, \sigma)$에 대해 맨 아래 수식을 미분해서 최적화 할 수 있다
$$
logL(\theta;X) = \sum_{i=1}^{n}logP(x_i|\theta) = \sum_{i=1}^nlog \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{|x_i-\mu|^2}{2\sigma^2}}
\
=-\frac{n}{2}log2\pi\sigma^2 - \sum_{i=1}^n\frac{|x_i-\mu|^2}{2\sigma^2}
$$
- 두 미분이 모두 0이 되는 $\mu, \sigma$를 찾으면 가능도를 최대화되게 한다
- 오른쪽 결과를 보면, 데이터가 주어졌을 때 데이터들의 표본평균이 최대가능법과 일치한다
- MLE는 불편추정량을 보장하지 않는다 (표본분산 최대가능법 추정은 $n-1$로 계산되는 것 다르다)
- 결과를 보면 모수 통계량 추정과 유사한 결과를 나타낸다
- 장점: 통계학의 consistency 보장 가능
- 주어진 likelihood를 최적화하는 모수 → 위의 MLE $\mu, \sigma^2$ 써야 가능도 최적화하는 모수 구했다고 할 수 있다
$$
0 = \frac{\partial logL}{\partial \mu} = -\sum_{i=1}^n \frac{x_i-\mu}{\sigma^2} \quad \Rightarrow \quad \hat{\mu}_{MLE} = \frac{1}{n} \sum_{i=1}^{n}x_i
$$
$$
0 = \frac{\partial logL}{\partial \sigma} = -\frac{n}{\sigma} + \frac{1}{\sigma^3} \sum_{i=1}^n |x_i-\mu|^2 \quad \Rightarrow \quad \hat{\sigma}^2_{MLE} = \frac{1}{n} \sum_{i=1}^n(x_i-\mu)^2
$$
최대가능도 추정법 예제: 카테고리 분포
- 카테고리 분포 Multinoulli ($\textbf{x}:p_1, ..., p_d)$를 따르는 확률분포 $X$로부터 독립적인 표본 ${\textbf{x}_1, ..., \textbf{x_n}}$을 얻었을 때 최대가능도 추정법을 이용하여 모수를 추정하면?
- 카테고리 분포는 베르누이 분포의 다차원으로, 이산확률변수
- 모수 ($\textbf{x}:p_1, ..., p_d)$는 정규분포의 모수와 다르고, 각각의 차원에서 값이 0 또는 1 될 확률 의미하는 모수
- 즉, 모수는 주어진 카테고리분포의 확률 질량함수에 해당하는 모수이기 때문에 다 더했을 때 1이어야 한다
- $x_{i,k} = 0$이면 $P_k$는 1이고, $x_{i, k} = 1$이면 $P_k$ 자체
$$
\hat{\theta}_{MLE} = \underset{p_1, ..., p_d}{\operatorname{argmax}} logP(\textbf{x}_i|\theta) = \underset{p_1, ..., p_d}{\operatorname{argmax}} log(\prod^n_{i=1} \prod^d_{k=1}P^{x_{i,k}}_k)
$$
- 카테고리 분포는 아래 제약식을 만족해야 한다
$$
\sum_{k=1}^d p_k = 1
$$
- $x_{i, k}$는 0 또는 1
- $n_k$는 주어진 데이터 $x_{i, k}$에 대해 k=1인 data 개수 세는 개념
$$
log(\prod_{i=1}^n \prod_{k=1}^d p_k^{x_{i, k}}) = \sum_{k=1}^d (\sum_{i=1}^n x_{i, k})logp_k
\
n_k = \sum_{i=1}^n x_{i, k}
$$
- 위의 제약식 만족하면서 아래 목적식 최대화 하는 것이 우리가 구하는 MLE
$$
log(\prod_{i=1}^n \prod_{k=1}^d p_k^{x_{i, k}} ) = \sum_{k=1}^d n_klogp_k
\
\sum_{k=1}^d p_k = 1
$$
- 라그랑주 승수법을 통해 최적화 문제를 풀 수 있다
- 라그랑주 승수 $\lambda$ 곱해준 식을 목적식에 더해 새로운 목적식을 만든다 → 이것은 제약식도 만족, 이것을 최적화
$$
\Rightarrow \mathcal{L}(p_1, ..., p_k, \lambda) = \sum_{k=1}^d n_klogp_k + \lambda(1-\sum_kp_k)
$$
$$
0 = \frac{\partial \mathcal{L}}{\partial p_k} = \frac{n_k}{p_k} - \lambda \quad \quad 0 = \frac{\partial \mathcal{L}}{\partial \lambda} = 1-\sum_{k=1}^dp_k
$$
- [참고] $(logx)' = \frac{1}{x}$
- 카테고리 분포의 MLE는 경우의 수를 세어서 비율을 구하는 것이다
- $\sum_{k=1}^dn_k$는 데이터 개수와 같다
- 즉, 각각 경우의수 차원에 해당하는 count수 세어서 비율 구하는 것
$$
p_k = \frac{n_k}{\sum_{k=1}^dn_k}
$$
딥러닝에서 최대가능도 추정법
- 최대가능도 추정법을 이용해서 기계학습 모델을 학습할 수 있다
- 딥러닝 모델의 가중치를 $\theta = (W^{(1)}, ..., W^{(L)})$라 표기했을 때 분류문제에서
softmax
벡터는 카테고리분포의 모수 $(p_1, ..., p_k)$를 모델링한다 one-hot
벡터로 표현한 정답레이블 $y = (y_1, ..., y_k)$을 관찰데이터로 이용해 확률분포인softmax
벡터의 로그가능도를 최적화할 수 있다- 딥러닝의 모수인 $\theta$ 학습 가능하다
- 수식 기억하기!!
- MLP 최적화 → MLE와 매우 유사한 식
- $n$은 모든 데이터, $K$는 모든 클래스 개수
$$
\hat{\theta}_{MLE} = \underset{\theta}{\operatorname{argmax}} \frac{1}{n} \sum_{i=1}^n \sum_{k=1}^K y_{i, k} log(MLP_\theta (\textbf{x_i}_k)
$$
확률분포의 거리를 구해보자
- 기계학습에서 사용되는 손실함수들은 모델이 학습하는 확률분포와 데이터에서 관찰되는 확률분포의 거리를 통해 유도
- 데이터공간에 두 개의 확률분포 $P(\textbf{x})$, $Q(\textbf{x})$가 있을 경우 두 확률분포 사이의 거리(distance)를 계산할 때 다음과 같은 함수들을 이용
- 총변동 거리 (Total Variation Distance, TV)
- 쿨백-라이블러 발산 (Kullback-Leibler Divergence, KL)
- 바슈타인 거리 (Wasserstein Distance)
KL Divergence
- KL Divergence는 다음과 같이 정의
- 이산확률변수
$$
\mathbb{KL}(P||Q) = \sum_{x \in \mathcal{X}} P(\textbf{x})log(\frac{P(\textbf{x})}{Q({\textbf{x})}})
$$
- 연속확률변수
$$
\mathbb{KL}(P||Q) = \int_{\mathcal{X}} P(\textbf{x})log(\frac{P(\textbf{x})}{Q({\textbf{x})}})dx
$$
- KL Divergence는 다음과 같이 분해 가능
- 앞쪽은 크로스 엔트로피, 뒤쪽은 엔트로피
$$
\mathbb{KL}(P||Q) = -\mathbb{E}_{\textbf{x} \sim P(\textbf{x})}[logQ(\textbf{x})] + \mathbb{E}_{\textbf{x}\sim P(\textbf{x})}[logP(\textbf{x})]
$$
- 분류 문제에서 정답레이블을 P, 모델 예측을 Q라 두면 최대가능도 추정법은 KL-Divergence 발산을 최소화 하는 것과 같다
정리
- 확률분포사이 거리 최소화 $\approx$ 로그가능도 함수최대화
- 밀접한 연결
- 두개의 확률분포 거리 최소화
- 주어진 데이터 통해 목적으로 하는 확률분포의 최적화된 모수 구하는 것과 동일한 개념
- 기계학습의 원리: 데이터로부터 확률분포 사이의 어떤 거리 최소화 하는 것과 동일
- 기계학습 논문의 손실, loss함수의 최적화 모형 어떻게 나왔는지 고민해보기
- MLE 관점에서 많이 유도한다
- 통계학 기반으로 기계학습 모형 학습한다
'부스트캠프 AI Tech > AI_Math' 카테고리의 다른 글
[08] 베이즈 통계학 (0) | 2022.01.17 |
---|---|
[06] 확률론 (0) | 2022.01.16 |
[05] 딥러닝 학습방법 이해하기 (0) | 2022.01.16 |
[04] 확률적 경사하강법 SGD (0) | 2022.01.15 |
[03] 경사하강법 (0) | 2022.01.15 |