본문 바로가기

Machine Learning/Anomaly Detection

Support Vector Data Description(SVDD)

 

1. Support Vector Data Description(SVDD)

1.1 Definition

SVDD는 One-Class SVM과 관련된 기술이다. SVDD는 분류 경계면(hyperplane)을 찾는 것 대신에 정상데이터를 최대한 많이 포함하는 가장 작은 초구(hypersphere)를 찾는다. SVDD의 목적은 feature space 상에서 데이터를 최대한 많이 포함하는 중심은 c, 반지름은 R인 가장 작은 초구를 찾는 것이다. 

One-Class SVM SVDD
정상 데이터를 최대한 원점으로부터 멀리 위치하도록 하는 분류 경계면을 찾는 것이 목적 정상 데이터를 최대한 감싸안는 가장 작은 초구를
찾는 것이 목적.

Figure 1

1.2 Algorithm

SVDD의 목적함수는 다음과 같다.

 

Objective Function(Primal problem)

 

$$\min_{R,c}R^2 + \dfrac{1}{vn}\sum^n_{i=1}\xi_i$$

$$s.t., \, ||\phi(x_i) - c||^2 \leq R^2 + \xi_i, \xi_i \geq 0, \forall{i}$$

[1]. First Term: $R^2$

첫번째 식인 $R^2$은 데이터를 최대한 많이 포함하는 가장 작은 초구를 찾는 식이다.

[2]. Second Term: $\dfrac{1}{vn}\sum^n_{i=1}\xi_i$

$$\xi_i = \max (0, R^2 - ||\phi(x-i)-c||^2)$$

두번째 식인 $\dfrac{1}{vn}\sum^n_{i=1}\xi_i$는 너무 많은 오분류된 데이터(초구 밖에 존재하는 데이터)를 허용하면 안 되기 때문에 오분류된 데이터에 대해 부여하는 패널티 식이다.

  • $||\phi(x)-c||^2 \leq R^2$인 경우, 즉, 객체가 중심으로부터 반지름 내에 있으면 $\xi_i = 0$이다.
  • $||\phi(x)-c||^2 > R^2$인 경우, 즉, 객체가 중심으로부터 반지름 밖에 있으면 $\xi_i > 0$이다.

Quadratic Programming(QP)를 통해 목적함수를 최소화하는 $c$와 $R$을 찾는다.

목적함수에 제약조건 식이 존재하므로 Lagrangian Method을 사용해 식 $(1)$에서의 $L_p$와 같이 하나의 식으로 표현해준다.

 

Daul Function

$$ g(\alpha_i) =  \min_{R, c}L_p = R^2 + \dfrac{1}{\nu n}\xi_i - \sum^n_{i=1}\alpha_i(R^2 + \xi_i - (\phi(x_i)^t\phi(x_i) - 2c \cdot \phi(x_i) + c \cdot c)) - \sum^n_{i=1}\beta_i\xi_i, \\ \alpha_i \geq 0, \, \beta_i \geq 0 \tag{1}$$

 

KKT condition

(Stationary)

$$\dfrac{\partial{L_p}}{\partial{R}} = 2R(1-\sum^n_{i=1}\alpha_i)=0 \to \sum^n_{i=1}\alpha_i=1 \tag{K1 }$$

$$\dfrac{\partial{L_p}}{\partial{c}} = 2\sum^n_{i=1}\alpha_i\phi(x_i) - 2c\sum^n_{i=1}\alpha_i=0, \to c = \sum^n_{i=1}\alpha_i\phi(x_i) (\because \sum^n_{i=1} \alpha_i = 1)\tag{ K2}$$

$$\dfrac{\partial{L_p}}{\partial{\xi_i}} = \dfrac{1}{ \nu n} - \alpha_i - \beta_i = 0 \to \alpha_i - \beta_i = \dfrac{1}{\nu n}\forall{i} \tag{ K3 }$$

 

(Complementary Slackness)

$$ \alpha_i(R^2 + \xi_i - (\phi(x_i)^t\phi(x_i) - 2c\phi(x_i) + c^2)) = 0 \tag{ K4 }$$

$$ \beta_i\xi_i = 0  \tag{ K5 }$$

 

Dual Problem

KKT 조건을 이용하여 식 $(2)$와 같이 primal problem을 dual problem으로 변환시켰다.

 

$$\begin{align} \max_{\alpha_i} g(\alpha_i)  &= \sum^n_{i=1}\alpha_i\phi(x_i)^t\phi(x_j) - \sum^n_{i=1}\sum^n_{j=1}\alpha_i\alpha_j\phi(x_i)^t\phi(x_j) \\ &= \sum^n_{i=1}\alpha_iK(x_i, x_j) - \sum^n_{i=1}\sum^n_{j=1}\alpha_i\alpha_jK(x_i, x_j) \\& \text{ s.t. } 0 \leq \alpha_i \leq \dfrac{1}{vn}  \end{align} \tag{2}$$

 

