DL&ML/concept

Classification에서 CrossEntropy를 Loss 함수로 쓰는 이유?

식피두 2021. 4. 13. 02:06

아래 포스트에서 리그레션에서 왜 MSE를 쓰는지 MLE 관점에서 살펴보았다.

 

Regression에서 MSE를 Loss 함수로 쓰는 이유?

이전에 아래 글에서 Likelihood & MLE에 대한 정리를 했었는데, 분류 문제에 대한 설명은 되지만, 리그레션 문제에 대한 설명을 하려 할 때 감이 잘 오지 않는다. Likelihood & MLE(최대 우도 추정) 1 Likeliho

aimaster.tistory.com

그렇다면 분류 문제는 왜 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 값을 얻을 수 있고

y_n은 x_i 입력에 대한 출력 확률 값을 의미.

 

늘 해오던 것 처럼

로그를 취하고 -를 붙여 NLL로 최적화를 할 수 있게 된다.

σ(wx)는 뉴럴넷의 출력 확률 값을 의미.

 

참고자료!

nittaku.tistory.com/478

 

5-6. 로지스틱 회귀분석(Logistic Regression)

로지스틱 회귀분석 지금까지 학습한 선형 회귀분석 단순/다중은 모두 종속변수Y가 연속형 이었다. 로지스틱회귀분석 은 종속변수가 범주형이면서 0 or 1 인 경우 사용하는 회귀분석이다. 로지스

nittaku.tistory.com

taeoh-kim.github.io/blog/softmax/

 

Bayes Theorem과 Sigmoid와 Softmax사이의 관계

Bayes Theorem과 Sigmoid와 Softmax사이의 관계 By Taeoh Kim at September 22, 2017 Computer Vision and Machine Learning Study Post 5 Bayes Theorem과 Sigmoid와 Softmax사이의 관계 Reference는 다음과 같습니다. Pattern Recognition and Machin

taeoh-kim.github.io

taeoh-kim.github.io/blog/crossent/

 

Cross Entropy의 정확한 확률적 의미

Cross Entropy의 정확한 확률적 의미 By Taeoh Kim at September 26, 2017 Computer Vision and Machine Learning Study Post 6 Cross Entropy의 정확한 확률적 의미 김성훈 교수님의 딥러닝 강의를 듣다 보면, Logistic Regression으로

taeoh-kim.github.io

 

'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