본문 바로가기
ML

# 7 이상치 탐지 # 모델 기반 이상치 탐지3 Isolation Forest

by Kwonys 2023. 9. 20.
728x90
반응형

Isolation Forest (I-Forest)

  • 소수 범주(이상치)는 개체수가 적음
  • 소수 범주 데이터는 정상 범주 데이터와는 특정 속성 값이 많이 다를 가능성이 높음

 

하나의 객체를 고립(Isolation) 시키는 Tree를 생성해 보자

  • 정상 데이터라면 고립시키는데 많은 split이 필요
  • 이상치 데이터라면 상대적으로 적은 split만으로 고립 가능

오른쪽 그래프의 x축은 log, y축은 평균 path의 길이로 정상 데이터 split 횟수가  높음

 

  • 객체를 고립시킬 때까지 몇 번이나 split 했는지에 대한 정보로 이상치 점수를 부여할 수 있지 않을까?

Isolation Tree (iTree)

  • n개의 객체로 구성된 샘플 데이터 X는 임의의 속성 q의 임의의 기준점 p를 사용하여 다음 조건을 만족할 때까지 재귀적으로 split 수행(Random하게 Split)
    • Tree가 사전에 설정한 최대 깊이에 도달(ex depth=20)
    • 영역 X 안에 단 하나의 객체만 존재(고립)
    • 영역 X 안에 존재하는 객체들이 모두 같은 입력 변수 값들을 가짐

고립을 위해 (a)는 3번 split (b)는 10번 split

 

Path Length (경로 길이)

  • 객체 x의 경로 길이 h(x)는 Root node로부터 x가 속한 말단 노드까지 도달하기 위해 거쳐간 edge의 수로 정의됨
    • h(x)는 평균 기대 path length x(n)을 사용하여 다음과 같이 정규화 가능

  • Tree에서 path length가 짧을수록 이상치 스코어는 1에 가까워짐 (이상치 가능성 높음)
  • Tree에서 path length가 길수록 이상치 스코어는 0에 가까워짐 (이상치 가능성 낮음)

 

이상치 점수 등고선 예시

 

I-Forest 학습

  • 데이터셋 무작위 샘플링
  • iTree 구축
  • Path length 계산

데이터셋 무작위 샘플링 : iTree 하나를 생성하는 데는 256개 정도의 샘플 데이터면 충분

 

개별 Tree의 최대 깊이를 다르게 제한할 때의 효과

 

Extended Isolation Forest

  • Extended Isolation Forest는 기존 Isolation Forest 구조를 바꾸지 않고 그대로 사용
  • 다만, 차이점은 iTree 건설에 사용되는 random split의 형태를 약간 변형
  • Random한 기울기(Slope) 적용

728x90
반응형