식 $(2)$에 음수를 취해줌으로써 최소화 문제를 최대화 문제로 바꾸어주었다.

식 $(3)$을 최소화하는 $\alpha^*$를 찾음으로써 최적해 $R^*$과 $c^*$를 찾을 수 있다.

 

$$\begin{align} \text{Find  } \alpha \;\;\text{ s.t   Minimize }\;\; \frac{1}{2}\alpha^tQ\alpha-e^t Q \\ \text{Subject to } e^t \alpha=1 \\ \;\; 0\leq \alpha_i \leq \dfrac{1}{\nu n}, \;\forall i \end{align} \tag{4}$$

  • $e^t = (1,1,1, \cdots, 1)^T \in \mathbb{R}^n$
  • $Q \in \mathbb{R}^{n \times n}$
    • $Q_{ij} = \phi(x_i)^T \phi(x_j)$

1.3 Support Vector에 대한 정의

$(K1)$ ~ $(K5)$ 조건을 이용하여 서포트 벡터에 대한 정의를 하고자 한다.

  • Case 1: $\alpha_i  = 0$인 경우, $\beta_i \ne 0$이므로 $\xi_i = 0$이다. 즉, $i$번째 객체는 non-support vector이며 $||\phi(x_i)-C||^2 < R^2$ 영역에 존재하는 객체이다.
  • Case 2: $\alpha_i = \dfrac{1}{vn}$인 경우, $\beta_i=0$이므로 $\xi_i>0$이다. 즉, $i$번째 객체는 support vector이며 $||\phi(x_i)-C||^2 > R^2$ 영역에 존재하는 객체이다.
  • Case 3: $0<\alpha_i<\dfrac{1}{vn}$인 경우, $\beta_i > 0$이므로 $\xi_i = 0$이다. 즉, $i$번째 객체는 support vector이며 $||\phi(x_i)-C||^2 = R^2$, 즉, 초구 위에 존재하는 객체이다.

즉, $\alpha_i \ne 0$인 경우 및 $||\phi(x_i)-C||^2 \geq R^2$ 영역에 존재하는 객체를 support vector라고 정의할 수 있으며 최적해 $\hat{c}$와 $\hat{R}$을 구하는데 영향을 끼치는 객체는 support vector임을 알 수 있다.

 

1.4 Hyper-Parameter의 성질

가우시안 커널을 사용할 경우, SVDD에 우리가 지정해줘야 하는 하이퍼 파라미터는 표준편차 $s$와 목적함수에 존재하는 $v$이다. 

 

[표준편차 $s$]

  • 가우시안 커널의 표준편차 값이 작으면 작을수록 객체에 대한 개별적인 분류 경계면이 생성된다.
  • 가우시안 커널의 표준편차 값이 크면 클수록 구에 가까운 분류 경계면이 생성된다.

[$v$]

  • $v$의 값이 작으면 작을수록 구 안에 존재하는 객체에 대해 집중하며 정상 데이터 영역이 커진다. 이는 구 밖에 있는 객체를 왠만하면 허용하지 않겠다는 의미를 내포하고 있으며 대부분의 데이터를 감싸안는 구가 형성된다.
  • 반대로, $v$의 값이 크면 클수록 구 밖에 존재하는 객체에대해 집중하며 타이트한 구가 형성된다. 

1.5 OC-SVM과 SVDD의 문제점

  • 커널 행렬 때문에 계산 비용이 많이 든다.
  • 커널 기반 방법론들은 근사 기법을 사용하지 않는 한 데이터 샘플에 대해 2차식으로 표현한다.
  • 커널 기반 예측값들은 큰 용량의 메모리를 요구하는 서포트 벡터를 저장해야 한다.

Figure2

파란색 구는 반지름 R로 정상 데이터를 모두 포함하는 가장 작은 초구이다. 만약, 새로운 데이터 $X_1$과 $X_2$가 입력된 경우, $X_1$은 기존의 정상 데이터와 매우 유사하게 분포하는 것으로 보아 정상일 가능성이 높아 보이는 반면, $X_2$는 기존의 정상 데이터 분포로부터 멀리 떨어진 것으로 비정상일 가능성이 높아 보인다. 하지만, $X_1$과 $X_2$는 우리가 최적화한 초구 안에 존재하므로 정상 데이터로 판단한다.이렇듯 SVDD는 고차원의 데이터를 변환 없이 직접 다루기 때문에 논리상 허점이 존재한다.

 

참고자료

'Machine Learning > Anomaly Detection' 카테고리의 다른 글

One-Class SVM  (1) 2024.03.22