- SVM
- 고차원의 함수로 매핑하여 분리할 수 있는 선형 식을 찾아서, original space로 project해서 비선형 식을 찾아내는 것
- 정상 데이터만을 이용하여 학습
- 정상데이터를 고차원 space로 변형하면, 정상 데이터들을 원점으로부터 멀리하는 decision boundary를 찾아내는 것
- 고차원에서 최대한 떨어지면서, 정상데이터를 잘 아우를 수 있는 선형식을 찾아내는 것이다.
- original로 project하면 비선형이 될 것이다.
- Lagrangian primal problem 을 적용하고 미분하고 Lagrangian dual problem을 적용하여 최적화 해 계산 (강의 참조)
- 최소 v*n개의 suppport vector 존재함. n은 컨트롤 못하고, v를 컨트롤해서 몇 개의 support vector를 만들지를 컨트롤 하는 것
- regularization 하는 것이다. support vector가 아에 없도록 만들어 버리면, 실제로 불량 데이터가 들어왔을 때 감지 못할 확률 높다. 어느 정도는 에러를 허용하면서 robust한 모델 만들어주는 것
- v 값을 작게 하면, 정상데이터를 다 포함해서 크사이 값이 없도록(에러가 없도록) 만듬
- v 값이 크면 에러를 좀더 허용한다.
- 그림은 original space인 것이고, transformed space에서 보면 직선의 모양일 것
- SVDD는 고차원에서 정상데이터를 감싸는 '초구' 의 boundary를 계산하는 것
- 어느정도 에러를 허용하기도 해서, overfitting 방지한다
- 구가 모든 데이터를 포함하면, 나중에 어떤 데이터 들어왔을 때 항상 정상이라고 예측할 것
- 따라서, 최대한 정상 데이터를 아우를 것인데 몇 %는 나가게 만들 것이다.
- 1-SVM과 동일한 방식으로 최적해 계산함
- C가 크다는 것은 밖에 나가있는 것을 허용하지 않겠다는 뜻
- C가 작다는 것은 어느 정도 에러를 허용하겠다는 것
- sigma에 따라서는, sigma가 작으면 overfitting 된다. 분산이 커질수록 구의 형태라고 볼 수 있다.
- 결국 이상치냐 아니냐로 계산이 되긴 함
- 여기서는 sign function 값을 이용하기 때문에, 이 값이 0보다 크면 정상, 0보다 작으면 비정상으로 decision 했다.
- score가 나오지는 않지만, 여기서도 구할 수는 있다.
- 다 거리 기반이니까, SVM-1(hyper-plane으로부터의 거리), SVDD(중심으로 부터의 거리) 를 통해서 score를 계산할 수 있다.
[참조] 김성범 교수님의 https://www.youtube.com/watch?v=CjvMZmMTmQc (Anomaly Detection - 1-SVM, SVDD) 을 요약한 것입니다.
반응형
'Machine Learning > Algorithm' 카테고리의 다른 글
Anomaly detection - 평가지표 (0) | 2022.07.05 |
---|---|
Anomaly detection - PCA, Autoencoder, GAN (0) | 2022.07.04 |
Anomaly detection - Local Outlier Factor (LOF) (0) | 2022.06.28 |
Anomaly detection - 개요, 확률분포기반 (0) | 2022.06.25 |
Time-series forecasting at UBER (0) | 2021.03.03 |