Hello Computer Vision

Gaussian distribution과 Mean Squared Error와의 관계 본문

딥러닝/손실함수

Gaussian distribution과 Mean Squared Error와의 관계

지웅쓰 2023. 9. 30. 00:53

우선 해당 내용은 아래 블로그의 내용을 따랐으며 개인 공부를 위해 개인적인 이해를 추가로 담은 내용입니다.

https://hyeongminlee.github.io/post/bnn002_mle_map/

 

Maximum Likelihood Estimation(MLE) & Maximum A Posterior(MAP) | Hyeongmin Lee's Website

Bayes Rule을 이용한 방식의 가장 큰 단점들 중 하나는 Likelihood의 Probability Distribution을 알아야 한다는 점입니다. 물론 앞선 포스팅에서는 관찰을 통해 Likelihood를 얻었지만, 여간 귀찮은 일이 아닐

hyeongminlee.github.io

 

간단한 Regression(회귀) 문제를 푼다고 했을 때, input x에 대하여 output y를 잘 mapping하고 실제 정답 t와 같도록 만드는 것이 우리의 목적이다. n명의 데이터를 가지고 있다고 했을 때 몸무게-키에 대한 모델을 만든다고 해볼 때 데이터셋 D는 다음과 같이 표현할 수 있다. $D = {(x_{1}, y_{1}),... (x_{n}, y_{n}) }$

 

딥러닝으로 이를 모델링한다 했을 때 파라미터 w를 활용해 키(input x)를 넣으면 몸무게(output y)를 정의하는 것을 $y(x|w) $라고 할 수 있다. 그러나 학습된 모델의 output y에 대하여 우리는 항상 정답이라고 할 수는 없다. 정답이 아닌 정답이 높을 확률이 가장 높은 것을 찾는 것이다. 

조금 더 수학적으로 말하자면, 실제 몸무게 t는 모르지만 우리가 예측한 y를 평균으로 하는 Gaussian 분포를 따른다고 할 때 가장 확률이 높은 y라고 예측하는 것뿐이다. 정규분포 식은 다음과 같다.

$ f(x) = \frac{1}{\sigma\sqrt{2\pi }} e^{-\frac{(x-\mu)^2}{2\sigma^{2}}} $

 

x는 random variable이다. 여기서 $\sigma $ 는 표준편차이고 해당 값이 작으면 그래프는 오밀조밀해질 것이고(예측에 더 확신) 표준편차가 크다면 그래프가 넓적한 형태(예측에 자신이 없다)를 가지게 된다. 그러나 우리는 실제 real data의 분포를 잘 알지 못한다. 그저 정규분포로 따를 것이라고 근사하는 것뿐이다. 그렇기 때문에 해당 값은 우리가 알 수 없는 값이며 상수이다. 

 

그렇다면 우리는 주어진 데이터셋에 대하여 각 데이터의 가능도(확률)를 최대로 하는 파라미터를 찾는 것이다. 

$p(D) = \Pi^{N}_{i = 1} p(t_{i} |x_{i}) = \Pi^{N}_{i=1} \frac{1}{\sigma\sqrt{2\pi }} e^{-\frac{(x-\mu)^2}{2\sigma^{2}}}$

이렇게 나타낼 수 있다. 이를 해석해보자면 키가 x1일 때 가장 확률이 높을 t1이라고 말하고 x2일 때 t2라고 말하는 모델을 만드는 것이라고 볼 수 있다. 

 

그러나 우리는 최적화 하는 과정에서 최대로하는 것이 아니라 오차를 최소로 하는 경사하강법을 사용하기 때문에 앞에 음수를 붙여주고 이를 구하기 위해서는 미분을 해야하는데 곱셈 연산을 덧셈연산으로 바꿔주기 위해 log를 붙여준다. 이를 Maximum Likelihood Estimation이라고 한다. 이를 다시 한번 나타내보자면 다음과 같다.

$log(p(D) = \sum {-log(\sqrt{2\pi}}\sigma) - \frac{(x-\mu)^{2}}{2\sigma^{2}}$

그런데 해당 식을 풀기 위해 우리가 모르가 통제할 수 없는 값들이 있다. 바로 $\pi, \sigma $값이다. 통제할 수 없으므로 우리가 likelihood를 최대화 시키는데 전혀 영향을 주지 않기 때문에 없앤다. 그렇다면 다음과 같은 식만 남는 것이다.

$\sum (x - \mu)^{2}$

여기서 x는 random variable, 즉 실제 값이라고 할 수 있고 여기서의 $\mu$는 우리가 예측한 값이라고 할 수 있다. 이렇게 보니 정말 신기했다. 처음 이 공부를 시작할 때 단순히 빼고 제곱하는 것이 합리적이라고 생각해 쓰는줄 알았는데 이렇게 가우시안 분포를 이용해 나오는 결과였던 것이다. classification문제에서는 Cross Entropy를 주로 쓰는데 해당 방법도 MLE방법을 활용해 가능도를 최대화하는 것이다. 

 

잘 이해가 안간다면 제가 설명을 잘 못한 것이니 위의 링크로 남겨둔 포스팅으로 가시면 더 이해가 잘 가실 것이라 생각합니다!