본문 바로가기
딥러닝

isolation forest에 대해서

by 제리의 세계 2023. 5. 19.

안녕하세요! 제리입니다.

 

참고 자료는 이곳! https://www.youtube.com/watch?v=puVdwi5PjVA&t=1s 

 

isolation forest에서의 가정

1. 이상점은 minority니까 훨씬 더 적은 개수의 객체들로 구성되어 있을 것이다.

2. 객체들은 노멀 범주 객제와 매우 다른 속성 값을 가지고 있을 것이다.

 

=> 그렇기에 isolate (고립)을 시키기 쉬울 것이다. (적은 split으로 분리가 가능할 것이다.)

 

랜덤 variable에 랜덤 value로 split을 해서 이상 값이 속하지 않은 곳은 고려하지 않음

-> 계속 랜덤하게 해서 split하고 버려서 이상 값을 고립 시키기 위해서 몇번의 split이 되는 지를 작성

 

랜덤에 랜덤을 하게 충분히 많은 횟수를 하게 된다면, 어느 정도의 경향성을 보이며 anomaly score를 잘 작동할 수 있게끔 한다고 함.

isolation forest tree

위 그림처럼 빨간색일수록 이상값이고 하늘색에 가까울수록 정상 값이라고 판단

 

path legnth : x가 root node로부터 terminal node까지 도달하기 위한 split 횟수 h(x)

novelty score (이상치 점수) 계산 : path length와 average path length 이용해 계산

c(n)은 n개의 데이터에서 h(x)의 평균값

 

novelty score

점수가 1에 가까울수록 이상값

0.5보다 훨씬 작은 점수는 정상적인 관측값

 

Standard isolation forest는 수직과 수평으로 해서 구분하므로 이 한계 극복 위해 branch cut에 랜덤하게 기울기 부여

=> Extended isolation forest

extended isolation forest


Isolation Forest는 모델 기반의 이상치 탐지 알고리즘이다.

-> 정상 데이터로부터 학습한 모델을 기반으로 정상 / 이상 여부를 판단

 

의사결정나무(decision tree) 형태를 사용해 상단부와 하단부를 분리해 정상 / 이상 판단

 

연속적인 이진 분할 (recursive binary split) => 분리 지점 격리하는데 경로의 길이로 해석

 

장점 : 속도가 빠르다, 고차원 데이터 셋에서 잘 작동한다.

 

 

코드로 보고 싶다면!

https://towardsdatascience.com/anomaly-detection-with-isolation-forest-visualization-23cd75c281e2

이곳을 참조하시기 바랍니다.