이것은 여기서 여러 번 간접적으로 묻는 일반적인 질문이지만 단일 정식 답변이 없습니다. 참조를 위해 이에 대한 자세한 답변을 얻는 것이 좋습니다.
모든 분류 중에서 올바른 분류의 비율 인 정확도 는 매우 간단하고 매우 "직관적 인"측정이지만 불균형 데이터에 대한 측정 은 좋지 않을 수 있습니다 . 왜 직관이 우리를 잘못 인도하고이 법안에 다른 문제가 있습니까?
이것은 여기서 여러 번 간접적으로 묻는 일반적인 질문이지만 단일 정식 답변이 없습니다. 참조를 위해 이에 대한 자세한 답변을 얻는 것이 좋습니다.
모든 분류 중에서 올바른 분류의 비율 인 정확도 는 매우 간단하고 매우 "직관적 인"측정이지만 불균형 데이터에 대한 측정 은 좋지 않을 수 있습니다 . 왜 직관이 우리를 잘못 인도하고이 법안에 다른 문제가 있습니까?
답변:
다른 답변들 대부분은 불평형 수업의 예에 중점을 둡니다. 예, 이것이 중요합니다. 그러나 균형 잡힌 수업에서도 정확성이 문제가된다고 주장합니다.
프랭크 하렐 (Frank Harrell) 은 자신의 블로그 에 분류 정확도와 기타 불연속적인 부적절한 정확도 스코어링 규칙으로 인한 분류 및 예측 및 손상 에 대해 글을 썼습니다 .
기본적으로 그의 주장은 새로운 표본의 각 클래스에 대한 확률을 출력 할 때 운동의 통계적 구성 요소가 종료된다는 것입니다. 새로운 관측치를 1 대 0으로 분류하는 임계 값을 더 이상 통계의 일부가 아님을 선택하여 이러한 예측 확률 을 0-1 분류로 매핑 . 결정 구성 요소의 일부입니다 . 그리고 여기에는 모델의 확률 적 출력이 필요하지만 다음과 같은 고려 사항도 있습니다.
결정 의 결과 에 따라 다른 임계 값을 사용하여 결정합니다. 활동이 침습적 수술 인 경우, 두 가지 아스피린을 권장하는 것보다 환자를 분류 할 확률이 훨씬 높습니다. 또는 두 가지 수업 (아프거나 건강에 좋은) 만 있지만 세 가지 다른 결정을 내릴 수도 있습니다 . .
예측 확률을 평가하는 정확한 방법 이다 하지 임계 값에 비교로 매핑 임계 값에 기초하여 다음 변환 평가 분류. 대신 적절한 채점 규칙을 사용해야합니다 . 예측 확률과 해당 관측 결과를 손실 값에 매핑하는 손실 함수로, 실제 확률 의해 예상되는 최소화됩니다 . 아이디어는 여러 (최고 : 많은) 관찰 결과 및 해당 예측 클래스 멤버십 확률에 대해 평가 된 점수 규칙에 대한 평균을 점수 규칙의 기대치의 추정치로 취한다는 것입니다.
여기서 "적절한"은 정확하게 정의 된 의미를 갖습니다. 부적합한 점수 규칙 뿐만 아니라 적절한 점수 규칙 과 최종적으로 적절한 점수 규칙이 있습니다. 이와 같은 스코어링 규칙 은 예측 밀도 및 결과의 손실 함수입니다. 적절한 스코어링 규칙 은 예측 밀도가 실제 밀도 인 경우 예상에서 최소화되는 스코어링 규칙입니다. 엄밀히 적절한 채점 규칙 은 예측 밀도가 실제 밀도 인 경우 기대 수준 에서만 최소화되는 채점 규칙입니다 .
Frank Harrell이 지적 했듯이 정확도는 부적절한 점수 규칙입니다. (더 정확하게 말하면 정확도는 전혀 스코어링 규칙이 아닙니다 . 이진 분류 설정에서 정확도가 부적절한 스코어링 규칙입니까?에 대한 내 대답 을 참조하십시오 . ) 예를 들어 예측 변수가 전혀없고 확률이 불공평 한 동전 . 모든 것을 첫 번째 클래스로 분류하고 결과가 두 번째 클래스에있을 수있는 40 % 확률을 완전히 무시하면 정확도가 최대화됩니다. (여기서는 균형 잡힌 수업에서도 정확도에 문제가 있음을 알 수 있습니다.) 적절한 점수 규칙 은 예측을 선호 합니다.( 0.6 , 0.4 ) ( 1 , 0 ) 하나만 기대합니다. 특히, 임계 값에서 정확도는 불 연속적입니다. 임계 값을 조금 조금만 이동하면 하나 (또는 여러) 예측이 클래스를 변경하고 전체 정확도를 개별 양으로 변경할 수 있습니다. 이것은 거의 이해가되지 않습니다.
더 많은 정보는 Frank Harrell의 회귀 모델링 전략 10 장뿐만 아니라 위에 링크 된 Frank의 두 블로그 게시물에서 찾을 수 있습니다 .
(이것은 내 초기의 대답 에서 뻔뻔스럽게 막혔습니다 .)
편집하다. 내 대답 에 잘못된 결론으로 이어질 것이다 결과 조치로 정밀도를 사용하여 예 극대화 정확도가 잘못된 의사 결정으로 이어질 수있는 희망 예시 제공 에도 균형 잡힌 클래스를 .
우리는 정확성을 사용할 때 위양성 및 위양성에 동일한 비용을 할당합니다. 해당 데이터 세트가 불균형 할 때 (한 클래스에 99 %의 인스턴스가 있고 다른 클래스에 1 % 만 있음) 비용을 낮추는 좋은 방법이 있습니다. 모든 인스턴스가 다수 클래스에 속하고 99 %의 정확도를 얻고 조기에 집으로 돌아갈 것으로 예측합니다.
모든 오류에 할당 한 실제 비용이 같지 않으면 문제가 시작됩니다. 우리가 드물지만 치명적인 질병을 다룰 경우, 아픈 사람의 질병을 진단하지 못하는 비용은 건강한 사람을 더 많은 검사에 보내는 비용보다 훨씬 높습니다.
일반적으로 가장 좋은 방법은 없습니다. 가장 좋은 방법은 귀하의 요구에서 비롯됩니다. 어떤 의미에서는 기계 학습 질문이 아니라 비즈니스 질문입니다. 두 사람이 동일한 데이터 세트를 사용하지만 목표가 다르기 때문에 다른 메트릭을 선택하는 것이 일반적입니다.
정확성은 훌륭한 척도입니다. 실제로 대부분의 측정 항목은 훌륭하며 많은 측정 항목을 평가하고 싶습니다. 그러나 어느 시점에서 모델 A 또는 B를 사용할지 결정해야합니다. 필요에 가장 적합한 단일 메트릭을 사용해야합니다.
추가 크레딧을 얻으려면 분석 전에이 메트릭을 선택하면 의사 결정을 방해하지 않습니다.
표준 정확도는 수행 된 분류 수에 대한 올바른 분류의 비율로 정의됩니다.
따라서 모든 클래스에 대해 전체적으로 측정되며 곧 알 수 있듯이 실제 유용한 테스트와 별도로 오라클에 알리는 것은 좋은 방법이 아닙니다. 오라클은 각 샘플에 대해 무작위 추측을 반환하는 분류 함수입니다. 마찬가지로 분류 기능의 분류 성능을 평가할 수 있기를 원합니다. 정확도 \ textit {class}는 클래스 당 동일한 양의 샘플이 있지만 불균형 한 샘플 세트가있는 경우에는 전혀 유용하지 않습니다. 더욱이, 테스트는 정확도가 높을 수 있지만 실제로 정확도가 낮은 테스트보다 성능이 떨어집니다.
표본의 90 \ %가 클래스 에 속하고 5 %, 속하는 5 %에 속하는 표본 분포가있는 경우 다음 분류 함수의 정확도는 .
그러나, 우리가 방법을 알고 주어진 분명하다 이이 떨어져에서 모든 클래스를 말할 수 없다 작동합니다. 마찬가지로 분류 함수를 구성 할 수 있습니다
의 정확도를 가지고있는 항상 예측하지 하지만 여전히 우리가 방법을 알고 주어진 그것을 떨어져 클래스를 말할 수없는 것은 분명하다 작동합니다. 이 경우 정확도는 분류 기능이 얼마나 잘 추측되는지 알려줍니다. 즉, 정확성은 오라클이 유용한 테스트와 별개로 판단하기에 좋은 척도가 아닙니다.
분류 기능에 동일한 클래스의 샘플 만 제공하여 클래스별로 개별적으로 정확도를 계산하고 올바른 분류 및 잘못된 분류의 수를 기억하고 계산 다음 c c u r a c y : = correct / ( correct + wrong )를 계산합니다. . 우리는 모든 수업에 이것을 반복합니다. 우리는 정확하게 클래스 인식 할 수있는 분류 기능이있는 경우 하지만 출력이 다른 클래스에 대한 임의의 추측 다음이의 정확도를 초래합니다 에 대한 과의 정확도 0.33다른 수업을 위해. 이것은 이미 분류 기능의 성능을 판단하는 훨씬 더 좋은 방법을 제공합니다. 항상 같은 클래스를 추측하는 오라클 은 해당 클래스에 대해 클래스 당 정확도가 이지만 다른 클래스에 대해서는 을 생성합니다. 테스트가 유용하면 클래스 당 모든 정확도는 여야합니다 . 그렇지 않으면 우리의 테스트는 우연보다 낫지 않습니다. 그러나 클래스 당 정확도는 오 탐지를 고려하지 않습니다. 우리의 분류 함수 클래스에 대한 100 \ %의 정확도를 갖지만 또한 대한 가양있을 것이다 (예로서 B 잘못 A와 구분 ).
의료 검사에서 민감도는 질병을 가진 것으로 올바르게 식별 된 사람들과 실제로 질병을 앓고있는 사람들의 비율로 정의됩니다. 특이성은 건강으로 올바르게 식별 된 사람들과 실제로 건강한 사람들의 비율로 정의됩니다. 실제로 질병을 앓고있는 사람들의 양은 진정한 양성 검사 결과의 양과 거짓 음성 검사 결과의 양입니다. 실제로 건강한 사람의 양은 진정한 부정적인 테스트 결과의 양과 가양 성 테스트 결과의 양입니다.
이진 분류 문제에는 두 가지 클래스 와 있습니다. 올바르게 클래스에 속하는 것으로 확인 된 샘플들의 개수를 의미 과 거짓 클래스에 속하는 것으로 식별 werey 샘플들의 개수를 의미 . 이 경우 감도와 특이성은 다음과 같이 정의됩니다.
는 진 양성입니다 은 오 음성, 은 진 음성, 는 위양성입니다. 그러나, 부정과 긍정의 관점에서 생각하는 것은 의학적 검사에 적합하지만 더 나은 직관을 얻으려면 부정과 긍정의 관점에서 생각하지 말고 일반적인 클래스 와 에서 생각해야합니다. 그런 다음, 우리가 올바르게에 속하는 것으로 확인 된 시료의 양을 말할 수 있다 실제로 속하는 샘플의 양 입니다. 정확하게 속하지 않는 것으로 확인 된 샘플의 양은 인 실제로 속하지 않는 샘플의 양 이고 . 이것은 우리에게 대한 감도와 특이성을 제공 하지만 클래스 에도 같은 것을 적용 할 수 있습니다 . 올바르게에 속하는 것으로 확인 된 샘플의 양은 인 및 실제 속하는 샘플의 양이 인 . β에 속하지 않는 것으로 정확하게 식별 된 샘플의 양인 실제로 속하지 않는 샘플의 양이 이고 . 따라서 우리는 수업 당 감도와 특이성을 얻습니다.
그러나 및 . 이것은 우리가 두 개의 클래스 만 가지고 있다면 클래스 당 감도와 특이성이 필요하지 않다는 것을 의미합니다.
클래스가 2 개인 클래스 만 있으면 민감도와 클래스 별 특성이 유용하지 않지만 클래스를 여러 클래스로 확장 할 수 있습니다. 감도와 특이성은 다음과 같이 정의됩니다.
참 긍정은 단순히 이고, 거짓 긍정은 단순히 이고, 오탐은 단순히 입니다. 실제 음수를 찾는 것이 훨씬 어렵지만 과 다른 클래스에 속하는 것으로 올바르게 분류 하면 실제 음수로 간주됩니다. 이것은 우리가 최소한 ∑ i ( T i ) − T ( n ) 을 가짐을 의미합니다진정한 부정. 그러나 이것이 모두 진정한 부정은 아닙니다. 다른 클래스에 대한 모든 잘못된 분류 올바르게에 속하는 것으로 확인되지 않았기 때문에, 또한 진정한 네거티브이다 . 는 모든 잘못된 분류를 나타냅니다. 이로부터 우리는 입력 클래스가 된 경우 빼기해야 우리가 거짓 네거티브를 빼기해야 의미 인 하지만 우리는 또한에 대한 잘못된 반응을 뺄 필요를 그들이 잘못된 반응하고 우리는 또한 뺄 그래서없는 사실 네거티브 때문에 마지막으로지고 . 요약하면 다음과 같습니다.
우리는 분류 함수의 응답이 실제로 정확하다는 확신을 가질 수있는 척도 인 를 정의 합니다. 은 분류 함수가 응답 했지만 만이 올바른 경우입니다. 따라서 우리는
그러나 분류 함수가 n 이 아닌 다른 클래스로 응답 할 경우 실제로는 n 이 아니 었음 을 확신 할 수있는 척도 인 define를 정의 할 수 있습니까?
데이터 세트의 불균형 클래스
간단히 말해서, 한 클래스의 99 % (사과)와 다른 클래스의 1 %가 데이터 세트 (바나나)에 있다고 상상해보십시오. 내 슈퍼 듀퍼 알고리즘은이 데이터 세트에 대해 놀라운 99 % 정확도를 얻습니다.
return "it's an apple"
그는 시간의 99 %가되며 99 %의 정확도를 얻습니다. 내 알고리즘을 판매 할 수 있습니까?
솔루션 : 절대 측정 (정확도)을 사용하지 말고 각 클래스에 상대적인 측정을 사용하십시오 (ROC AUC와 같이 많이 있습니다)
다른 사람들이 지적했듯이, 정확성의 또 다른 문제는 실패 가격에 대한 내재적 무관심입니다. 즉, 모든 오 분류가 동일하다는 가정입니다. 실제로는 그렇지 않으며 잘못된 분류를 얻는 비용은 매우 주제에 따라 다르며 정확성을 극대화하는 것보다 특정 종류의 잘못을 최소화하는 것이 좋습니다.