Create Opportunities

[인공지능 응용] Anomaly Detection(2) 본문

이상 탐지

[인공지능 응용] Anomaly Detection(2)

kimjaeyoon 2022. 11. 29. 22:51

이제 여러 알고리즘 기반의 이상탐지 기법에 대한 내용이다.

 

1. 밀도 기반 이상탐지

1) Gaussian Density Estimation

: 관측된 정상 데이터가 정규분포를 따른다 가정.

다변량 정규분포에서의 밀도 측정 (= 정상일 확률)

 

 

 

 

 

 

왼쪽의 데이터 분포 그림으로 이해하면 쉽다. 데이터가 떨어졌을 때,  해당 범위 안에 있는가?

 

Step 1

정규분포 가정 : 정상 데이터만을 학습데이터로 활용할 것이다. 정상 데이터에 대한 2개의 파라미터 mu, sigma^2 를 추정.

이에 기반하여 Novelty score를 계산할 수 있다. 어떻게 ?

 

 

 

밀도 함수를 구해서 이것의 면적을 다 합하면 됨. Log함수 씌워서 쉽게 계산 Log L을 mu와 sigma^2에 대해서 각각 편미분을 하여 추정할 수 있다. (최대 우도 추정법)

 

Step 2

임계치 설정

 

 

 

 

 

 

 

 

 

 

Step 3

새 관측치에 대해 이상 유무를 판단 

 

 

 

 

 

 

 

 

 


2) Mixture of Gaussian Density Estimation (MOG, (=GMM))

: 정규분포는 unimodal and convex를 가정.

모델 bias는 높다. 쉽게 생각해서 밀도가 다양한거라고 보면 된다.

이러한 MOG에는 파라미터가 추가된다. : mu, sigma^2, weight

봉우리가 여러개인 경우, 데이터가 어떤 cluster에 속할 확률이 더 높은가? 를 의미하는 weight가 추가되는 것임.

Latent variable이라고도 할 수 있음. 관측치 x가 특정 Gausian Cluster에 속할 확률!!!

이러한 혼합 가우시안 모델은 단일 가우시안 모델 보다 Bias가 낮음. 사실 그래서 사용하는거다.

 

파라미터가 3개임. 

이 세 가지를 추정하는 알고리즘 : EM 알고리즘(Expectation-Maximization algorithm)

가우시안 클러스타마다 세 가지의 파라미터가 존재한다고 보면 됨.

추정 과정은 아래의 그림과 같다.

1. Initialization : 어떤 클러스터를 초기 모형으로 설정할 것인가. (A, B를 정규분포로 하여 근사시키겠다.)

2. E-step : 주어진 파라미터를 기준으로 조건부 확률을 계산 / 특정 데이터가 어떤 클러스터에서 나왔을 확률이 더 높은가?

3. M-step : likelihood를 최대화 하도록 파라미터 수정 / Step_2에서 특정 클러스터에 속하는 데이터가 더 추가됐잖아? 그럼 mu, sigma^2를 업데이트 해야겠지!

E-step ,M-step

특징

수렴이 보장되어 있음 (convergence guaranteed)

전역 최적해가 보장되지는 않음 (Local optimal solution) * 초기해 및 몇 개의 cluster로 설정할지가 중요함.

 

각 Gausian cluster의 공분산을 구하는 데 있어서 연산량이 매우 많음. 이를 줄이기 위한 방법이 존재하는데...

아래와 같다.

 

 

주어진 문제 상황에 따라 알고리즘을 적합하게 사용하고, 하이퍼 파라미터 설정을 잘 해야한다.

이진 분류와 이상 탐지의 차이에  대해 설명할 수 있어야 한다.

 


Covariance matrix

X의 분산 Var[X]는 x들이 평균을 중심으로 얼마나 흩어져 있는지를 나타내고, X1, X2의 공분산 Cov[X1, X2]는 X1, X2의 흩어진 정도가 얼마나 서로 상관관계를 갖고 흩어져있는지를 나타낸다.