아래 포스트에서 리그레션에서 왜 MSE를 쓰는지 MLE 관점에서 살펴보았다.
그렇다면 분류 문제는 왜 CrossEntropy를 쓸까?
물론 정보이론 관점에선 CrossEntropy가 분포 P를 기준으로 분포 Q의 정보량의 평균을 측정하는 수단이기 때문에
이를 이용해서 두 확률 분포(뉴럴넷 출력)를 일치시키는 방향으로 학습하기 위함이라고 해석할 수 있지만,
여기선 확률적인 해석을 정리해보려 한다.
이진 분류 문제를 기준으로 생각해보자.
MLE 복습
어떤 데이터셋 D = {(x_i, t_i)} 가 주어져 있을 때 (x_i ; 입력, t_i ; 정답)
우리는 데이터셋을 잘 설명하는 뉴럴넷의 파라미터를 구하기 위해서
argmax sum{log p(t_i | x_i ; Θ)}, i: 0 ~ N
를 통해 log likelihood를 최대화 함으로써 파라미터를 구했다.
(- 를 붙이면 NLL이 되어 최소화 문제로 바뀌었고)
Bernoulli Distribution + MLE = Cross Entropy
분류 문제를 MLE로 풀 때
우리는 Likelihood 값인 p(t_i | x_i)를 얻기 위해
베르누이 분포를 가정한다!
주어진 N개의 데이터셋은 입력 x_i에 대해서 정답 t_i = 0 or 1 이 주어져있다.
베르누이 분포의 Likelihood는 다음의 PMF를 통해 구할 수 있다.
위 수식에서의 x는 정답(t_i ; 0 or 1)을 의미하고,
Θ가 x_i 입력에 대한 뉴럴넷의 출력 값 확률(0~1)을 의미한다.
그렇다면 주어진 N개의 데이터셋에 대한 Likelihood 값을 얻을 수 있고
늘 해오던 것 처럼
로그를 취하고 -를 붙여 NLL로 최적화를 할 수 있게 된다.
참고자료!
taeoh-kim.github.io/blog/softmax/
taeoh-kim.github.io/blog/crossent/
'DL&ML > concept' 카테고리의 다른 글
ReLU가 Non-linear인 이유? (0) | 2021.04.14 |
---|---|
Seq2Seq & Beam Search (0) | 2021.04.14 |
Posterior, Likelihood, Prior (0) | 2021.04.12 |
Regression에서 MSE를 Loss 함수로 쓰는 이유? (0) | 2021.04.11 |
Optimizers (momentum, RMSProp, Adam, AdamW) (0) | 2021.04.11 |