One-Class SVM (OCSVM) 상세 설명
1. 개요
One-Class SVM은 일반적인 분류(Classification) 알고리즘이 아닌, 비지도 학습(Unsupervised Learning) 기반의 이상 탐지(Anomaly Detection) 알고리즘입니다. '정상(Normal)' 데이터 하나의 클래스만 학습하여 경계를 만들고, 이 경계를 벗어나는 데이터를 이상치(Outlier)로 간주합니다.
2. 핵심 작동 원리
일반 SVM이 두 클래스(A, B)를 나누는 최적의 선을 찾는다면, One-Class SVM은 데이터를 고차원 공간으로 매핑한 후, 고차원 공간으로 매핑된 데이터의 특성(K(x,x)=1, 데이터간 거리 유사도 기반으로 뭉침 등..)을 이용하여 원점(Origin)에서 최대한 멀리 떨어지게 하는 초평면(Hyperplane)을 찾습니다.
- 매핑: 커널 함수(Kernel Function)를 이용해 데이터를 고차원 공간으로 보냅니다.
- 분리: 원점(0, 0, ...)과 데이터들을 가르는 선(면)을 긋습니다.
- 최적화: 데이터들이 원점에서 최대한 멀리 밀려나도록 마진을 최대화합니다.
- 판별: 경계 안쪽(데이터 밀집 구역)은 '정상', 경계 밖(원점 쪽)은 '이상'으로 판단합니다.
2-1 왜 원점을 기준으로 Offset(ρ)을 구할까?
✔️ "입력 공간" vs "특성 공간"
2차원 그래프의 데이터(입력 공간)는 원점(0,0)과 전혀 상관없는 곳(예: 좌표 100, 100)에 뭉쳐 있어도 됩니다.
하지만 One-Class SVM은 이 데이터를 커널 함수(주로 RBF 커널)를 사용해 고차원 특성 공간으로 날려버립니다.
- RBF 커널의 마법:
RBF 커널(K(x,y)=e−γ∣∣x−y∣∣2)을 사용하면, 수학적으로 모든 데이터 벡터 Φ(x)의 길이는 1이 됩니다. (K(x,x)=1)
- 결과:
원본 데이터가 어디에 있었든 상관없이, 고차원 공간으로 매핑된 데이터들은 원점으로부터 거리가 1인 구(Sphere)의 표면 어딘가에 모이게 됩니다. (정확히는 구의 표면 중 한쪽 구석인 단일 사분면에 몰립니다.)
이제 상황은 다음과 같습니다.
"모든 데이터가 고차원 공간의 구 표면에 둥둥 떠 있습니다."
이때 우리는 "정상 데이터들의 영역"을 정의하고 싶습니다. 가장 좋은 방법은 데이터들이 모여 있는 곳과 원점 사이를 칼로 자르듯이 평면(Hyperplane)으로 나누는 것입니다.
- 원점의 역할: 기준점(Anchor)입니다. 데이터가 구 표면에 있으니, 원점은 그 구의 중심(Core) 역할을 합니다.
- 평면(w)의 역할: 원점과 데이터를 갈라놓는 벽입니다.
- ρ (rho)의 역할: "원점에서 벽까지의 거리"입니다.
✔️ ρ를 최대화한다는 것의 의미 (밀당의 원리)
One-Class SVM의 목표는 ρ를 최대화하는 것입니다.
- 데이터들은 구 표면(원점에서 거리 1)에 있습니다.
- 우리는 평면을 원점에서 출발시켜 데이터 쪽으로 쭉 밀어 올립니다. (ρ 증가)
- 평면이 계속 밀고 올라가다가 데이터 무리(정상 데이터)에 '턱' 하고 걸리는 순간이 옵니다.
- 바로 그 순간의 평면이 결정 경계가 됩니다.
즉, ρ는 "정상 데이터들을 감싸는 포장지를 얼마나 꽉 조일 것인가?"를 결정하는 값입니다.
- 평면 뒤쪽(원점 쪽)은 "비정상(Outlier)" 영역이 됩니다.
- 평면 앞쪽(데이터 쪽)은 "정상(Normal)" 영역이 됩니다.
3 수식적 개념 (Objective Function)
Schölkopf 등이 제안한 방식의 목적 함수는 다음과 같습니다.
w,ξ,ρmin21∣∣w∣∣2+νl1i=1∑lξi−ρ
제약 조건 (Subject to):
(w⋅Φ(xi))≥ρ−ξi,ξi≥0
- w: 초평면의 법선 벡터
- ρ (rho): 원점과 초평면 사이의 거리 (Margin offset)
- ξi: 슬랙 변수 (허용 오차)
- ν (Nu): 하이퍼파라미터 (이상치 비율 상한)
- Φ(x): 커널 함수

4. 주요 하이퍼파라미터
1) ν (Nu)
- 범위: 0<ν≤1
- 의미: 훈련 데이터 내에서 허용할 이상치(Outlier)의 최대 비율이자, 서포트 벡터의 최소 비율입니다.
- 효과:
- 값이 클수록 -> "이상치가 많다"고 가정 -> 경계가 타이트해짐 (정상 영역 축소).
- 값이 작을수록 -> "대부분 정상이다"라고 가정 -> 경계가 느슨해짐 (정상 영역 확대).
2) γ (Gamma) - RBF 커널 사용 시
- 의미: 결정 경계의 유연성(복잡도)을 조절합니다.
- 효과:
- 값이 클수록 -> 데이터 하나하나에 민감 -> 경계가 복잡하고 구불구불해짐 (Overfitting 위험).
- 값이 작을수록 -> 경계가 단순하고 부드러워짐.
5. 장단점 요약
| 구분 | 내용 |
|---|
| 장점 | - 비지도 학습: 라벨(Label) 없이 정상 데이터만으로 학습 가능 - 비선형성: 커널 트릭을 통해 복잡한 분포의 데이터도 커버 가능 - 강인함: 노이즈에 어느 정도 강인하게 모델링 가능 (ν 조절) |
| 단점 | - 대용량 데이터 처리 시 속도가 느림 - 파라미터(ν,γ) 튜닝이 매우 민감하고 어려움 (정답 라벨이 없으므로 검증 난해) - 차원의 저주에 취약할 수 있음 |
6. 주요 활용 분야
- 제조업 설비 고장 예측 (예지 보전)
- 금융 이상 거래 탐지 (FDS)
- 네트워크 침입 탐지 (IDS)