Isolation Forest

이정훈·2025년 12월 19일

1. Isolation Forest

  • DecisionTree와는 다르게 Isolation Forest는 y값은 전혀 참조하지 않으며, randomness를 가지고 데이터를 분리
  • 엔트로피나 지니 계수 같은 불순도(Impurity) 지표를 전혀 계산하지 않음
  • 데이터를 무작위로 분할하여 개별 데이터를 고립(Isolate)시키는 과정을 반복
  • 정상 데이터 → 트리의 깊이가 깊음
  • 이상치 데이터 → 트리의 깊이가 앝음
  • 장점
    • 빠른 연산 속도 O(N)와 효율성
    • tree based로 지표를 계산하지 않아 Scaling(Normarlization)이 필요 없음
  • 단점
    • 이상치들이 뭉쳐있으면 정상 데이터로 오해할 수 있음
    • 수직/수평 분할만 사용하여 대각선 분할에 취약

2. 작동 메커니즘

  • Isolation Forest는 여러 개의 iTree(Isolation Tree)를 결합한 앙상블 모델
  1. 서브 샘플링: 전체 데이터에서 무작위로 일부(보통 256개 정도)를 추출
  2. iTree 구축:
    • 무작위로 특성(Feature)을 하나 선택
    • 해당 특성의 최댓값과 최솟값 사이에서 무작위로 분할 지점(Split Value)을 정해 데이터를 이진 분할
    • 모든 데이터가 고립되거나 트리의 최대 높이에 도달할 때까지 반복
  3. 앙상블: 위 과정을 수백 번 반복하여 수많은 트리를 만듬
  4. 점수 산출: 각 데이터가 모든 트리에서 얻은 평균 경로 길이(average path length, E(h(x)))를 계산하여 이상치 점수를 환산

3. 이상치 점수 (Anomaly Score)

  • 데이터 xx에 대한 이상치 점수 s(x,n)s(x, n)은 다음과 같이 계산

s(x,n)=2E(h(x))c(n)s(x, n) = 2^{-\frac{E(h(x))}{c(n)}}

  • E(h(x))E(h(x)) : 데이터 xx가 고립될 때까지 거친 평균 경로 길이
  • c(n)c(n) : nn개의 샘플로 만들 수 있는 이진 탐색 트리의 평균 경로 길이 (정규화 계수)

💡 점수 해석

  • 1.0에 가까움: 경로가 매우 짧음 → 이상치(Anomaly)
  • 0.5보다 작음: 경로가 매우 김 → 정상 데이터(Normal)
  • 0.5 부근: 전체 데이터에 뚜렷한 이상치가 없을 가능성이 높음

profile
AngDDo

0개의 댓글