MLE(maximum likelihood method)

Dae Hee Lee·2021년 7월 26일
0

최대가능도방법 (最大可能度方法, 영어: maximum likelihood method) 또는 최대우도법(最大尤度法)은 어떤 확률변수에서 표집한 값들을 토대로 그 확률변수의 모수를 구하는 방법이다. 어떤 모수가 주어졌을 때, 원하는 값들이 나올 가능도를 최대로 만드는 모수를 선택하는 방법이다. 점추정 방식에 속한다.

쉽게 말하면, 우리는 어떠한 확률 변수를 가지는 상황에서 결과값들을 모으게 된다. 이 때, 확률 변수란 말 그대로 그 상황이 발생할 확률을 변수로 표현한 것이다.

이 때 Likelihoodnn번의 시행이 각각 x1,x2,...,xnx_1, x_2, ..., x_n이 나올 가능성(확률)이다. 즉, 각 확률변수에 대해서 확률 밀도(질량) 함수가 ff라면, Likelihood값은 L=f(x1,x2,...,xn)L = f(x_1,x_2,...,x_n)이다. 만약 각 확률변수들이 독립적이고 같은 확률 분포를 가지고 있다면 L=i=0nf(xi)L = \prod_{i=0}^{n}f(x_i) 으로 표현이 가능할 것이고, 여기에 loglog를 취해 단조 증가함수로 만들어 계산을 쉽게 하기도 한다.

이 때, 이러한 함수들에 영향을 주는 모수가 존재한다. Gaussian Distribution에서 μ,σ\mu,\sigma가 그럴 것이다. 우리는 이 모수들을 통틀어 θ=(μ,σ)\theta = (\mu,\sigma) 로 표현할 수 있다. 따라서

L(θ)=i=0nf(xi)L(\theta) = \prod_{i=0}^{n}f(x_i) 로 표현할 수 있다. 이 때, 우리는 이 가능도를 최대로 만드는 θ\theta가 구하고 싶은 것이다. 즉 이렇게 Likelihood를 최대로 만드는 값을 θ^\hat{\theta}라 하고, 위 내용을 수식으로 적으면
θ^=argmax\hat{\theta} = argmax L(θ)L(\theta)가 된다.

이러한 L(θ)L(\theta)값을 찾기 위해서는 간단하게 말하면 미분해서 0이되는 지점을 찾는 것이다. Gradient Descent에서와 같이 Learning Rate와 Loss Function의 Gradient의 곱을 계속해서 빼주는 형식으로 업데이트를 하는 것이다.

이렇게 MLE를 최대로 하는 θ\theta를 Machine Learning을 활용해서 찾아내게 되면 주어진 데이터를 가장 잘 설명하는 확률 분포 함수를 찾으려고 하다보니 Overfitting의 가능성이 매우 높다. 이 과적합을 최소화하기 위해서는 Training Set와 Test Set으로 분리할 때, 일부를 Validation Set으로 만들어 검증을 실시해주어야 한다.

실제로 학습을 진행할 때, loss값과 val_loss값을 비교할 수 있는데, loss값은 epoch수가 커질 수록 계속 작아지지만, val_loss값은 일정 수준 떨어지다가 다시 올라가는 현상을 볼 수 있다. 따라서 val_loss값이 최소가 되는 값을 찾는 것이 중요하다고 할 수 있다.

이 외에도 오버피팅을 막기 위해서는

  • 많은 데이터
  • 적은 Feature 수
  • Regularization(규제)

여기서 Regularization의 방법으로는 다음과 같은 것들이 있다.

  • Early Stopping :
    Val_loss값이 더이상 낮아지지 않을 때 Stop
  • Reducing Network Size :
    NN 학습 양 줄일 수 있음
  • Weight Decay :
    NN 파라미터의 크기를 제한
  • Dropout
  • Batch Normalization
profile
Today is the day

0개의 댓글