클래스 불균형 (Class Imbalance)
이 페이지는 AI 문맥에서 자주 쓰이는 클래스 불균형 (Class Imbalance)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
클래스 불균형(Class Imbalance)은 분류 데이터에서 특정 정답 범주의 사례 수가 다른 범주보다 크게 많은 상태입니다. 흔한 범주를 잘 맞히는 것만으로 전체 정확도가 높아져, 드문 범주의 실패가 가려질 수 있습니다. 학습 자료의 구성과 함께 범주별 오류, 실제 발생 비율, 오류에 따른 비용을 구분해 살펴봅니다.
사례 수와 학습 기회의 차이
스팸 메일이나 제품 결함처럼 찾으려는 사건이 드문 문제에서는 정상 사례가 대부분을 차지합니다. 구글의 불균형 데이터셋 학습 자료는 이런 분포에서 흔한 라벨을 다수 클래스, 드문 라벨을 소수 클래스라고 부릅니다. 불균형은 데이터가 잘못됐다는 표시만은 아닙니다. 실제 사건이 드물어서 생길 수도 있고 수집·선별 과정에서 특정 사례가 빠져 생길 수도 있습니다.
머신러닝 모델은 학습 중 접하는 사례를 바탕으로 패턴을 배웁니다. 소수 클래스가 매우 드물면 작은 학습 묶음에 해당 사례가 거의 들어가지 않아 충분한 학습 기회를 얻기 어렵습니다. 전체 사례의 오류를 비슷한 무게로 합산하는 손실 함수에서는 다수 클래스의 개선이 더 큰 비중을 차지합니다. 같은 불균형 비율이라도 소수 클래스의 절대 사례 수와 사례의 다양성에 따라 어려움은 달라집니다.
데이터 레이블링의 오류도 함께 확인할 대상입니다. 드문 결함을 정상으로 표시한 사례가 많다면 수를 맞추는 처리만으로 올바른 패턴을 배울 수 없습니다. 반대로 소수 사례를 반복해서 보여 주는 것만으로 새로운 결함 유형이 추가되지는 않습니다. 범주별 개수와 라벨을 붙인 기준, 수집에서 빠진 집단을 함께 보면 표본 부족과 잘못된 정답의 문제를 구분하기 쉬워집니다.
전체 정확도에 가려지는 오류
전체 정확도는 모든 예측 중 맞힌 비율이어서 다수 클래스의 결과에 크게 좌우됩니다. 구글의 클래스 불균형 설명도 불균형 데이터에서 정확도만으로 모델을 평가하기 어렵다고 지적합니다. 모든 입력을 정상으로 예측하는 모델은 정상 비율만큼 맞히지만 결함을 한 건도 찾지 못합니다. 이때 높은 정확도와 낮은 탐지 능력은 동시에 성립합니다.
scikit-learn의 분류 평가 문서에 따르면 소수 클래스를 얼마나 놓치는지는 재현율로, 소수 클래스라고 경고한 사례 중 얼마나 맞는지는 정밀도로 살펴봅니다. 둘을 함께 보면 놓치는 오류를 줄이는 대신 불필요한 경고가 얼마나 늘었는지 드러납니다. 여러 클래스가 있으면 각 범주의 결과를 따로 확인한 뒤 평균 방식을 정합니다. 사례 수에 비례한 평균은 드문 클래스의 낮은 점수를 다시 가릴 수 있습니다.
평가 목적도 발생 비율과 구분합니다. 불량을 놓쳤을 때의 손해와 정상 제품을 재검사하는 비용이 다르면 같은 오류 건수라도 업무 결과가 다릅니다. 경고를 내보내는 임계값은 이런 비용과 처리 가능한 검토량에 따라 정합니다. 데이터 수를 비슷하게 맞춘 결과가 실제 운영에서 적절한 임계값이나 신뢰할 만한 확률을 자동으로 제공하는 것은 아닙니다.
재표집과 평가 분포의 보존
학습 단계에서는 다수 클래스의 일부만 고르는 과소표집, 소수 사례를 더 자주 쓰는 과대표집, 클래스별 오류에 다른 가중치를 주는 방법 등을 비교합니다. 구글의 재표집 안내는 다수 사례를 줄여 학습 묶음에서 소수 사례를 접할 기회를 늘리는 방법을 설명합니다. 어떤 비율이 적절한지는 데이터와 모델에 따라 달라지며, 모든 문제에서 두 클래스의 수를 같게 만들 필요는 없습니다.
재표집을 데이터 분할 전에 수행하면 평가가 낙관적으로 바뀔 수 있습니다. imbalanced-learn의 주의 사항은 전체 자료를 먼저 재표집하는 방식이 검증 자료의 정보를 학습에 섞고 테스트 분포도 실제 환경과 다르게 만든다고 설명합니다. 먼저 학습·검증 자료를 나눈 뒤 학습 쪽에서만 재표집하며, 교차 검증을 사용하면 각 회차의 학습 부분에 같은 원칙을 적용합니다.
모델 평가는 실제 사용할 환경의 클래스 비율을 반영한 자료에서 수행합니다. 학습에서는 사례를 더 자주 보여 주었더라도 운영에서 그 사건이 더 흔해진 것은 아니기 때문입니다. 소수 클래스별 점수와 함께 경고 건수, 놓친 사례, 평가 기간을 기록하면 비율이 바뀐 뒤에도 결과를 해석할 단서가 생깁니다. 새 환경에서 발생률이 달라졌다면 기존 점수와 경고량을 같은 조건의 결과처럼 비교하지 않습니다.
관련 용어
클래스 불균형 (Class Imbalance)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
