이 섹션에서는 다음 세 가지 질문을 살펴봅니다.
- 클래스 균형 데이터 세트와 클래스 불균형 데이터 세트의 차이점은 무엇인가요?
- 불균형 데이터 세트 학습이 어려운 이유는 무엇인가요?
- 불균형 데이터 세트 학습의 문제를 어떻게 극복할 수 있나요?
클래스 균형 데이터 세트와 클래스 불균형 데이터 세트
값이 양수 클래스 또는 음수 클래스인 범주형 라벨이 포함된 데이터 세트를 고려해 보세요. 클래스 균형 데이터 세트에서는 양성 클래스와 음성 클래스의 수가 거의 같습니다. 예를 들어 양성 클래스가 235개이고 음성 클래스가 247개인 데이터 세트는 균형 잡힌 데이터 세트입니다.
클래스 불균형 데이터 세트에서는 한 라벨이 다른 라벨보다 훨씬 더 일반적입니다. 실제로는 클래스 균형 데이터 세트보다 클래스 불균형 데이터 세트가 훨씬 더 일반적입니다. 예를 들어 신용카드 거래 데이터 세트에서 사기 구매가 예의 0.1% 미만을 차지할 수 있습니다. 마찬가지로 의료 진단 데이터 세트에서 희귀 바이러스에 걸린 환자 수는 전체 예의 0.01% 미만일 수 있습니다. 클래스 불균형 데이터 세트의 경우:
심각한 클래스 불균형 데이터 세트 학습의 어려움
학습의 목표는 양성 클래스와 음성 클래스를 성공적으로 구분하는 모델을 만드는 것입니다. 이를 위해 배치에는 양성 클래스와 음성 클래스가 모두 충분히 있어야 합니다. 클래스 불균형이 약간 있는 데이터 세트에서 학습할 때는 작은 배치에도 일반적으로 양성 클래스와 음성 클래스의 예가 충분히 포함되어 있으므로 문제가 되지 않습니다. 하지만 클래스 불균형이 심한 데이터 세트에는 적절한 학습을 위한 소수 클래스 예시가 충분히 포함되어 있지 않을 수 있습니다.
예를 들어 그림 6에 설명된 클래스 불균형 데이터 세트를 살펴보세요.
- 200개의 라벨이 다수 클래스에 있습니다.
- 2개의 라벨이 소수 클래스에 있습니다.

배치 크기가 20이면 대부분의 배치에 소수 클래스의 예가 포함되지 않습니다. 배치 크기가 100이면 각 배치에 소수 클래스 예시가 평균 1개만 포함되므로 적절한 학습에 충분하지 않습니다. 훨씬 큰 배치 크기에서도 모델이 제대로 학습되지 않을 수 있는 불균형한 비율이 발생합니다.
클래스 불균형 데이터 세트 학습
학습 중에 모델은 다음 두 가지를 학습해야 합니다.
- 각 클래스의 모양, 즉 어떤 특성 값이 어떤 클래스에 해당하는지
- 각 클래스의 일반성, 즉 클래스의 상대적 분포는 어떤가요?
표준 학습에서는 이 두 목표가 혼동됩니다. 반면 다수 클래스 다운샘플링 및 가중치 상향이라는 다음 2단계 기법은 이 두 목표를 분리하여 모델이 두 목표를 모두 달성할 수 있도록 합니다.
1단계: 다수 클래스 다운샘플링
다운샘플링은 다수 클래스 예시의 비율이 불균형적으로 낮은 상태에서 학습하는 것을 의미합니다. 즉, 학습에서 다수 클래스 예시를 많이 생략하여 클래스 불균형 데이터 세트가 다소 균형을 이루도록 인위적으로 강제합니다. 다운샘플링을 사용하면 각 배치에 모델을 적절하고 효율적으로 학습시킬 수 있는 소수 클래스 예가 충분히 포함될 가능성이 크게 높아집니다.
예를 들어 그림 6에 표시된 클래스 불균형 데이터 세트는 다수 클래스 예시 99% 와 소수 클래스 예시 1% 로 구성됩니다. 다수 클래스를 25배 다운샘플링하면 그림 7에 제시된 더 균형 잡힌 학습 세트(다수 클래스 80%, 소수 클래스 20%)가 인위적으로 생성됩니다.

2단계: 다운샘플링된 클래스에 가중치 부여
다운샘플링은 실제보다 클래스의 균형이 더 잘 맞는 인공적인 세계를 모델에 보여줌으로써 예측 편향을 도입합니다. 이 편향을 수정하려면 다운샘플링한 요소만큼 다수 클래스에 '가중치'를 적용해야 합니다. 가중치 부여는 다수 클래스 예시의 손실을 소수 클래스 예시의 손실보다 더 심하게 취급하는 것을 의미합니다.
예를 들어 다수 클래스를 25배 다운샘플링했으므로 다수 클래스에 25배의 가중치를 부여해야 합니다. 즉, 모델이 실수로 다수 클래스를 예측하는 경우 손실을 25개의 오류인 것처럼 취급합니다(일반 손실에 25를 곱함).

데이터 세트의 균형을 다시 맞추려면 다운샘플링과 업웨이트를 얼마나 해야 할까요? 답을 확인하려면 다른 초매개변수를 실험하는 것처럼 다양한 다운샘플링 및 가중치 부여 요소를 실험해야 합니다.
이 기법의 장점
다수 클래스를 다운샘플링하고 가중치를 높이면 다음과 같은 이점이 있습니다.
- 더 나은 모델: 결과 모델은 다음을 모두 '알고' 있습니다.
- 특성과 라벨 간의 연결
- 클래스의 실제 분포
- 더 빠른 수렴: 학습 중에 모델이 소수 클래스를 더 자주 확인하여 모델이 더 빠르게 수렴됩니다.