데이터의 종류와 상황에 따라 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 을 사용한다.
댓글