728x90
딥러닝에서 손실함수의 종류는 여러가지가 있다.
하지만 cross entropy 는 잘 이해하지 못했는데 여기서 쉽게 이해한 내용을 정리해보고자 한다.
Cross-entropy 란?
틀릴 수 있는 정보(머신러닝 모델의 output) 로 부터 구한 불확실성 정보의 양이다.
잘 이해가 안되지만 밑에 예제를 살펴보자
여기서 Cross entropy 값은 딥러닝 분류문제에서 softmax 를 통해 나온 결과값과
oneHotEncoding 되어있는 정답 값의 차이라고 보면 된다.
여기서 Q를 예측한 값(Estimated PRobability) 이라고 하고 P를 정답 값(True Probability)이라고 생각해보자.
cross entropy는 정보의 량(Q)에 log qi 분의 2를 사용하기 때문에
모델의 예측값의 확률(Q)을 사용하고 실제정답(P)을 곱해서
예측값이 실제 값과 얼마나 근사한지 알 수 있는 수치(Cross Entropy)가 된다.
완전히 학습이 잘되서 완전히 할 경우 cross entropy 값은 0 이 나오게 된다.
위의 경우를 계산하면
cross entropy 값은 0.32가 나온다.
서로 다른 분류모델을 비교할 때
1번 | 2번 | 3번 | 정답 | |
model 1 | 0.3 | 0.4 | 0.3 | 2번 |
model 2 | 0.1 | 0.7 | 0.2 | 2번 |
model1 과 model2 둘 다 2번을 정답으로 선택하기 때문에 정확도로 보면 둘중 어느 모델이 더 좋은지 알 수 없다.
하지만 cross entropy 를 사용하면 둘중 어느 모델이 정답과 더 근사했는 지를 알 수 있게 된다.
그래서 왜 머신러닝 분류 학습모델에서 loss function 로 cross entropy를 사용하고
cross entropy가 최소화 되도록 gradient desent 하는지 알게 되었다.
유튜브 허민석님의 영상을 참고했습니다.
반응형
'Machine learning > Deep Learning' 카테고리의 다른 글
[PyTorch] . Tensorflow(텐서플로) PyTorch(파이토치) 차이점 비교 (0) | 2021.09.15 |
---|---|
[Deep Learning] Tensorflow 자주 사용하는 Tensor 함수 정리 (0) | 2021.08.21 |
[Deep Learning] Weight Initialization(기울기 초기화), Xavier , He (0) | 2021.08.17 |
[Deep Learning] Activation Function ( 활성화 함수 ) - 비선형 함수(non linear function ) (0) | 2021.08.17 |
[Deep Learning] Activation Function ( 활성화 함수 ) - 2. 종류 (0) | 2021.01.31 |