시작하기에 앞서..
몇일 전에 갑자기 학구열이 불타서 prml 책을 샀습니다.. 근데 이렇게 어려울 줄은 생각도 하지 못했네요 ㅜㅜ
이 책을 공부하는데 토대가 될 확률, 베이지안 관점에 대해 공부하려고 합니다.
포스팅 된 내용은 어느정도 prml 책에서 나옴을 알려드립니다.
가우시안 분포
$$
N(x|\mu, \sigma^{2}) = {1 \above 1pt (2\pi\sigma^{2})^{1 \above 1pt 2}}\exp{{-1 \above 1pt 2\sigma^{2}}(x-\mu)^{2}}
$$
가우시안에 대한 property
\(\int^{\inf}_{-inf}N(x|\mu, \sigma^{2}) dx = 1\)
\(N(x|\mu, \sigma^{2})>0\)
\(E[x] = \int^{\inf}_{-inf}N(x|\mu) x dx = \mu\)
\(E[x^{2}]= \int^{\inf}_{-inf}N(x|\mu) x^{2} dx = \mu^{2} + \sigma^{2}\)
\(var[x] = E[x^{2}]-E[x]^{2} = \sigma^{2}\)
위 조건들 중 1, 2 조건을 보시면 보시면 어떤게 생각나시지 않나요? 네 바로 pdf의 꼴 임을 알 수 있습니다.
그리고 연속 변수로 이루어진 D차원 벡터 X에 대한 가우시안 분포를 생각해봅시다. (X는 데이터들 이라 생각하시면 됩니다.)
$$
N(X|\mu,\Sigma) = {1 \above 1pt (2\pi)^{D \above 1pt 2} |\Sigma|^{1 \above 1pt 2}}\exp{{-1 \above 1pt 2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)}
$$
위의 식은 연속변수로 이루어진 D차원 벡터 X에 대한 가우시안 분포 식입니다.
\(\Sigma\) : 공분산, \(|\Sigma|\) : 행렬식
앞서 말했듯이 가우시안 분포는 pdf로 생각해도 괜찮겠죠??
그럼 가능도라고 생각을 해봅시다!
$$
p(x|\mu, \sigma^{2}) = \prod^{N}_{n=1}N(x_n|\mu, \sigma^{2})
$$
\(x_{n}\) : 관측 데이터. 관측 데이터는 서로 독립 관계라서 전체 데이터에 대한 확률은 곱을 통해 계산 가능합니다.
이 가우시안 식을 좀 더 계산하기 쉽게 로그를 씌워 봅시다!
$$
\ln p(x|\mu, \sigma^2) = {-1 \above 1pt 2\sigma^2}\sum^{N}_{n=1}(x_n-\mu)^{2} - {N \above 1pt 2}\ln \sigma^{2} - {N \above 1pt 2} \ln (2\pi)
$$
로그를 씌워주면 위처럼 정리가 됩니다.
$$
{-1 \above 1pt 2\sigma^2}\sum^{N}_{n=1}(x_n-\mu)^{2}
$$
이부분 어디서 본 적 있지 않으신가요?
MSE가 결국에는 확률적인 개념에서 유도되는 식입니다.
음 뒷부분에서 곡선피팅 중 한 부분에 대해 이야기 할까 하는데요, 위의 과정이 그대로 적용된다고 생각하시면 될 것 같습니다.
위에서 가능도를 저희가 \(p(x|\mu, \sigma^{2})\)로 생각 했었죠??
그럼 이 가능도가 최대화 된 경우를 생각해봅시다.
$$
\mu_{ML} = {1 \above 1pt N}\sum^{N}_{n=1}x_n
$$
$$
\sigma_{ML}^{2} = {1 \above 1pt N}\sum^N_{n=1}(x_n-\mu_{ML})^{2}
$$
\(\mu_{ML}\),\(\sigma_{ML}^{2}\)는 최대 가능도 해라고 불리며,
\(\mu_{ML}\)는 표본 평균, \(\sigma^{2}_{ML}\)는 표본 분산 이라고 합니다.
근데 알다시피 이 \(\sigma^2\)는 모집단에 대해 근사하는 값이지 완전한 값은 아니라고 할 수 있습니다.
$$
E[\sigma^{2}_{ML}]={N-1 \above 1pt N}\sigma^2
$$
표본이라서 위처럼 근사한 형태로 표현됩니다.
N(표본의 수)이 부족하면 Overfitting이 일어난다는 것이 당연한 이야기지만, 이렇게 확률적인 관점으로 이해를 할 수도 있습니다.
추가 ! 최빈값 : 분포의 최댓값, 가우시안에서는 \(\mu\)가 최빈값 입니다.
곡선 피팅
빈도적인 측면의 이야기 입니다
N개의 입력 값 \(x=(x_1, x_2, ... , x_N)^{T}\)
표적 값 \(t=(t_1, t_2, ... , t_N)^{T}\)
확률 분포를 통해 타깃 변수의 값에 대한 불확실성을 확인해봅시다!
x에 대한 t 값이 y(x,w)를 평균으로 갖는 가우시안 분포를 갖는다고 생각해봅시다 (w : model)
여기에서 \(\beta\)는 정밀도를 의미합니다. \(\beta^{-1} = \sigma^2\)
\(p(t|x, w, \beta)=N(t|y(x,w),\beta^{-1})\)
$$
p(t|x,w,\beta) = \prod^{N}_{n=1}N(t_n|y(x_n,w),\beta^{-1})
$$
이대로는 가능도 함수를 구하기 힘듭니다 ㅜㅜ 그러니 이전 방법처럼 로그를 씌워봅시다!
$$
\ln p(t|x,w,\beta) = -{\beta \above 1pt 2}\sum^{N}_{n=1}{y(x_n, w)-t_n}^{2} + {N \above 1pt 2}\ln \beta - {N \above 1pt 2}\ln 2\pi
$$
$${-{\beta \above 1pt 2}\sum^{N}_{n=1}{y(x_n, w)-t_n}^{2}}$$
위에서 언급했었던, 머신러닝에서의 진짜 MSE가 나왔습니다! 이는 가능도 함수를 최대화하기 위함입니다.
\(W_{ML}\) : 가능도 최대 (Maximum Likelihood)일 때 모델의 가중치
$$
{1 \above 1pt \beta_{ML}} = {1 \above 1pt N}\sum^N_{n=1}(y(x_n, w_{ML})-t_n)^{2}
$$
: \( W_{ML} \)을 통해 구해지는 최적의 정밀도
위의 식들을 통해서 예측 분포를 표현할 수 있습니다!
$$
p(t|x, w_{ML},\beta_{ML}) = N(t|y(x,w_{ML}),\beta^{-1}_{ML})
$$
위처럼 "가능도"를 최대화 하는것을 MLE 라고 할 수 있습니다.
음 가능도 뿐만이 아니라 사전분포를 고려해서 사후분포를 최대화 할 수는 없을까요?
할 수 있습니다!
자세한 유도는 생략하겠습니다 ㅎㅎ
$$
p(w|\alpha) = N(w|0, \alpha^{-1}I)
$$
$$
p(w|x,t,\alpha, \beta) \varpropto p(t|x,w,\beta)p(w|\alpha)
$$
w에 대한 사후분포 최대화 시키기위해 가우시안 분포 식에대해 정리해보면,
$$
{\beta \above 1pt2}\sum^N_{n=1}{y(x_n,w)-t_n}^{2} + {\alpha
\above 1pt 2}w^Tw
$$
이처럼 유도 됩니다.
머신러닝에서 흔히 사용되는 Regularization과 동일한 식이네요.
웨이트에 규제를 준다 라는 뜻은 사전 확률을 고려해주겠다! 라는 뜻과 동일한 의미인가보네요
위의 내용들을 다 읽으셨다면 이 사진에 대해 한번 생각해보는 시간을 가져보시는 것도 괜찮을 것 같습니다 ㅎㅎ
Reivew
음 오늘 한 내용은, 이전에 머신러닝을 좀 공부했었던 저에게 좀 더 깊으면서 다른 관점에서 볼 수 있는 눈을 줬습니다. 흔히 말하는 weight decay 는 어떻게 작동하는지도 이해가 안된 상태에서 그냥 사용하기만 했는데, 관점을 조금 돌려보니 완전히 이해할 수 있게되는 계기였습니다.
loss function, 정규화와 같은 부분들을 좀 더 깊은 지식을 가지고 사용을 한다면 더 좋지 않을까 싶습니다.:)
혹시 틀린 부분이 있다면 꼭 지적해주세요!
'Math' 카테고리의 다른 글
확률 분포 (1) (0) | 2021.05.19 |
---|---|
머신 러닝에서 확률 (0) | 2021.05.19 |