theory/NLP

[머신러닝 기초] entropy, binary cross entropy, KL divergence

아르르르를를르 2022. 9. 26. 17:08

entropy

머신러닝 초기학습 진행 후, 성능을 높이려면 사람이 레이블링한 데이터를 추가해서 재학습을 시켜야 하는데

이는 (1) 비용이 크고 (2) train data 다시 넣을 시 중첩 데이터가 있어 비효율적이다.

이때 해결책으로 엔트로피를 사용하여 불확실한 값들을 필터링 할 수 있다.

 

엔트로피란, 정보를 표현하는데 필요한 '최소 정보량' / 정보의 만국 공통어 개념으로 여기서

'최소 정보량'이란, 0과 1의 bits 단위로, bits값이 최소값일 때 효율적으로 데이터를 저장하는 lower bound가 된다.

entropy

보통 가우시안 + continuous 에서 엔트로피가 최악이 되며,

dicision tree에서도 앞에서부터 필터링하는데에 필요한 중요 요소 중 하나이다.

 

binary cross entropy

loss function은 크게 세 가지가 있다.

  • binary cross entropy
  • categorical entropy
  • sparse entropy

classification 분류 모델에 주로 쓰이는 binary cross entropy에 대해 알아보자.

cross entropy는 틀릴 수 있는 정보를 가지고 구한 엔트로피 / 불확실성 정보의 양을 의미한다.

entropy가 다음 식이라면, 

entropy

cross entropy는 다음과 같이 q는 실제 값을, p는 모델이 예측한 값을 나타낸다. q와 p가 모두 들어가서 cross entropy라고 한다.

cross entropy

 

KL(Kullback-Leibler) divergence

cross entropy(모델이 예측한 값)에서 entropy(실제 값)을 뺀 값으로 예측이 얼마나 잘못되었는지 계산한다.

값의 차이를 줄이기 위해 이 값을 최소화 시켜야 한다.

 

 

 

참고:

https://www.youtube.com/watch?v=z1k8HVU4Mxc 

 

'theory > NLP' 카테고리의 다른 글

[머신러닝 기초] 학습 유형  (0) 2023.05.07
BERT  (0) 2022.02.04
Transformer  (0) 2022.02.04
퍼셉트론(perceptron)  (0) 2022.01.17
sparql이란?  (0) 2021.03.22