1종 오류, 2종 오류, Confusion Matrix

­김성우·2022년 6월 28일
1

이제 통계에 대한 기초적인 이야기는 거의 다 끝나가는 것 같다. 아마 이거 쓰고 Variance Bias 까지 쓰면 면접에서 나올만한 통계와 머신러닝 기초 이론은 다 커버되지 않을까 싶다 다음으로 머신러닝 모델, 딥러닝 모델 으로 이어가면 될 것 같다. 물론 나중에 또 생각나면 추가하겠지만...


  • Q. 1종 오류가 뭐에요?
    A. 1종 오류는 귀무가설을 기각하지 말아야하는데 기각한 오류를 말합니다.

  • Q. 2종 오류가 뭐에요?
    A. 2종 오류는 귀무가설을 기각해야하는데 기각하지 못한 오류를 말합니다.

  • Q. Confusion Matrix 은 왜 쓰이는건가요?
    A. Confusion Matrix 은 분류기의 성능을 평가하는데 쓰입니다.

  • Q. 정밀도와 재현율이 뭔가요?
    A. 정밀도는 Precision 으로, True Positive 더하기 False Positive 분해 True Positive 이고 재현율은 Recall 로 True Positive 더하기 False Negative 분해 True Positive 입니다.

  • Q. 정밀도와 재현율이 왜 필요한가요?
    A. 분류기의 성능을 정확도 하나만 가지고 평가하기에는 부족하기 때문입니다. imbalanced dataset 같은 경우에 소수 데이터를 다 무시하고 전부 negative 으로 예상하면 정확도 자체는 좋지만 recall 은 매우 안 좋게 나오고 이러한 경우는 산업적으로 큰 손해로 이어집니다. 따라서 recall 와 precision 둘 다 잘 측정하는 모델이 필요합니다.

  • Q. 재현율과 정밀도는 무슨 관계가 있나요?
    A. 재현율과 정밀도는 trade off 관계에 있습니다. 하나가 높아지면 다른 하나가 낮아지기 마련입니다. 때문에 이 둘의 조화평균인 F Score, 그 중에서 Beta 값이 1 인 F1 Score 도 자주 사용합니다.


1종 오류, 2종 오류

음 이 부분은 P value, T test, F test 할때 커버할걸 그랬나 란 생각이 드네. 위의 오류는 가설검정에서의 오류 2가지를 말한다.

1종 오류 : 하지 말아야하는데 괜히 한 것 (괜히 나선 것)

귀무가설이 참인데 기각한 것

2종 오류 : 해야 하는데 안 한 것 (안전빵)

귀무가설이 거짓인데 기각하지 못한 것
위의 설명은 지극히 주관적인 설명이다.

1종 오류 : 잘못 기각한 것, 2종 오류 : 잘못 기각하지 못한 것

Confusion Matrix

면접에서 자주 묻는 개념 중 하나, 재현율 및 정밀도
이를 잘 알기 위해서는 confusion matrix 을 잘 그려야한다.

먼저, Predicted 이 예상이고 Actual 이 실제이다.
이때 TP 같은거 잘 외우는 것은,
옳으면 T 틀리면 F, 그리고 Predicted 값이 뒤에 붙는다고 생각하자.

Actual Positive, Predicted Positive : True Positive
Actual Negative, Predicted Positive : False Positive
Actual Positive, Predicted Negative : False Negative
Actual Negative, Predicted Negative : True Negative

이 Confusion Matrix 의 개념이 필요한 이유는 분류 Classification 모델의 성능을 평가하기 위함이다. Regression Model 은 MAPE 와 같은 수치형 값으로 성능을 평가할 수 있지만 분류 모델은 그렇지 않다.
그렇다면 정확도 하나만 가지고 하면 될까? 안된다.
그 이유는 실제 산업에서는 소수의 케이스가 매우 중요한 경우가 많기 때문이다. 예를 들어 사기 fraud은 극소수이지만 fraud 하나가 normal 1000개 보다 산업에 더 큰 타격을 준다. 따라서 이러한 fraud 을 잘 판별하는 것이 중요한데, 알고리즘이 전부 다 normal 이라고 예상을 하면 정확도 자체는 뛰어나다. normal 이 많기 때문에. 하지만 모든 fraud 을 놓침으로 생기는 불이익은 감당하기 힘들다.
이러한 케이스 때문에 있는 것이 재현율 Recall, 정밀도 Precision 이 있다. 이 둘을 합한 F Score, 또는 F1 Score 도 잘 사용된다.

정확도 Accuracy

정확도는 말 그대로이다.

정확도 = (TP+TN)/(TP+TN+FP+FN)

정밀도 Precision

정밀도는 실제를 얼마나 잘 맞춘거냐 이다.

정밀도 = TP/(TP+FP)

재현율 Recall

재현율은 내가 얼마나 많이 실제를 맞춘 것이냐 이다.

재현율 = TP/(TP+FN)

사실 정밀도와 재현율은 매번 헷갈린다. 그래서 나는 정밀도 Precision 은 수식이 전부 다 P 가 들어있다고 외운다. 어차피 분모와 분자에는 TP 가 들어간다.

Precision = TP/(TP+FP)
Recall = TP/(TP+FN)

F1 Score

F1 Score 은 F Score 중 하나인데, F Score 의 베타 값을 1 로 해서 쓴 식이다. F Score 은 Precision 과 Recall 의 조화 평균이다.

F1 Score = 2*(Precision*Recall)/(Precision+Recall)

위를 잘 외워서 1종 오류, 2종 오류, 재현율 정밀도 등의 질문을 받으면 잘 대답하도록 하자.

profile
Dreaming of Algorithm & AI Expert...

1개의 댓글

comment-user-thumbnail
2023년 10월 19일

1종 오류 -> 괜히 한것! 잘 이해가 되었습니다. 감사합니다!

답글 달기