해결 기법: Threshold Tuning
ㅁ 해결 기법
ㅇ 정의:
클래스 불균형 문제를 해결하기 위해 모델의 임계값(Threshold)을 조정하여 성능을 향상시키는 기법.
ㅇ 특징:
– 기존 학습된 모델을 변경하지 않고 간단히 적용 가능.
– Precision, Recall, F1-score 등 특정 성능 지표를 최적화할 수 있음.
– 데이터의 분포와 목적에 따라 최적의 임계값이 달라짐.
ㅇ 적합한 경우:
– 모델의 구조를 변경하지 않고 성능을 개선하고자 할 때.
– 특정 클래스의 예측 성능(예: Recall)을 중점적으로 향상시켜야 할 때.
– 데이터의 클래스 비율이 심각하게 불균형한 경우.
ㅇ 시험 함정:
– 단순히 임계값을 조정한다고 해서 모든 문제를 해결할 수 있는 것은 아님.
– 임계값 설정이 지나치게 한쪽으로 치우치면 다른 성능 지표가 악화될 수 있음.
– 데이터의 분포를 충분히 이해하지 않고 임계값을 조정하면 오히려 성능이 저하될 가능성 존재.
ㅇ 시험 대비 “패턴 보기” 예시:
1. Threshold Tuning은 모델의 구조를 변경하여 성능을 최적화하는 기법이다. (X)
2. 임계값 조정을 통해 특정 성능 지표를 최적화할 수 있다. (O)
3. Threshold Tuning은 클래스 불균형 문제 해결에 적합하지 않다. (X)
4. 데이터의 분포와 목적에 따라 최적의 임계값은 달라질 수 있다. (O)
ㅁ 추가 학습 내용
Threshold Tuning과 관련하여 ROC Curve와 AUC를 이해하기 위해 다음 내용을 학습하면 좋습니다.
1. ROC Curve의 정의와 역할:
– ROC Curve는 Receiver Operating Characteristic Curve의 약자로, 분류 모델의 성능을 평가하기 위해 사용됩니다.
– 임계값(Threshold)을 변화시키면서 True Positive Rate(TPR, 민감도)와 False Positive Rate(FPR)을 계산하여 그래프로 나타냅니다.
– TPR은 실제 양성 중에서 모델이 양성으로 예측한 비율이고, FPR은 실제 음성 중에서 모델이 잘못 양성으로 예측한 비율입니다.
2. AUC의 정의와 중요성:
– AUC는 Area Under the Curve의 약자로, ROC Curve 아래의 면적을 의미합니다.
– AUC 값은 모델의 분류 성능을 나타내며, 1에 가까울수록 성능이 우수합니다.
– AUC가 0.5라면 무작위 추측과 동일한 성능을 의미하고, 0.5보다 낮으면 모델 성능이 오히려 나쁜 경우를 나타냅니다.
3. ROC Curve와 AUC 계산 방법:
– 먼저 모델의 예측 확률과 실제 레이블을 사용하여 다양한 임계값에 대해 TPR과 FPR을 계산합니다.
– TPR과 FPR 값을 그래프로 시각화하여 ROC Curve를 생성합니다.
– AUC 값은 ROC Curve 아래의 면적을 계산하여 얻습니다. 이를 위해 일반적으로 수치적 적분 방법을 사용합니다.
4. Threshold 최적화 과정:
– 모델의 예측 성능은 Threshold 값에 따라 달라지므로, 적절한 Threshold를 선택하는 것이 중요합니다.
– ROC Curve를 분석하여 특정 임계값에서 TPR과 FPR의 균형이 가장 적절한 지점을 찾습니다.
– 예를 들어, TPR을 최대화하면서 FPR을 최소화하는 지점이나, 특정 비즈니스 요구사항에 맞는 Threshold를 선택합니다.
– Precision-Recall Curve와 함께 검토하면 더 나은 Threshold 선택이 가능할 수 있습니다.
5. 실습을 통한 이해:
– 실제 데이터와 머신러닝 모델을 사용하여 ROC Curve를 생성하고 AUC를 계산해보는 실습을 통해 개념을 강화합니다.
– 다양한 Threshold 값을 적용하여 모델의 성능 변화를 관찰하고 최적의 Threshold를 찾아보는 연습을 합니다.