Skip to Content
SVDD

SVDD

SVDD(Support Vector Data Description)는 머신러닝에서 이상치 탐지와 단일 클래스 분류를 위해 사용되는 알고리즘입니다. 이 기법의 기본 개념은 정상 데이터를 포함하는 최소 부피의 초구(hypersphere)를 찾아, 고차원 공간에서 데이터 분포의 경계를 설정하는 것입니다. SVDD는 SVM(Support Vector Machine)과 유사한 방식으로 작동하여 정상 범위에 속하는 데이터는 구의 안에 포함되도록 하고, 이 범위를 벗어나는 데이터는 이상치로 판별합니다. SVDD는 주로 고차원 데이터의 이상 탐지에 효과적입니다. 작동 원리는 먼저 고차원 공간으로 데이터를 매핑한 후 정상 데이터를 포함하는 가장 작은 구를 찾는 방식으로 이루어집니다. 이를 위해 구의 중심과 반경을 최적화하는데, 반경을 최대한 줄여 정상 데이터의 범위를 최소화합니다. 새로운 데이터가 이 구의 범위를 벗어나면 이상치로 판단되며, 내부에 위치하면 정상 데이터로 간주됩니다. SVDD는 커널 함수(Kernel Trick)를 활용하여 데이터를 고차원 공간으로 매핑하고, 비선형 분포도 효과적으로 처리할 수 있습니다. 이러한 커널 트릭을 통해 고차원에서 직접 연산하지 않고도 이상 탐지 성능을 높일 수 있습니다. 주요 수식은 최소화 문제를 통해 구의 반경(R)과 중심(a)을 찾고, 특정 slack 변수를 통해 이상치에 대한 허용치를 조절합니다. 이 slack 변수와 패널티 파라미터 C는 경계 설정 시 유연성을 제공하여 이상치를 robust하게 처리할 수 있게 합니다. SVDD는 정상 데이터만을 이용하여 학습하는 One-Class Classification 알고리즘으로, 이상치 데이터에 대한 사전 정보가 부족할 때 유용합니다. 제조업의 결함 탐지, 금융의 사기 탐지, 네트워크 침입 탐지, 의료 질병 진단 등 다양한 분야에서 활용됩니다. 특히, 데이터에 이상치가 포함되어 있어도 큰 영향을 받지 않는 점에서 robust한 특징을 갖습니다. 최근에는 딥러닝을 접목한 Deep SVDD가 주목받고 있습니다. Deep SVDD는 딥러닝을 통해 데이터의 특징을 추출한 후 이를 SVDD에 적용하여, 기존 SVDD보다 복잡한 데이터에 대한 이상 탐지 성능을 향상시키는 방식입니다. 이를 통해 기존 방법보다 다양한 데이터 패턴에서 효과적으로 이상치를 탐지할 수 있습니다.