티스토리 뷰

Cross entropy 에 대해서 명쾌하게 설명해주는 글!

https://stackoverflow.com/a/41990932

 

What is cross-entropy?

I know that there are a lot of explanations of what cross-entropy is, but I'm still confused. Is it only a method to describe the loss function? Can we use gradient descent algorithm to find the

stackoverflow.com

Key takeaways:

 

크로스 엔트로피는두 확률 분포의 차이를 구하기 위해서 사용된다. 딥러닝에서는 실제 데이터의 확률 분포와, 학습된 모델이 계산한 확률 분포의 차이를 구하는데 사용된다.

 

실제 확률분포는 원핫 인코딩으로 표현된다. 3개의 클래스가 있는 데이터가 있다고 하자. 하나의 데이터가 클래스 B 에 해당한다고 할 때 실제 확률을 원핫 방식으로 표현하면 다음과 같다.

 

Pr(Class A)  Pr(Class B)  Pr(Class C)
        0.0          1.0          0.0

 

 

우리가 가진 머신러닝 모델이 계산한 확률은 다음과 같다고 하자.

Pr(Class A)  Pr(Class B)  Pr(Class C)
      0.228        0.619        0.153

 

 

이 둘의 차이를 구하기 위해서 크로스 엔트로피를 쓰는데 계산식은 다음과 같다

 

cross entropy

H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479

 

이렇게 계산된 값을 loss 값으로 사용하고, 이 loss 값을 줄이는 방향으로 학습모델을 training 한다. 

 

참고로 수식을 보면 label 값이 1 일 때의 -log(p) 값만 계산에 들어가는 걸 알 수 있는데 그래서 결국 negative log likelihood 랑 cross entropy 랑 같다는 거임.  


너무나도 명확하게, 머신러닝 전반에 대한 통찰력을 보여주며 손실함수를 설명해놓은 글. 

 

https://umbum.tistory.com/210

 

인공신경망 ( ANN ) #4-1 학습 ( 손실함수, 오차함수 )

손실 함수 ( loss function ) ANN에서는 학습을 통해 최적의 가중치 매개변수를 결정하기 위한 지표로(기준으로) 손실 함수(loss function)를 사용한다. 손실 함수의 결과값(오차)을 가장 작게 만드는 것이 신경망..

umbum.tistory.com

"교차 엔트로피 오차는 정답에 해당하는 위치의 뉴런 값만 계산에 들어간다."

 

  • 평균 제곱 오차: 회귀에서 항등 함수의 손실 함수로 사용
  • 교차 엔트로피 오차: 분류에서 소프트맥스 함수의 손실함수로 사용

'NLP > 이것저것' 카테고리의 다른 글

Accumulated gradients  (0) 2021.08.03
Word embedding vs Contextual embedding  (0) 2021.05.04
Subword encoder - tensorflow  (0) 2019.09.02
Subclassing code example - tf.keras  (0) 2019.08.28
BERT  (0) 2019.08.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함