ML에서 레이블 불균형은 특정 클래스의 데이터가 다른 클래스에 비해 매우 적거나 많은 상황을 말합니다. 이를 해결하지 않으면 모델이 대부분의 데이터를 차지하는 클래스에 편향되어 다른 클래스의 성능이 저하될 수 있습니다. 레이블 불균형을 다루는 방법에는 다음과 같은 전략들이 있습니다:
- 데이터 리샘플링 (Resampling)
- 오버샘플링 (Oversampling): 소수 클래스의 데이터를 증강해 학습 데이터의 균형을 맞춥니다. 일반적으로 SMOTE(Synthetic Minority Over-sampling Technique)를 사용해 기존 데이터를 기반으로 가상 데이터를 생성합니다.
- 언더샘플링 (Undersampling): 다수 클래스의 데이터를 줄여 데이터의 균형을 맞춥니다. 데이터의 손실이 있을 수 있으므로 데이터 양이 충분할 때 사용하는 것이 좋습니다.
- 가중치 조정 (Class Weight Adjustment)
- 모델 학습 시 소수 클래스에 높은 가중치를 부여해 학습에 반영되도록 합니다. 예를 들어, class_weight='balanced' 옵션을 사용하는 방법이 있습니다. 이는 불균형 데이터로 인해 학습이 편향되지 않도록 해줍니다.
- 데이터 증강 (Data Augmentation)
- 이미지나 텍스트 데이터의 경우, 소수 클래스의 데이터를 증강하여 학습 데이터셋의 크기를 늘릴 수 있습니다. 예를 들어 이미지 회전, 뒤집기, 크기 변경 등의 방법을 사용할 수 있습니다.
- 앙상블 방법 (Ensemble Methods)
- 불균형 데이터에 적합한 앙상블 기법을 사용하여 각 클래스에 대한 예측 성능을 향상시킬 수 있습니다. 특히 Bagging이나 Boosting 방법을 활용하여 모델이 소수 클래스에 대한 성능을 높이도록 할 수 있습니다. 예를 들어, AdaBoost는 소수 클래스에 더 많은 가중치를 주어 학습 성능을 개선할 수 있습니다.
- 전이 학습 (Transfer Learning)
- 소수 클래스에 대한 데이터가 절대적으로 부족할 때는 유사한 문제에서 학습된 모델을 사용하여 불균형 문제를 다룰 수 있습니다.
- Anomaly Detection 기법 적용
- 일부 불균형 문제는 소수 클래스가 특이치나 이상치로 간주될 수 있습니다. 이 경우, 이상치 탐지(Anomaly Detection) 기법을 사용하여 소수 클래스 샘플을 탐지하고 분류할 수 있습니다.
- 평가 지표 변경
- 데이터 불균형 상황에서는 단순히 정확도(Accuracy)만 보는 것이 아닌, F1-score, AUC-ROC Curve, Precision-Recall Curve 등 불균형에 더 민감한 평가 지표를 사용하는 것이 좋습니다.
이 방법들을 상황에 맞게 조합하여 사용하면 불균형 데이터 문제를 효과적으로 완화할 수 있습니다.
'Interview > ML' 카테고리의 다른 글
ML Interview - 하이퍼파라미터 튜닝 기법 (0) | 2024.11.10 |
---|---|
ML Interview - IQR (0) | 2024.11.10 |
ML Interview - Z Score (0) | 2024.11.10 |
ML Interview - Anomaly Detection (1) | 2024.11.10 |
ML Interview - Transfer Learning (1) | 2024.11.10 |