답변:
로그 손실은 차별화 가능한 기능이라는 멋진 특성을 가지고 있습니다. 정확도가 더 중요하고 해석이 더 명확하지만 손실 함수를 차별화 할 수있는 역 전파 알고리즘으로 인해 네트워크 교육에 직접 사용할 수는 없습니다. 원하는 손실이 정확도와 같이 직접 최적화 할 수없는 경우 실제 메트릭을 프록시하는 것과 유사하게 작동하는 손실 함수를 사용합니다. 이진 분류의 경우 마지막에 S 자형을 사용하고 대략적인 정확도를 위해 로그 손실을 사용합니다. 그들은 높은 상관 관계가 있습니다.
예, 둘 다 y와 y_hat의 정확성을 측정하며 일반적으로 상관됩니다. 손실 함수가 정확도가 아닐 수도 있지만 정확도를 직접 최적화하지 않더라도 정확도 측정에 관심이있는 경우가 있습니다. Google의 TensorFlow MNIST 예제는 교차 엔트로피 손실을 최소화 / 최적화하지만 결과를보고 할 때 사용자에게 정확성을 표시합니다.
때로는 정확성을 직접 최적화하지 않으려는 경우가 있습니다. 예를 들어, 클래스 불균형이 심각한 경우 모델은 항상 가장 일반적인 클래스를 선택하여 정확도를 최대화하지만 유용한 모델은 아닙니다. 이 경우 엔트로피 / 로그 손실이 더 나은 손실 함수가됩니다.
show_accuracy
매개 변수가 True로 설정된 경우 (예 : 피팅 또는 평가와 같이) 정확도 대신 사용 / 표시되는 것으로 가정합니다 . 그 맞습니까?
def your_own_metric(y_true, y_pred)
함수를 만들어 전달하십시오model.compile(..., metrics=[your_own_metric])