Anomaly Detection

2019. 2. 21. 10:15Artificial Intelligence

*첨부된 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다.





Anomaly Detection


이번 시간에는 Anomaly Detection의 개념과 Detection Algorithm을 살펴보려고 한다.

Anomaly Detection이란 번역하면 '이상감지' 혹은 '이상징후감지' 라는 의미를 가지고 있다.


수많은 데이터들을 바탕으로 기존의 데이터들이 가지고 있는 특징들, 즉 '보편적'인 특징들을 갖지 않는 데이터들을 

'Anomaly' 한 데이터라고 하는데, 바로 이러한 데이터들을 찾아내는 것이 Anomaly Detection 이라고 할 수 있다.




save image




위의 그림의 경우 기존의 데이터들 (빨간색으로 표시된 부분)에 대해서 보편적으로 함께 분류되기가 어려운 데이터를 

'Anomaly'한 데이터라고 한다.




Anomaly Data의 구분 기준


특정 데이터가 기존 데이터들에 비해 Anomaly 한지 아닌지를 판단하는 데에는 'Gaussian Distribution'(Normal Distribution)이 사용된다.

'Gaussian Distribution'을 이용해서 특정 데이터의 Anomaly 여부를 판단하는 알고리즘은 다음과 같다.


1. 우선 Anomaly한 특성을 잘 구분해 줄 수 있을 것 같은 Feature들을 고른다.

2. 각각의 Feature를 축으로하는 Gaussian Distribution을 구한다. (mean, variance)

3. 각각의 축의 Gaussian Distribution에 대해서 우리가 Anomaly 여부를 판단하고자 하는 Data의 P(x)값을 구한다.

4. 그 P(x)값을 모두 곱한 값이 우리가 미리 설정한 파라미터인 시그마보다 작으면 Anomaly로 판단하고

크면 Anomaly가 아닌 것으로 판단한다.






save image




Anomaly Detection은, 우리의 Learning Algorithm을 더 정교하게 만들 수 있는 기준들을 제공한다는 점에서 그 장점이 있다.



Anomaly Detection vs Supervised Learning


Anomaly Detection에 대해 학습하다 보면 꽤나 많은 부분에서 지도학습(Supervised Learning)과 유사한 점을 가지고 있다고 생각할 수 있다.

물론 유사한 점도 있겠지만, Anomaly와 Supervised Learning을 구분하는 중요한 특징들이 있는데, 이는 다음과 같다.


1. Anomaly Detection 은 'Positive Example ', 즉 y = 1인 경우의 데이터가 굉장히 적다. 애초에 Anomaly Detection의 개념 자체가 큰 집단들과 어어울리지 않는 성질을 지니는 데이터들을 찾아내는 것이기 때문에 y = 1인 경우의 데이터와 y = 0인 경우의 데이터가 비슷할 수가 없다. (비슷한 경우 어느 쪽을 예외라고 두기가 애매해 진다. 이 경우는 Supervised Leearning이나 Clustering Algorithm등으로 분류하는 편이 낫다.)


2. Anomaly의 경우 굉장히 많은 타입들의 'Anomaly'가 존재한다. 예를들어 파라미터가 100개가 있고, 극단적으로 99개의 파라미터에서는 집단의 일반적인 성질을 따르는 반면, 1가지의 경우에서 너무나도 멀리 떨어져 있는 경우가 있을 수 있다고 한다면, 이런 경우를 고려하는 것 만으로도 굉장히 많은 Anomaly의 경우의 수가 생기게 된다. Supervised Learning에서는 y = 0 , y = 1인 경우에 각각 비슷한 성질을 띄기 때문에 예측하기가 비교적으로 쉬우나 Anomaly의 경우는 비교적 어렵다. 


save image


반응형

'Artificial Intelligence' 카테고리의 다른 글

Gradient Ascent  (0) 2020.03.15
Saliency Map  (3) 2020.03.15
Learning Curves  (0) 2019.02.20
Dimensionality Reduction - Data Compression & PCA  (0) 2019.02.16
UnSupervised Learning - K means Algorithm  (0) 2019.02.16