이상치란 무엇인가?
이상치(outlier)는 마치 다른 메커니즘에 의해 생성된 것처럼 나머지 데이터 객체들과 본질적으로 크게 다른 데이터 객체를 의미합니다. 설명의 편의를 위해 이상치에 해당하지 않는 데이터 객체는 '정상(normal)' 또는 기대되는(expected) 데이터로 정의할 수 있으며, 일반적으로 이상치는 '비정상(abnormal)' 데이터로 정의됩니다.
이상치는 주어진 클래스나 클러스터에 속하지 못하는 데이터 요소입니다. 즉, 다른 데이터 객체들의 일반적인 행동 양식과 전혀 다른 행동을 보이는 데이터 객체를 말합니다. 이러한 종류의 데이터를 분석하는 것은 숨겨진 지식을 발굴하는 데 매우 중요한 역할을 할 수 있습니다.
이상치가 흥미로운 이유는 나머지 데이터와 동일한 구조에서 생성되지 않았을 가능성이 있다고 의심되기 때문입니다. 따라서 이상치 탐지에서는 식별된 이상치가 왜 다른 메커니즘에 의해 생성되었는지 그 근거를 정당화하는 것이 필수적입니다.
신규성 탐지(Novelty Detection)와의 관계
원클래스 분류(one-class classification)는 이상치 탐지 또는 신규성 탐지라고도 불립니다. 학습 알고리즘을 통해 훈련 레코드의 분포를 기준으로 정상 데이터와 비정상 데이터를 구분할 수 있기 때문입니다.
예를 들어 새로운 콘텐츠가 끊임없이 유입되는 소셜 미디어 웹사이트를 생각해 보겠습니다. 이때 신규성 탐지는 새로운 주제와 트렌드를 신속하게 식별할 수 있습니다. 새로 등장한 주제는 처음에는 이상치의 형태로 나타나는 경우가 많습니다.
이상치 탐지와 신규성 탐지는 모델링 및 탐지 접근 방식에서 여러 유사점을 공유합니다. 그러나 두 방법의 결정적인 차이는, 신규성 탐지에서는 새로운 주제가 확인되면 해당 주제가 일반 행동 모델에 통합되어 이후의 인스턴스는 더 이상 이상치로 간주되지 않는다는 점입니다.
이상치 탐지의 주요 방법
통계적 방법
원클래스 분류에 대한 대표적인 통계적 접근 방식은 훈련 데이터의 특정 비율(p)로부터 거리(d) 이상 떨어져 있는 인스턴스를 이상치로 인식하는 것입니다. 또한 가우시안(Gaussian) 분포와 같은 통계적 분포를 훈련 데이터에 피팅하여 대상 클래스의 확률 밀도를 계산할 수 있으며, 낮은 확률 값을 가지는 테스트 인스턴스는 이상치로 판별될 수 있습니다.
다중 클래스 분류기의 활용
다중 클래스 분류기(multiclass classifier)는 대상 데이터 주변에 경계(boundary)를 설정하고, 그 경계 바깥에 위치하는 사례들을 이상치로 간주하는 방식으로 원클래스 문제에 맞게 조정할 수 있습니다. 이 경계는 서포트 벡터 머신(SVM)과 같은 기존 다중 클래스 분류기의 내부 작동 방식을 조정하여 생성할 수 있습니다.
파라미터 선택의 중요성
이러한 접근 방식들은 대상 데이터 중 어느 정도의 비율을 이상치로 정의할지 결정하는 파라미터에 크게 의존합니다. 이 값을 너무 보수적으로 선택하면 대상 클래스의 정상 데이터까지 잘못 제외될 위험이 있습니다. 반대로 너무 관대하게 선택하면 모델이 과적합(overfitting)되어 지나치게 많은 정상 레코드를 거부하게 됩니다.
일반적으로 거부율(rejection rate)은 테스트 단계에서 조정할 수 없습니다. 적절한 파라미터 값은 훈련 시점에 미리 선정되어야 하기 때문입니다. 따라서 실무에서는 도메인 지식과 검증 데이터를 바탕으로 최적의 임계값을 신중하게 설정하는 것이 성공적인 이상치 탐지의 핵심이라 할 수 있습니다.