본문 바로가기
  • 콩's 코딩노트
TensorFlow

TensorFlow - 분류의 문제에서, loss 함수 어떤 것을 써야할까?

by Cong_S 2022. 6. 14.

데이터의 종류와 상황에 따라 compile 할 때 loss의 값을 적절하게 선택해주어야 한다.

 

먼저 분류의 문제에서 사용하는 loss 함수는 다음과 같다.

 

binary_crossentropy

categorical_ crossentropy

sparse_categorical_crossentropy

 

하나하나 알아보자

먼저 y(결과값)이  단 두개로 나오는 경우이다.

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

이때는 loss에 binary_crossentropy 을 사용한다.


y의 결과값이 3개 이상이며 원핫 인코딩 일땐 (0 , 0, 0, 1   

                                                                 1 , 0 , 0 , 0 ...)

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

loss에 categorical_crossentropy 을 입력한다.


 

y의 결과값이 3개 이상이며 레이블 인코딩 (ex. 1 , 2, 3, 4...) 일땐

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

이때는 loss에 sparse_categorical_crossentropy 을 사용한다.

 

댓글