--- id: ML-IMBAL-001 category: Dev confidence_score: 1.0 tags: [machine-learning, imbalanced-data, resampling, smote, [[Focal-Loss|Focal-Loss]]] last_reinforced: 2026-04-26 --- # Imbalanced Data Handling (불균형 데이터 처리) ## 📌 한 줄 통찰 (The Karpathy Summary) > "데이터의 양(Quantity)에 압도당하지 말고, 소외된 소수의 정보(Minority Class) 속에 숨겨진 가치에 집중하라" — 학습 데이터의 클래스 분포가 편향되어 있을 때, 모델이 다수 클래스에만 치우친 예측을 하지 않도록 데이터나 알고리즘 측면에서 균형을 맞추는 기법. ## 📖 구조화된 지식 (Synthesized Content) - **추출된 패턴:** 다수 데이터의 영향력을 줄이거나 소수 데이터의 비중을 높여, 모델이 희귀하지만 중요한 샘플의 특징을 충분히 학습하게 만드는 가중치 및 샘플링 조정 패턴. - **핵심 전략:** - **Data-level (Resampling):** - **Undersampling:** 다수 클래스 데이터를 삭제. 정보 손실 위험. - **Oversampling:** 소수 클래스 데이터를 복제하거나 생성 (예: SMOTE - 합리적인 가상 데이터 생성). - **Algorithm-level:** - **Cost-sensitive Learning:** 소수 클래스를 틀렸을 때 더 큰 벌점을 부여. - **Focal Loss:** 쉬운 샘플의 비중을 낮추고 어려운 샘플에 집중. - **평가 지표의 전환:** 불균형 데이터에서는 '정확도(Accuracy)' 대신 '정밀도(Precision)', '재현율(Recall)', 'F1-Score' 등을 사용하여 모델의 실질적인 성능을 측정해야 함. - **의의:** 이상 탐지, 질병 진단, 사기 적발 등 실생활에서 가장 중요한 '희귀 케이스' 탐지 능력 확보. ## ⚠️ 모순 및 업데이트 (Contradictions & RL Update) - **과거 데이터와의 충돌:** 단순히 데이터를 늘리거나 줄이던 방식에서, 최근에는 [[Focal-Loss|Focal-Loss]]와 같은 손실 함수 최적화와 이상 탐지(Anomaly Detection) 관점의 접근이 주를 이룸. - **정책 변화:** Antigravity 프로젝트는 보안 로그 분석 시, 압도적으로 많은 '정상 접근' 사이에서 극소수의 '공격 징후'를 놓치지 않기 위해 SMOTE와 Cost-sensitive 앙상블 모델을 표준으로 사용함. ## 🔗 지식 연결 (Graph) - [[Focal-Loss|Focal-Loss]], [[Supervised-Learning-Foundations|Supervised-Learning-Foundations]], Precision-Recall-and-F1-Score, [[Deep-Learning|Deep-Learning]]-Foundations - **Raw Source:** 10_Wiki/Topics/AI/Imbalanced-Data-Handling.md