1. 이진 분류 (Binary Classification)
ㅇ 기계학습에서, 입력 데이터를 2개의 상호배타적인 클래스로 구분하는 문제
- 통상, 레이블이, `0과 1` 또는 `양성과 음성(Positive/Negative)`으로 주어짐
2. 이진 분류에서, 예측 결과의 평가 유형 : (TP, TN, FP, FN)
ㅇ 주어진 샘플을 2가지 클래스(긍정/부정, 정상/비정상, 암/정상 등) 중 하나로 분류함에 따라,
- 다음 4가지로, 평가 유형을 구분 가능
ㅇ [범례] (예측) : (실제 정답) => (설명)
- Positive (긍정) : True Positive (TP) => 참(True) 예측, 실제로도 참(True) 임
- Negative (부정) : True Negative (TN) => 거짓(False) 예측, 실제로도 거짓(False) 임
* (다음 2개는 오류 상황)
- Positive (긍정) : False Positive (FP) => 참 예측, 실제로는 거짓 임 (1종 오류)
- Negative (부정) : False Negative (FN) => 거짓 예측, 실제로는 참 임 (2종 오류)
* 한편, 오류들은, 각각 1종 오류,2종 오류라는 통계학적 가설검정 개념과도 관련 있음
ㅇ 例) 스팸 메일 필터
- False Positive (FP) : 실제로는 거짓인 데이터를, 참으로 잘못 판단한 경우
. `스팸 메일이 아닌 메일`을, `스팸 메일`로 분류하는 경우
. 1종 오류 : 귀무가설이 참인데, 거짓으로 판정
.. 귀무가설(`이 메일은 스팸 아님`)이 참인데, 이를 기각하고 거짓(`스팸 메일`)으로 판정
ㅇ 例) 질병 진단 (암 검사 : 양성/암있음, 음성/정상/암없음)
- (예측) 암 있음 (Positive) : (실제) 암 있음 (True) => True Positive (TP)
- (예측) 암 없음/정상 (Negative) : (실제) 암 있음 (True) => False Negative (FN)
. 실제 암 환자를, 정상으로 잘못 판단한 경우
. (2종 오류 : 귀무가설 `이 환자는 정상`이 거짓인데도 불구하고, 참인 가설로써 수용될 때)
※ 특히, False Negative(FN)가 중요한 이유 : 질병 진단, 스팸 필터 등의 경우
- False Negative(FN)는 암 환자, 스팸 메일을 놓치는 등 위험이 있어 심각한 문제 야기
. 물론, 민감도(Recall, Sensitivity)를 높이면, False Negative(FN)를 줄일 수 있음
. 하지만, False Negative(FN)를 줄이면, False Positive(FP)가 증가할 수 있음
3. 이진 분류에서, 평가 지표 : (모델 성능 평가 기준)
ㅇ 정밀도 (Precision) : 긍정으로 예측한 것 중 실제 긍정인 비율
- Precision = (TP) / (TP + FP)
ㅇ 민감도 (Sensitivity), 재현율 (Recall) : 실제 긍정인 것 중 긍정으로 올바르게 예측한 비율
- Recall = (TP) / (TP + FN)
※ 여기서, 정밀도와 민감도는 비슷한 의미지만, (`실제 양성으로 판정하는` TP를 분자로 둠)
- 정밀도는, (양성 예측 : TP + FP)을 기준으로 삼고,
- 민감도는, (실제 양성 : TP + FN)을 기준으로 삼음
ㅇ F1 스코어 : 정밀도와 재현율(민감도)의 조화 평균
- F1 Score = 2 x (Precision x Recall) / (Precision + Recall)
ㅇ 특이도 (Specificity) : 실제 음성이 음성으로 예측되는 비율
- Specificity = (TN) / (FP + TN)
* 비 질환자를 정확히 식별하는 능력
ㅇ 위 양성률, 거짓 양성률 (False Positive Rate, FPR) : 실제 음성이 양성으로 예측되는 비율
- FPR = 1 - Specificity = (FP) / (FP + TN)
※ 특히, 오류를 나타내는 FN, FP의 포함 비율은,
- 응용 분야(질병 진단, 스팸 필터링 등)에서, 매우 중요한 고려 대상임
ㅇ 정확도 (Accuracy) : 전체 예측 중 올바르게 예측한(맞춘,분류되는) 비율
- Accuracy = (TP + TN) / (TP + TN + FP + FN)
ㅇ 오차율, 에러율 (Error Rate) : 전체 중 잘못 예측하는(맞춘,분류되는) 비율
- Error Rate = (FP + FN) / (TP + TN + FP + FN)
* 오차율 = 1 - 정확도
4. 이진 분류에 사용되는 주요 알고리즘
ㅇ 로지스틱 회귀 (Logistic Regression)
- 가장 널리 사용되는 이진 분류 알고리즘 중 하나
- 입력 데이터를 확률 값으로 변환하여 클래스를 예측
ㅇ 서포트 벡터 머신 (Support Vector Machine, SVM)
- 데이터를 가장 잘 분리하는 초평면을 찾아 분류하는 알고리즘
ㅇ 결정 트리 (Decision Tree)
- 의사 결정 규칙을 나무 형태로 표현하여 데이터를 분류하는 알고리즘
ㅇ 랜덤 포레스트 (Random Forest)
- 다수의 결정 트리를 결합하여 예측 성능을 향상시킨 알고리즘