샘플링 기반 접근 방식이란?
샘플링(sampling)은 머신러닝에서 클래스 불균형(class imbalance) 문제를 해결하기 위해 널리 사용되는 대표적인 방법입니다. 핵심 아이디어는 학습 데이터셋의 예제 분포를 조정하여, 소수 클래스(희귀 클래스)가 학습 과정에서 충분히 잘 반영되도록 만드는 것입니다.
샘플링 기법에는 크게 언더샘플링(undersampling), 오버샘플링(oversampling), 그리고 두 가지를 결합한 하이브리드(hybrid) 방식이 있습니다. 예를 들어 양성 예제 100개와 음성 예제 1,000개로 구성된 데이터셋을 생각해 볼 수 있습니다.
언더샘플링(Undersampling)
언더샘플링은 다수 클래스의 예제 수를 줄이는 방식입니다. 위 예시에서는 음성 예제 중 100개를 무작위로 추출하여, 모든 양성 예제와 함께 학습 세트를 구성합니다.
그러나 이 방법에는 한 가지 문제점이 있습니다. 유용한 정보를 담고 있는 일부 음성 예제가 학습에 포함되지 못할 수 있으며, 이로 인해 최적에 미치지 못하는 모델이 만들어질 수 있습니다.
이 문제를 극복하기 위해 앙상블 학습(ensemble learning)과 유사하게 언더샘플링을 여러 번 반복 수행하고, 각 샘플로부터 여러 개의 분류기를 생성하는 방법을 사용할 수 있습니다. 또한 집중 언더샘플링(focused undersampling) 기법을 활용하면 제거할 음성 예제를 보다 합리적으로 선택할 수 있습니다. 예를 들어 의사결정 경계(decision boundary)에서 멀리 떨어진 예제들을 우선적으로 제거하는 방식입니다.
오버샘플링(Oversampling)
오버샘플링은 반대로 소수 클래스의 예제를 복제하여, 학습 세트 내 양성 예제와 음성 예제의 수가 동일해질 때까지 늘리는 방식입니다.
오버샘플링은 의사결정 트리(decision tree)와 같은 분류기가 의사결정 경계를 형성하는 데 영향을 미칩니다. 새로운 의사결정 경계를 검증하고 양성·음성 인스턴스를 구분할 만큼 충분한 예제가 없으면, 양성 예제가 오분류될 수 있습니다.
다만 오버샘플링은 노이즈가 많은 데이터에서 주의가 필요합니다. 노이즈 예제까지 여러 번 복제될 경우 모델이 과적합(overfitting)될 위험이 있기 때문입니다. 또한 오버샘플링은 학습 세트에 새로운 데이터를 추가하는 것이 아니라 기존 예제를 단순히 복제하는 것이라는 점도 유의해야 합니다.
양성 예제의 복제는 학습 알고리즘이 학습 예제가 거의 없는 영역을 정의하는 모델의 특정 부분, 즉 소형 디스정트(small disjuncts)를 가지치기(pruning)하지 않도록 막아주는 효과도 있습니다. 다만 양성 예제가 늘어날수록 모델 구축에 필요한 연산 시간 역시 증가한다는 점을 고려해야 합니다.
하이브리드(Hybrid) 방식
하이브리드 방식은 다수 클래스에는 언더샘플링을, 소수 클래스에는 오버샘플링을 함께 적용하여 균형 잡힌 클래스 분포를 만드는 방법입니다.
- 언더샘플링: 무작위(random) 방식 또는 집중(focused) 서브샘플링 방식으로 수행할 수 있습니다.
- 오버샘플링: 기존 양성 예제를 복제하거나, 기존 양성 예제의 주변(neighborhood)에 새로운 양성 예제를 생성하는 방식으로 수행할 수 있습니다.
이처럼 샘플링 기반 접근 방식은 데이터 상황과 목표에 따라 적절한 기법을 선택하거나 조합함으로써, 클래스 불균형 환경에서도 더 나은 성능의 분류 모델을 구축할 수 있도록 돕습니다.