티스토리 뷰

categorical 문제를 풀기 위해 loss설정을 할 때 sparse_categorical_crossentropy와 categorical_crossentropy 중에서 고민이 될 수 있습니다. 본 게시글에서는 두 loss function이 어떤 차이점과 공통점을 가지는지 알아보겠습니다.

 

Sparse_Categorical과 Categorical의 코드상 비교

[좌] Sparse Categorical, [우] Categorical

두 코드를 보면 y_true의 입력이 다르다는 것을 알 수 있습니다.

Sparse Categorical에서 y_true는 일반 정수가 입력인 반면, Categorical에서 y_true는 one-hot vector인 것을 알 수 있습니다.

 

Loss 계산 결과를 보면 매우 유사한 것을 알 수 있습니다.

실제로 계산 수식에 차이가 없기 때문에 정확도에 영향을 끼치지 않습니다.

 

Sparse_Categorical_Crossentropy는 각 샘플이 오직 하나의 class에 속할 때 사용하고

Categorical_Crossentropy는 각 샘플이 여러개의 class에 속할 수 있거나 label이 soft probablities 일 때 사용하는 것이 좋습니다. (e.g. [0.5, 0.3, 0.2)]

Ref

 

'Machine Learning > Basics' 카테고리의 다른 글

머신러닝 용어 정리  (0) 2020.07.18
RMSLE (Root Mean Squared Log Error)  (0) 2020.07.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함