우잉's Development

Binary Cross Entropy 본문

Deep learning/용어 정리

Binary Cross Entropy

우잉이 2022. 1. 13. 17:54
728x90
반응형

1. Loss Function (손실함수)

머신러닝 혹은 딥러닝 모델의 출력값과 사용자가 원하는 값의 오차를 의미

 - 정답(\(y\))와 예측 (\(\hat y\))을 입력 받아 실숫값 점수를 만드는데, 이 점수가 높을수록 모델이 안좋습니다.

 - 손실함수의 함수값이 최소화 되도록 하는 weight(가중치)와 편향(bias)를 찾는 것이 목표

 

2. 베르누이 분포

\(f(Y=y_i  ; \pi) = \pi^y(1-\pi)^{1-y}\) , \(y \in \{0, 1\} \)

만약 \(Y\)가 1이면 \(f =1-\pi\)이고 \(Y\)가 0이면 \(f=\pi\)이다.

 

관측값 \(y\)를 고정시키고 위 함수를 parameter \(\pi\)에 대한 함수로 사용한다면 이는 베르누이분포에 대한 가능도 함수가 된다. \(n\)개의 관측데이터에 대해 가능도함수를 일반화 해보자.

\(L(\pi | y) = \prod_{i=1}^n f(y_i| \pi) \),    \(y \in \{0,1\}\),     \(i=1, ..., n\)

위의 식 베르누이 분포를 Loglikelihood function을 적용합니다. 

여기서 Loglikelihood는 likelihood에 log함수를 취한 형태로 정의됩니다. log를 씌어줌으로써 확률의 거듭곱으로 발생할 수 있는 underflow를 방지합니다.

\(l (\pi | y)=log(L(\pi|y))\)

           \(=log(L(\pi | y))\)

           \(=log(\prod_{i=1}^n f(y_i; \pi))\)

           \(=\sum_{i=1}^n log(f(y_i; \pi))\)

           \(=\sum_{i=1}^n log(\pi^y_i (1-\pi)^{1-y_i})\)

           \(=\sum_{i=1}^n (y_i log(\pi) + (1-y_i) log(1-\pi))\)

위의 과정으로 \(L(\pi|y)\)에 대한 loglikehood가 바로 Negative binary cross entropy의 형태인 것을 확인 할 수 있습니다.

 

3. Maximum Liklihood Estimation(MLE)

\(argmax_\pi L(\pi|y)\)

Likelihood를 최대화 하는 \(pi\)는 또한 loglikelihood를 최대화 하므로, likelihood 대신 loglikelihood를 사용

\(argmax_\pi l(\pi|y)\)

여기서 argmin으로 바꾸려면 위의 식에 -1을 곱해야 동일한 솔루션을 얻을 수 있습니다.

\(argmin_\pi - l(\pi|y)\)

따라서

\(argmax_\pi - \sum_{i=1}^n y_i log(\pi) +(1-y_i)log(1-\pi))\)

를 얻을 수 있습니다. 이로써 binary cross entropy를 최소화 하였습니다.

4. Binary cross entropy

\(BCE(x) = - {1\over{N}} \sum_{i=1}^n  y_i log(f(x_i; \pi))+(1-y_i)log(1-f(x_i;\pi))\)

 

 

 

참고 : https://curt-park.github.io/2018-09-19/loss-cross-entropy/

728x90
반응형

'Deep learning > 용어 정리' 카테고리의 다른 글

Local minima  (0) 2022.01.18
Cross-Entropy  (0) 2022.01.14
Bilinear interpolation  (0) 2022.01.12
Comments