negative log likelihood loss

 negative log likelihood loss

  • 특정 인스턴스에 대해 모델이 예측한 각 클래스의 확률분포 $x$와 인스턴스의 $class$가 주어졌을 때의 negative log likelihood loss는 다음과 같다. 
$$loss(x, class) = -log(x[class]) $$
      • 위 수식에서 $x = (x[0], x[1], ... x[k])$ 로 $x[i]$는 i번째 클래스에 대한 모델의 예측값이다. 
      • 위 수식에서 인스턴스의 정답 클래스가 $i$번째 클래스인 경우, $class$는 $i$와 같다. 
      • 위 수식에서 $ 0 \leq x[i] \leq 1$이고, $\sum_i x[i] = 1$이다. 
    • $x$가 확률 분포가 아니라면, 아래와 같이 softmax를 이용해서 negative log likelihood loss를 계산할 수 있다. 
    $$\begin{align} loss(x, class) &= -log(softmax(x[class])) \\ &= -log( \frac{exp(x[class]) }{\sum_j exp(x[j]) } ) \end{align} $$ 
      • 위 수식에서 $softmax$는 $x[i]$를 확률로 만들기 위함이고, $ 0 \leq x[i] \leq 1$이고, $\sum_i x[i] = 1$이 되게끔한다. 
    • N개의 인스턴스가 있는 경우, loss는 다음과 같다. 
      • 각 instance의 negative log likelihood loss의 합이다. 
    $$loss = \sum_i^N loss(x_i, class[i]) $$ 
      • 위 수식에서 $x_i$는 $i$번째 instance 이다. 
      • 위 수식에서 $class[i]$는 $x_i$의 정답 클래스를 의미한다. 

    negative log likelihood loss는 cross entropy loss와 같은 수식이 되네 

    댓글

    이 블로그의 인기 게시물

    utf-8과 utf8