Machine Learning/Algorithm

Anomaly detection - Local Outlier Factor (LOF)

고슴군 2022. 6. 28. 17:24
  • Local Outlier Factor (LOF)
    • 꽤 nice한 아이디어다. 여러 아이디어 들의 기초가 된 아이디어라고 할 수 있다.

 

1. K-distance of object p

 

2. K-distance neighborhood of object p (N_k(p))

 

3. Reachability Distance (Reachability distance_k(p, 0))

  • 오밀조밀하게 모여있으면, max 취해봤자 reachability distance는 크지 않을 것이다.

  • p가 outlier라면, reachability distance는 큰 값이 나올 것이다. 

 

4. Local reachability density of object p (lrd_k(p))

  • 분자값은 개수를 의미함. weight 라고 보면 된다. 원 안에 개수가 많으면, lrd 값도 크게 만들어준다. 
  • 핵심은 분모에 있다.
    • 주변 밀도 높으면 reachability distance 작다 → lrd는 커진다
    • 주변 밀도 낮으면 reachability distance 크다 → lrd는 작아진다

 

5. Local Outlier Factor of object p (LOF_k(p))

  • lrd_k(p)에 대해 관심 있는 것이고, 주변 데이터에 비해서 lrd 값이 어떤지 본 것

 

  • LOF < 1 : 밀도가 높은 분포
  • LOF ≒ 1 : 이웃 관측치와 비슷한 분포
  • LOF > 1 : 밀도가 낮은 분포, 크면 클수록 이상치 정도가 큼.

 

  • LOF 이슈
    • K를 어떤 값으로 정할까?
      • robust해서 크게 안 바뀌면 좋을 것. (ex. 2~6 range에서 크게 변하지 않는 것을 기대함)
    • LOF가 어떤 값 보다 커야지 anomaly로 정의할까? (thresholding)
      • 대안 : 비율을 정의해놓고, 예를 들어, 이상치 score가 가장 큰 20개를 찾아서 threshold 할 수도 있다. 
    • 한 데이터셋에서 2.1의 LOF 값을 가지는 관측치와 또 다른 데이터셋에서 2.1의 LOF 값을 가지는 관측치는 모두 동일하게 anomaly인가 (혹은 모두 동일하게 정상인가?)
    • 계산 복잡도 → 복잡도가 매우 높음
      • k-? 와 같이 가까운 k개 관련된 알고리즘들은 모두 복잡도가 높다. 왜냐하면 k개를 찾기 위해서 모든 거리를 다 계산해야하기 때문에
    • 고차원
      • 고차원으로 가면, 2차원과는 다르게 일반적인 유클리디언 거리, 맨하탄 거리와 같은 것이 정확하게 나오지 않는다. 멀어도 거리가 작게 나오기도 하고, 판단이 안되는 케이스가 있다.

 

 

  • Isolation forest를 밀도 기반이라고 하기도 하고, 모델 기반이라고 하기도 한다.
    • Isolation forest 도 LOF와 동일하게 score 나온다
    • 하지만 One-class Support vector machine이나 SVDD의 경우에는 score가 안나오고, 이상치이다 아니다 라고 판별을 한다. 

 

 

  • 적용 시 변수별 scale 필요 (StandardScaler, etc)

 

[참조] 김성범 교수님의 https://www.youtube.com/watch?v=wADcqMdpuv4&t=94s (Anomaly Detection - Local Outlier Factor (LOF)) 을 요약한 것입니다.  

https://velog.io/@vvakki_/LOFLocal-Outlier-Factor

반응형

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

Anomaly detection - PCA, Autoencoder, GAN  (0) 2022.07.04
Anomaly detection - 1-SVM, SVDD  (0) 2022.07.02
Anomaly detection - 개요, 확률분포기반  (0) 2022.06.25
Time-series forecasting at UBER  (0) 2021.03.03
Prophet  (0) 2021.02.25