데이터 분석에서 정상적인 패턴에서 크게 벗어난 관측치인 이상값(outlier)을 찾아내는 작업은 매우 중요합니다. 이상값 감지 기법은 레이블 데이터의 활용 방식에 따라 크게 지도 학습, 비지도 학습, 준지도 학습 세 가지로 나눌 수 있습니다.
1. 지도 학습(Supervised) 방법
지도 학습 기반 이상값 감지는 데이터의 정상성과 비정상성을 모델링하는 방식입니다. 도메인 전문가가 원본 데이터의 표본을 직접 검토하고 레이블을 부여하며, 이상값 감지 문제를 하나의 분류(classification) 문제로 접근합니다. 즉, 이상값을 식별할 수 있는 분류기를 학습시키는 것이 핵심입니다.
레이블이 붙은 표본은 모델의 학습과 평가에 활용됩니다. 실제 응용 환경에서는 전문가가 정상 객체에만 레이블을 붙이고, 정상 객체 모델에 맞지 않는 객체들을 이상값으로 판정하는 경우가 많습니다. 반대로 이상값만 모델링하고, 해당 모델에 속하지 않는 객체를 정상으로 간주하는 방식도 존재합니다.
2. 비지도 학습(Unsupervised) 방법
많은 실무 상황에서는 "정상" 또는 "이상값"으로 레이블링된 데이터를 구하기 어렵습니다. 이럴 때 비지도 학습 접근법을 사용해야 합니다. 비지도 이상값 감지는 "정상 객체는 서로 군집(cluster)을 이룬다"는 암묵적 가정 위에서 동작하며, 정상 객체가 이상값보다 훨씬 일관된 패턴을 따른다고 예측합니다.
다만 정상 객체가 반드시 하나의 그룹에 몰릴 필요는 없으며, 각기 다른 특징을 가진 여러 그룹을 형성할 수도 있습니다.
비지도 방법의 한계
이 가정이 항상 참인 것은 아닙니다. 정상 객체가 뚜렷한 패턴 없이 균일하게 분포하고, 오히려 집단적(collective) 이상값들이 좁은 영역 안에서 높은 유사성을 공유하는 경우도 있기 때문입니다. 이런 상황에서는 비지도 방법이 이상값을 효과적으로 찾아내지 못합니다. 예를 들어 침입 탐지나 컴퓨터 바이러스 탐지 문제에서는 정상 활동 자체가 다양하게 분포하여 고품질 군집을 형성하지 않는 경우가 많습니다.
일부 군집화(clustering) 알고리즘을 비지도 이상값 감지에 활용할 수도 있습니다. 먼저 군집을 발견한 뒤, 어느 군집에도 속하지 않는 데이터 객체를 이상값으로 식별하는 방식입니다. 그러나 이 방법에는 두 가지 문제점이 있습니다. 첫째, 어떤 군집에도 속하지 않는 객체가 이상값이 아니라 단순한 노이즈(noise)일 수 있습니다. 둘째, 군집을 먼저 찾고 그다음 이상값을 찾는 과정이 계산 비용이 많이 듭니다.
3. 준지도 학습(Semi-Supervised) 방법
실제 응용에서는 레이블된 인스턴스를 일부 확보할 수 있더라도 그 수가 매우 적은 경우가 흔합니다. 소수의 정상 및 이상값 객체에만 레이블이 있고 나머지 데이터는 레이블이 없는 상황을 처리하기 위해 준지도 학습 기반 이상값 감지 방법이 개발되었습니다.
준지도 이상값 감지는 준지도 학습(semi-supervised learning) 기법의 응용으로 볼 수 있습니다. 예를 들어, 레이블이 붙은 소수의 정상 객체와 그 주변의 레이블 없는 객체를 함께 활용해 정상 객체 모델을 학습할 수 있습니다. 이렇게 만들어진 정상 모델을 기준으로, 모델에 맞지 않는 객체들을 이상값으로 판별합니다.
마무리
이상값 감지 기법은 확보 가능한 레이블 데이터의 양에 따라 선택해야 합니다. 충분한 레이블이 있다면 지도 학습이, 레이블이 전혀 없다면 비지도 학습이, 소량의 레이블만 있다면 준지도 학습이 적합합니다. 각 방법의 가정과 한계를 정확히 이해하고 데이터의 특성에 맞는 기법을 선택하는 것이 성공적인 이상값 감지의 열쇠입니다.