- Published on
Maximum Likelihood Estimation와 Loss Function
Maximum Likelihood Estimation
MLE는 주어진 데이터에 대한 우도(likelihood)를 최대화하는 파라미터를 찾는 방법이다. 여기서 말하는 우도란 처럼 정의되며, 파라미터 가 변화함에 따라 주어진 데이터가 얼마나 그럴듯한지 나타내는 함수를 뜻한다.
참고로 확률 분포와 우도 함수는 구분해야 하는 개념으로, 확률 분포 가 파라미터 는 고정하고, 데이터 를 변수로 하여 '파라미터 일 때 가 나올 확률로 해석된다면, 우도 함수 은 '데이터 가 고정일 때 파라미터 를 변수로' 하여 에 대해 가 그럴 듯한 정도를 의미한다.
개념 | 확률 분포 (P) | 우도 함수 (L) |
---|---|---|
변수 | 데이터 x | 파라미터 θ |
고정 값 | 파라미터 θ | 데이터 x |
해석 | θ일 때 x가 나올 확률 | x가 나왔을 때 θ가 그럴듯한 정도 |
즉, MLE는 '데이터를 가장 그럴듯하게 만들어주는 파라미터 를 찾기 위해 에 대한 함수인 우도 함수를 최대화하는 방법'으로 정의할 수 있다.
곱을 덧셈으로 변환하기 위해 를 취해주면 다음과 같이 표현된다.
i.i.d condition
MLE는 전체 데이터의 likelihood를 개별 데이터들의 확률들의 곱으로 정의한다. 이것이 성립하기 위해서는 데이터에 대한 중요한 가정이 붙게 되는데, 바로 데이터들이 독립이면서 동일한 분포에 따라 수집되어야 한다는 점이다. 이를 i.i.d condition(independent and identically distributed) 이라고 한다.
이 조건은 다음과 같은 이유에서 매우 중요하다.
- 독립성 (independent): 각 샘플이 서로 독립일 때만 전체 likelihood를 곱의 형태로 표현할 수 있다.
- 동일 분포 (identically distributed): 모든 샘플이 같은 분포에서 나와야 하나의 파라미터 로 전체 데이터를 설명할 수 있다.
예를 들어, 시계열 데이터처럼 시간에 따라 샘플 간 연관성이 존재하는 경우, i.i.d. 조건이 성립하지 않는다. 이때 MLE를 그대로 적용하면 bias가 생기거나 일반화가 되지 않는 문제가 발생하며, 그 결과 학습이 제대로 이루어지지 않을 수 있다.
MLE 와 Cross Entropy Loss
분류 문제에서 많이 사용하는 Cross Entropy 와 회귀 문제에서 많이 사용하는 MSE 모두 MLE 를 기반으로 유도된 loss function 이다. 구체적으로 말해 MLE의 관점에서 보면, cross entropy는 분류 문제의 log likelihood 이고, MSE는 회귀 문제에서 정규분포를 가정했을 때의 log likelihood 이다.
Cross Entropy
Cross Entropy의 개념을 이해하기 위해 먼저 Entropy가 무엇인지부터 살펴보자. Cross Entropy에서 말하는 Entropy는 일반적으로 '불확실성' 또는 '정보량'으로 해석된다. 정보 이론에서 Entropy는 어떤 사건의 정보량을 수치화하기 위해 도입된 개념으로, '확률이 낮은 사건일수록 더 많은 정보량을 가진다'는 원칙에 기반한다. 이러한 원칙에 따라, 사건 의 정보량은 다음과 같이 음의 로그(Negative log) 로 표현된다.
확률 분포 전체에 대한 평균 정보량, 즉 엔트로피는 다음과 같이 정의된다.
어떤 확률 분포에 따라 발생할 수 있는 사건이 총 3가지이고, 각 사건이 발생할 확률이 [1/3, 1/3, 1/3]
으로 서로 동일하다면 불확실성이 최대가 되고, 어떤 사건이 발생하였을 때 얻게 되는 정보량의 평균 값, 즉 엔트로피 또한 최대가 된다.
반대로, 가능성 있는 사건 중 오직 하나의 사건만 발생할 수 있는 경우 - [1, 0, 0]
- 어떤 사건이 발생할 것인지는 이미 결정되어 있으므로, 불확실성은 0, 그에 따라 얻게 되는 사건 당 정보량도 0이 되므로, 엔트로피도 0이 된다.
그렇다면 Cross Entropy 는 무엇을 뜻할까. Cross Entropy는 하나는 실제 분포(정답), 다른 하나는 예측 분포일 때, 실제 분포를 기준으로 했을 때 예측 분포가 가지는 평균 정보량, 즉 모델의 예측이 정답 분포와 얼마나 차이가 있는지를 측정하는 지표다. 수식으로는 다음과 같이 표현된다.
여기서 는 실제 정답 확률 분포를, 는 모델이 예측한 확률 분포를 의미한다. 만약 정답 분포와 예측한 확률 분포가 서로 동일하면 Cross Entropy 의 값은 최소값이 되고, 두 가지가 다르면 다를수록 그 값은 커진다. 머신러닝의 학습에서는 Cross Entropy 의 이러한 특성을 이용하여, 예측 분포 가 실제 정답 분포 에 가까워지도록 학습을 진행한다. 이 과정을 Cross Entropy Loss를 최소화한다고 표현한다.
Cross Entropy와 KL Divergence
이러한 Cross Entropy는 두 확률 분포 간의 차이를 측정하는 척도인 KL Divergence (Kullback-Leibler Divergence) 와 밀접한 관계를 가지고 있다.
전개식의 마지막 두 항을 보면 KLD 는 두 확률 분포 간의 Cross Entropy 에서 분포 의 Entropy 를 뺀 값이라는 것을 알 수 있다.
이때 를 정답 분포로 보면 고정 값이자 학습으로 바뀔 수 없는 값이다. 따라서 Cross Entropy 를 최소화하는 것은 KLD를 최소화하는 것과 동일하다.
Cross Entropy Loss
이제 Cross Entropy의 수식적 정의를 다시 살펴보자. 는 가능한 클래스 집합 에 속하는 원소를 뜻한다.
쉬운 전개를 위해 정답 분포로 one-hot Encoding 을, 으로 가정하면 다음과 같이 Cross Entropy 식을 풀어쓸 수 있다.
대부분의 항들은 이 곱해져 사라지고 정답 클래스에 해당하는 예측 확률 만 남는다는 것을 확인할 수 있다. 이때 , 즉 모델이 정답 클래스의 확률 1로 정확히 예측하면 Cross Entropy 는 0이 된다. 이렇게 정의된 Cross Entropy는 머신러닝 분류 문제에서 Loss Function으로 자주 사용되며, 이를 Cross Entropy Loss라고 한다.
즉, Cross Entropy Loss는 모델의 예측이 얼마나 다른지를 수치화하여 학습의 방향을 결정하는 기준이 되며, 이를 줄이는 방향으로 모델의 파라미터를 업데이트 함으로써 모델의 예측 분포 가 실제 정답 분포 에 가까워지도록 할 수 있다.
정답 분포가 one-hot encoding 형태로, 정답 클래스에만 1이 할당되고 나머지 클래스에는 0이 할당되는 경우, Cross Entropy Loss는 다음과 같이 더욱 간결하게 표현할 수 있다.
한편, 이진 분류(Binary Classification)의 경우에는 Binary Cross Entropy를 사용하며, 수식은 다음과 같다.
MLE 와 Cross Entropy Loss
끝으로 이렇게 유도된 Cross Entropy Loss가 어떻게 MLE와 연결되는지 살펴보자.
여기서 는 즉, 모델이 예측한 확률 중 정답 클래스의 확률과 동일하다. 이를 치환한 뒤, Loss function 의 형태로 argmax 식을 변경하면 다음과 같아진다.
그리고 평균을 취하면 Cross Entropy Loss 식과 동일해진다.
따라서 Cross Entropy Loss는 MLE의 negative log-likelihood에 해당하며, 이를 최소화하는 것은 관측된 데이터에 대한 likelihood를 최대화하는 것, 즉 MLE이다
MLE와 Mean Square Error
우리나라 말로 평균 제곱 오차(Mean Square Error)로 번역되는 MSE는 모델이 예측한 값과 정답 값 간의 차이를 제곱하여 평균한 값이다.
MSE를 사용하는 것은 (1) 게산이 비교적 쉽고 (2) 오차에 제곱을 하기 때문에 큰 오차에 더욱 민감하게 반응하며, (3) 오차의 부호가 사라져 양수로 통일된다는 장점이 있다. 또한, MSE는 단순한 계산상의 선택이 아니라, 정규분포를 가정한 회귀 모델에서 MLE(Maximum Likelihood Estimation) 로부터 유도된다는 점에서 통계적으로도 의미를 가진다.
Regression Problem Modeling
회귀 문제는 다음과 같은 상황을 가정한다.
- 입력 데이터:
- 출력 값:
- 예측 모델:
예측 모델 학습의 목표는 를 업데이트하여 가 에 가까워지도록 만드는 것이다. 이때 MLE를 적용하여 파라미터를 업데이트하기 위해서는 가 어떤 확률 분포에서 나왔는지 가정해야 한다. 이떄 회귀 문제에서 가장 많이 사용되는 분포는 정규 분포(Gaussian)이다.
MLE + Gaussian = MSE
이를 MLE 의 likelihood 식에 대입하면 다음과 같다.
Negative Log Likelihood 를 적용하여 loss function 의 형태로 바꾸어주면 다음과 같다.
위 식에서 첫 번째 항 은 값의 변화에 따라 값이 달라지지 않는다. 따라서 로 빼어내어 정리해주면 다음과 같아진다.
여기서 은 스케일에만 영향을 주고, 의 업데이트 방향에 대해서는 영향을 미치지 않는다는 점에서 MSE의 식과 정규 분포를 가정한 MLE 는 학습 방향이 동일하다고 할 수 있다.
MLE + !Gaussian
MSE는 정답 분포가 정규 분포라는 가정 하여 도출된 결과이다. 회귀 문제에 MLE를 적용할 때, 정규 분포가 아닌 다른 분포를 가정하게 되면 최적화 식 또한 달라지게 된다. 예를 들어 Laplace 분포를 가정하게 되면 MAE(Mean Absolute Error), 정규 분포를 따르되 입력에 따라 다른 분산이 적용(이분산)되면 Weighted MSE가 도출된다.