Create Opportunities

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

이상 탐지

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

kimjaeyoon 2022. 11. 30. 11:53

이전 글에 이어 밀도 기반 이상탐지 기법을 하나 더 정리한다.

Local Outlier Factor 이다. 해당 알고리즘은 가우시안 모델과 달리, Distribution의 개념이 포함되지 않는다. 

특정 관측치의 이웃점들의 지역 밀도(Locality pattern)를 계산하여 이상탐지에 활용 > 이웃점들 대비 저밀도에 해당하는 관측치를 이상으로.

 

LOF 구축 절차

Step 1 : k-distance 계산

k값을 설정하고, 특정 데이터 포인트 p에서 k번째로 가까운 관측치까지의 거리를 k-distance로 저장한다.

 

Step 2 : k-distance 내 이웃 수를 측정 (동률도 포함)

 

Step 3 : Reachability - distance_k 측정

Max[k-distance, distance(p, o)]

쉽게 말해서 모든 점들에 대해서 k-ditancep로부터의 distance가 긴지 비교해서 더 큰 값으로 설정.

그냥 더 쉽게 말해서, k-distance 안에 있으면 k-distance로 / 밖에 있으면 실제 측정 거리로

아래 그림으로 이해하면 쉽다.

Step 4 : Local rechability density_k 계산

자신(p) 주변의 밀도가 높은 경우, 분모가 작아지게 되어 lrd_k(p)값이 커지게 됨. (정상)

자신(p) 주변의 밀도가 낮은 경우, 분모가 커지게 되어 lrd_k(p)값이 작아지게 됨. (비정상)

 

Step2 / Step3 라고 보면 됨. 즉, 이웃수 / k-distance 안에 있는 점들과의 거리를 다 더한 값

 

Step 5 : Local outlier factor(LOF) 계산

lrd_k(o)와 lrd_k(p) 비율의 평균

결론부터 말하면, 

이웃도 고밀도이고, 자신도 고밀도이면 이상치 가능성 적음

이웃은 고밀도이지만, 자신은 저밀도이면 이상치 가능성 높음

이웃도 저밀도이고, 자신도 저밀도이면 이상치 가능성 적음

   이웃점의 밀도

----------------

Step4 X Step 2


구축시 고려사항

1. k를 어떻게 정할 것인가?

- Domain 기반 / scatter plot으로 사용자 지정 (LOF 점수에 따라 중요도를 달리하여) / 관측치 별 LOF 합당성 평가

2. 어느정도의 LOF 점수를 안좋다고 봐야하는가?

유의수준 alpha=0.05 설정 > z score를 넘을 경우, 이상치로 간주

 

한계점

1. 관측치 증가 시, LOF 점수 산출 계산량 부담 (time complexity)

2. 저밀도가 이상치는 아닐 수 있다.

Ex) Isolation pattern, Line-shaped distribution pattern