* 이 공부노트는 프로그래머스 인공지능 데브코스 강창성 교수님의 강의를 바탕으로 제작되었습니다.
- 확률이론은 ML을 이해하기 위해 필수.
- 자세하게 이해할수록 여러가지 알고리즘에 대해 접근하기 쉬워진다.
- 결합확률분포를 완벽하게 풀 수 있다면 모든 문제를 풀 수 있다고 하십니다.(갈길이 멀다.)
오늘은 이산확률분포에 대해 알아보도록 한다.
밀도추정(Ensity Estimation)
N개의 데이터 $\mathbf{x}_1,\ldots\mathbf{x}_N$ 주어졌을 때 분포함수 $p(\mathbf{x})$를 찾는 것이다.
- $p(\mathbf{x})$를 파라미터화된 분포로 가정하고, 회귀에선 $p(t|\mathbf{x})$, 분류에선 $p(\mathcal{C}|\mathbf{x})$로 추정한다.
- 그 다음 분포의 파라미터를 찾는다.
- 빈도주의 방법(Frequentist's way) : 어떤 기준(ex. likelihood)을 최적화시키는 과정을 통해 파라미터 값을 구한다.
- 베이지안 방법(Bayesian way) : 파라미터의 사전확률(prior)을 가정하고, 파라미터의 사후확률(posterior)을 구한다. - 파라미터를 찾았다면(1개의 값 or 분포) 그것을 사용해 예측을 한다.
켤레사전분포(Conjugate Prior): 사후확률이 사전확률과 동일한 함수형태를 가지도록 해준다.
이항변수(Binary Variables) - 빈도주의 방법
우선 이항변수란 0과 1 2개의 값을 가지는 확률변수이다.
(binary random variable) $x\in \{0, 1\}$ ex. 동전던지기
수학적으로 표현하면, x가 1일 때, 그 것의 확률은 $\mu$가 되고 반대로 0일때는 $1 - \mu$이다.
$$p(x=1 | \mu) = \mu, p(x=0 | \mu) = 1 - \mu$$
베르누이 분포(Bernoulli distribution)로도 표현 가능하다.
$$\mathrm{Bern}(x | \mu) = \mu^x (1-\mu)^{1-x}$$
당연히 확률변수니깐 기댓값과 분산을 구할 수 있다,.
- 기댓값 : $\mathbb{E}[x] = \mu$
- 분산 : $\mathrm{var}[x] = \mu(1-\mu)$
잘 생각해보면 쉽다.
$\mathbb{E}[x]=0(1-\mu)+1\mu=\mu$
$\mathrm{var}[x] =\mathbb{E}[x^2]-\mathbb{E}[x]^2=(0^2(1-\mu)+1^2\mu)-\mu^2$
자, 이제 파라미터를 찾아보자.
빈도주의에선 우도함수를 사용한다.
우도함수 (Likelihood Function)
$x$값을 $N$번 관찰한 결과를 $\mathcal{D} = \{x_1,\ldots,x_N\}$라 할 때, 각 $x$가 독립적으로 $p(x|\mu)$에서 뽑혀진다고 가정하면 다음과 같이 우도함수($\mu$의 함수인)를 만들 수 있다.
$$p(\mathcal{D}|\mu) = \prod_{n=1}^N p(x_n|\mu) = \prod_{n=1}^N \mu^{x_n} (1-\mu)^{1-x_n}$$
우도함수에 대한 리포팅은 기회되면 써보도록 하겠음...(미래의 나야 부탁해)
이 빈도주의 방법에서 $\mu$값을 구할 때, 우도함수를 최대화 시키는 값을 구할 수 있다. - 이를 쉽게 하기 위해 로그 우도함수를 최대화 시킨다.(로그로 씌우면 좀더 계산하기 쉽기 때문)
$$\ln p(\mathcal{D}|\mu) = \sum_{n=1}^N \ln p(x_n|\mu) = \sum_{n=1}^N \{x_n\ln \mu + (1-x_n)\ln(1-\mu)\}$$
곱해 졌던 것들이 로그를 씌우면서 더하기로 바뀌고 지수부분에 있던 것들이 내려오면서 계산하기 쉬워졌다.
후에 여기서 $\mu$에 대한 편미분을 적용한다.
$$ \sum_{n=1}^N (\frac{x_n}{\mu}-\frac{1-x_n}{1-\mu})=0 $$ 이란 식이 성립되고,
$$\sum_{n=1}^N \frac{x_n}{\mu}=\sum_{n=1}^N \frac{1-x_n}{1-\mu}$$
여기서 $\mu$와 $(1-\mu)$는 시그마와 상관없으니 앞으로 빼주고,
$$ m=\sum_{n=1}^N x_n$$ 으로 여긴다. 즉 m은 x를 다 더한값. ex)x가 0과 1중 에서 나올 수 있는데 1이 3번 나왔어... 그럼 m=3이 된다.
그럼 결과가 $$\mu^{\mathrm{ML}} = \frac{m}{N} ~~\mathrm{with}~~ m = (\#\mathrm{observations~of}~ x=1)$$
이 나온다.
$N$이 작은 경우에 위 MLE는 과적합(overfitting)된 결과를 낳을 수 있다. $N = m = 3 \to \mu^{\mathrm{ML}} = 1$!
이항변수(Binary Variables) - 베이지안 방법
$\mathcal{D} = \{x_1,\ldots,x_N\}$일 때, 이항변수 $x$가 1인 경우를 $m$번 관찰할 확률
$$\mathrm{Bin}(m|N,\mu) = {N \choose m}\mu^m(1-\mu)^{N-m}$$
N개의 개체 가운데 m개의 개체들을 뽑아낼 수 있는 모든 경우의 수를
$${N \choose m} = \frac{N!}{(N-m)!m!}$$
그에 따른,(풀이를 봐야겠다. 왜이렇게 될까?)
- 기댓값 : $\mathbb{E}[m] = \sum_{m=0}^N m\mathrm{Bin}(m|N,\mu) = N\mu$
- 분산 : $\mathrm{var}[m] = \sum_{m=0}^N (m-\mathbb{E}[m])^2\mathrm{Bin}(m|N,\mu) = N\mu(1-\mu)$
위키백과에서 찾았다!
https://ko.wikipedia.org/wiki/%EC%9D%B4%ED%95%AD_%EB%B6%84%ED%8F%AC
데이터를 보는 관점
- 베르누이 시행의 반복: $x_1,\ldots,x_N$ 각각이 확률변수
- $x$가 1인 경우를 몇 번 관찰했는가?: 하나의 확률변수 $m$
베이지안 방법을 쓰기 위해서 데이터의 우도를 구해야 하는데 이항분포를 가정하면 우도함수가 하나의 변수 $m$으로($x_1,\ldots,x_N$ 대신) 표현가능하므로 간편해진다.
이젠 파라미터를 구할 차례가 된다. 베이지안 방법에선 이 파라미터를 베타분포 (Beta Distribution)를 켤레사전분포(conjugate prior)로 사용한다.
$$\mathrm{Beta}(\mu|a,b) = \frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1}$$
감마함수 $\Gamma(x)$는 다음과 같이 정의된다.
$$\Gamma(x) = \int_0^{\infty}u^{x-1}e^{-u}\mathrm{d}u$$
감마함수는 계승(factorial)을 실수로 확장시킨다. $\Gamma(n) = (n-1)!$
$\Gamma(x) = (x-1)\Gamma(x-1)$임을 증명하기
Using integration by parts $\int_0^{\infty}a\mathrm{d}b = \left. ab\right\vert_0^{\infty} - \int_0^{\infty}b\mathrm{d}a$
\begin{align*}
a &= u^{x-1} &\mathrm{d}b &= -e^{-u}\mathrm{d}u\\
b &= e^{-u} &\mathrm{d}a &= (x-1)u^{x-2}\mathrm{d}u\\
\Gamma(x) &= \left. u^{x-1}(-e^{-u})\right\vert_0^{\infty} + \int_0^{\infty} (x-1)u^{x-2}e^{-u}\mathrm{d}u\\
&= 0 + (x-1)\Gamma(x-1)
\end{align*}
베타분포가 normalized임을 증명하기 ($\int_0^{1}\mathrm{Beta}(\mu|a,b)\mathrm{d}\mu = 1$)
$\int_0^1 \mu^{a-1}(1-\mu)^{b-1}\mathrm{d}\mu = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}$임을 증명하면 된다.
\begin{align*}
\Gamma(a)\Gamma(b) &= \int_0^{\infty} x^{a-1}e^{-x}\mathrm{d}x\int_0^{\infty} y^{b-1}e^{-y}\mathrm{d}y\\
&= \int_0^{\infty}\int_0^{\infty}e^{-x-y}x^{a-1}y^{b-1}\mathrm{d}y\mathrm{d}x\\
&= \int_0^{\infty}\int_0^{\infty}e^{-t}x^{a-1}(t-x)^{b-1}\mathrm{d}t\mathrm{d}x &\mathrm{by}~ t=y+x, \mathrm{d}t = \mathrm{d}y\\
&= \int_0^{\infty}\int_0^{\infty}e^{-t}x^{a-1}(t-x)^{b-1}\mathrm{d}x\mathrm{d}t\\
&= \int_0^{\infty}e^{-t}\int_0^{\infty}x^{a-1}(t-x)^{b-1}\mathrm{d}x\mathrm{d}t\\
&= \int_0^{\infty}e^{-t}\int_0^1(t\mu)^{a-1}(t-t\mu)^{b-1}t\mathrm{d}\mu\mathrm{d}t &\mathrm{by}~ x=t\mu, \mathrm{d}x = t\mathrm{d}\mu\\
&= \int_0^{\infty}e^{-t}t^{a-1}t^{b-1}t\left(\int_0^1 \mu^{a-1}(1-\mu)^{b-1}\mathrm{d}\mu\right)\mathrm{d}t\\
&= \int_0^{\infty}e^{-t}t^{a+b-1}\mathrm{d}t\int_0^1\mu^{a-1}(1-\mu)^{b-1}\mathrm{d}\mu\\
&= \Gamma(a+b)\int_0^1\mu^{a-1}(1-\mu)^{b-1}\mathrm{d}\mu
\end{align*}
따라서, $\int_0^1 \mu^{a-1}(1-\mu)^{b-1}\mathrm{d}\mu = \frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}$이 성립한다.
기댓값, 분산
- $\mathbb{E}[\mu] = \frac{a}{a+b}$
- $\mathrm{var}[\mu] = \frac{ab}{(a+b)^2(a+b+1)}$
\begin{align*}
\mathbb{E}[\mu]=\int_0^1 \mu\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\mu^{a-1}(1-\mu)^{b-1} \mathrm{d}\mu\\
=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\int_0^1\mu^a(1-\mu)^{b-1} \mathrm{d}\mu
\end{align*}
여기서 $\mu^a$를 $\mu^{(a+1)-1}$로 볼 수 있다.
그럼 아까 베타분포의 normalized를 정의한 것 처럼 쓸 수 있다.
$$=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \frac{\Gamma(a+1)\Gamma(b)}{\Gamma(a+1+b)}$$
또한 $\Gamma(a+1)=a\Gamma(a)$이고, $\Gamma(a+1+b)=(a+b)\Gamma(a+b)$가 된다.
$$=\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)}\frac{a\Gamma(a)\Gamma(b)}{(a+b)\Gamma(a+b)}=\frac{a}{a+b}$$
$\mu$의 사후확률 (posterior)
$\mu$와 $m$, $l$은 확률변수이다. 하지만 a,b는 상수인 것을 생각하면서 보자.
$p(\mu | m, l, a, b)$∝$p(m,l | \mu)p(\mu|a,b)$이다.
$p(m,l | \mu)$는 likelihood이고,
$p(\mu|a,b)$는 prior이다.
또한 l은 m이 얼마냐에 따라 정해지므로 생략이 가능하다.$=p(m|\mu)p(\mu|a,b)$ 가 된다.
\begin{align*}
p(\mu | m, l, a, b) &= \frac{\textrm{Bin}(m|N,\mu)\textrm{Beta}(\mu|a,b)}{\int_0^1 \textrm{Bin}(m|N,\mu)\textrm{Beta}(\mu|a,b)\textrm{d}\mu}\\
&= \frac{\mu^{m+a-1}(1-\mu)^{l+b-1}}{\int_0^1 \mu^{m+b-1}(1-\mu)^{l+b-1}\textrm{d}\mu}\\
&= \frac{\mu^{m+a-1}(1-\mu)^{l+b-1}}{\Gamma(m+a)\Gamma(l+b)/\Gamma(m+a+l+b)}\\
&= \frac{\Gamma(m+a+l+b)}{\Gamma(m+a)\Gamma(l+b)}\mu^{m+a-1}(1-\mu)^{l+b-1}
\end{align*}
즉 사후확률은 a를 $m$만큼 더하고 b를 $l$만큼 더한다.
예측분포 (predictive distribution)
$$p(x=1 | \mathcal{D}) = \int_0^1 p(x=1|\mu)p(\mu|\mathcal{D})\mathrm{d}\mu = \int_0^1 \mu p(\mu|\mathcal{D})\mathrm{d}\mu = \mathbb{E}[\mu|\mathcal{D}]$$
$$p(x=1 | \mathcal{D}) = \frac{m+a}{m+a+l+b}$$
'ML > ML-수학, 확률과 통계' 카테고리의 다른 글
정규화(Normalization)와 표준화(Standardization)를 하는 이유 (0) | 2022.01.05 |
---|---|
평균, 분산, 표준편차의 이야기 (0) | 2022.01.04 |
선형대수(Linear algebra)-행렬, 행렬의 곱, 성질(2) (0) | 2021.06.03 |
선형대수(Linear algebra)-행렬, 행렬의 곱, 성질(1) (0) | 2021.06.03 |
확률과 통계 - 베이즈 정리 (0) | 2021.06.02 |
댓글