티스토리 뷰
안녕하세요! 첫 포스팅은 머신 러닝이나 통계쪽 논문을 읽다 보면 자주 등장하는 개념이지만, 정확하게 정리해놓지 않으면 쉽게 헷갈릴 수 있는 False Positive 와 False Negative 에 대한 내용입니다.
Error types
Binary classification 을 하는 머신러닝 혹은 통계 문제에서 나타날 수 있는 모든 결과는 총 4가지입니다.
- Yes라고 추론했는데 정답이 Yes 인 경우
- No라고 추론했는데 정답이 No 인 경우
- Yes라고 추론했는데 정답이 No 인 경우
- No라고 추론했는데 정답이 Yes 인 경우
1,2 번의 경우에는 추론결과와 정답이 같으므로 시스템이 입력 값을 잘 분류해냈다고 생각할 수 있습니다만, 3번과 4번의 경우에는 추론 결과와 정답이 다르므로 분류가 잘 되지 않았다는 것을 알 수 있습니다. 3번의 경우를 False Positive 라고 하며, 4번의 경우를 False Negative 라고 부릅니다.
False Positive?
False Positive는 Type 1 에러 라고도 불리고, 우리말로는 거짓 양성이라고 합니다.
정답이 NO 인 문제를 Yes라고 대답한다면 이 오류는 False Positive 입니다.
어떤 메일이 스팸인지 검사하는 프로그램이 있을 때, 정상 메일(정답이 No)을 스팸 메일이라고 판단(Yes 라고 대답)하는 경우를 예로 들어볼 수 있습니다. 잘못된 경보가 울렸다는 뜻에서 False alarm 이라고도 부릅니다.
False Negative?
False Negative는 Type2 에러 라고도 불리며, 우리 말로는 거짓 음성이라고 합니다.
정답이 Yes인 문제를 No라고 대답할 때 이를 False Negative 라고 부릅니다.
위의 예시에 덧붙여서, 스팸 메일(정답이 Yes)을 정상 메일이라고 판단(No 라고 대답)하는 경우를 False Negative라고 할 수 있습니다.
의미?
실제 Binary classification 시스템을 만들다 보면, False Positive 와 False Negative를 합쳐서 오차율(흔히 말하는 Error rate)을 계산하곤 합니다만 상황에 따라 둘을 따로 생각해주어야 할 때가 있습니다.
병원에서 어떤 세포가 암세포인지 판단하는 문제를 생각해봅시다. 오진에는 두 가지 경우가 있을 수 있습니다.
- False Positive : 암세포가 맞다고 판단했는데 암세포가 아닌 경우.
- False Negative : 암세포가 아니라고 판단했는데 암세포가 맞는 경우.
당연히 2번의 경우가 1번의 경우보다 훨씬 위험하므로 우리는 암세포를 판단하는 시스템을 만들 때, 1번보다 2번에 대해 더 예민하게 알고리즘을 설계해야만 합니다. 그렇게 하기 위해서는 더 예민해야 하는 에러에 가중치를 더 많이 주어서 전체 정확도를 평가하는 방법 등이 있겠습니다.
False Positive 와 False Negative는 서로 Trade-off 관계에 있습니다. 둘 중 어느 하나의 비율을 낮추고 싶다면 다른 한쪽은 올라간다는 이야기죠! 따라서 우리는 머신러닝을 통해 풀고자 하는 문제를 정확하게 이해하고, 어떤 오류에 더 예민하게 알고리즘을 설계할 것인지를 항상 생각해야 하겠습니다.
Tip
실제로 어떤 문제를 만나면 어느것이 False Positive 이고 어떤 것이 False Negative인지 헷갈립니다. 저도 그래서 항상 찾아보게 되더라고요. 그래서 쉽게 외우는 방법을 준비했습니다.
일단 앞에 붙는 “False” 라는 단어의 의미는, 어쨌든 나의 추론이 틀렸다는 것입니다. 그리고 제 추론은 뒤에 붙는 Positive 혹은 Negative이죠. 따라서 다음과 같이 생각하시면 더이상 헷갈리실 일이 없습니다!
- False “Positive” : Positive 라고 생각했는데 틀렸다. 즉, 정답은 No 라는 말이겠죠? 이렇게 생각해보시면 False alarm 이라고 불리는 이유도 알겠군요.
- False “Negative” : Negative 라고 생각했는데 틀렸다. 즉, 정답은 Yes 라는 말입니다.
마치며
첫 포스팅을 마쳤습니다. 더 이해하기 편하게 그림도 넣고 하려고 했는데, 쉽지 않군요. 좀 더 이해하기 쉽게 글을 쓰는 방법을 익혀야겠습니다. 도움이 많이 되셨으면 좋겠습니다 ^-^
참고자료
- https://ko.wikipedia.org/wiki/%EA%B1%B0%EC%A7%93_%EC%96%91%EC%84%B1
- https://en.wikipedia.org/wiki/Type_I_and_type_II_errors
- Total
- Today
- Yesterday