신경망-손실 및 정확도 상관


11

신경망에서 손실 및 정확도 메트릭의 공존으로 약간 혼란 스럽습니다. 둘 다 와 비교의 "정확성"을 표현해야 합니까? 훈련 시대에 두 개의 중복을 적용하지 않습니까? 또한 왜 서로 관련이 없습니까?yy를y^

답변:


9

로그 손실은 차별화 가능한 기능이라는 멋진 특성을 가지고 있습니다. 정확도가 더 중요하고 해석이 더 명확하지만 손실 함수를 차별화 할 수있는 역 전파 알고리즘으로 인해 네트워크 교육에 직접 사용할 수는 없습니다. 원하는 손실이 정확도와 같이 직접 최적화 할 수없는 경우 실제 메트릭을 프록시하는 것과 유사하게 작동하는 손실 함수를 사용합니다. 이진 분류의 경우 마지막에 S 자형을 사용하고 대략적인 정확도를 위해 로그 손실을 사용합니다. 그들은 높은 상관 관계가 있습니다.


6

손실은 정확성보다 더 일반적입니다. 분류시 모든 레이블이 올바르게 예측되는 100 % 정확도로 이동할 수 있습니다. 그러나 회귀 또는 예측은 어떻습니까? 0 %와 100 %의 정의가 없습니다

|와이h와이|


0

예, 둘 다 y와 y_hat의 정확성을 측정하며 일반적으로 상관됩니다. 손실 함수가 정확도가 아닐 수도 있지만 정확도를 직접 최적화하지 않더라도 정확도 측정에 관심이있는 경우가 있습니다. Google의 TensorFlow MNIST 예제는 교차 엔트로피 손실을 최소화 / 최적화하지만 결과를보고 할 때 사용자에게 정확성을 표시합니다.

때로는 정확성을 직접 최적화하지 않으려는 경우가 있습니다. 예를 들어, 클래스 불균형이 심각한 경우 모델은 항상 가장 일반적인 클래스를 선택하여 정확도를 최대화하지만 유용한 모델은 아닙니다. 이 경우 엔트로피 / 로그 손실이 더 나은 손실 함수가됩니다.


7
더 중요한 것은 정확성은 차별화 할 수있는 기능이 아니므로 역 전파를 통해 전파 될 수 없습니다.
Jan van der Vegt

@JanvanderVegt 그렇습니다. 좋은 지적입니다
Ryan Zotti

Keras에서는 컴파일 기능에 "커스텀"평가 메트릭 (이 경우 사용자 정의에 의해 AUC 또는 F1-Score와 같은 Keras의 내장 구현이 없음)을 넣을 수 있다는 것을 알았습니다. 이 경우이 "맞춤형"메트릭은 show_accuracy매개 변수가 True로 설정된 경우 (예 : 피팅 또는 평가와 같이) 정확도 대신 사용 / 표시되는 것으로 가정합니다 . 그 맞습니까?
Hendrik

1
@Hendrik 그렇습니다. 그냥 def your_own_metric(y_true, y_pred)함수를 만들어 전달하십시오model.compile(..., metrics=[your_own_metric])
rilut
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.