1. Isolation Forest
- DecisionTree와는 다르게 Isolation Forest는 y값은 전혀 참조하지 않으며, randomness를 가지고 데이터를 분리
- 엔트로피나 지니 계수 같은 불순도(Impurity) 지표를 전혀 계산하지 않음
- 데이터를 무작위로 분할하여 개별 데이터를 고립(Isolate)시키는 과정을 반복
- 정상 데이터 → 트리의 깊이가 깊음
- 이상치 데이터 → 트리의 깊이가 앝음
- 장점
- 빠른 연산 속도 O(N)와 효율성
- tree based로 지표를 계산하지 않아 Scaling(Normarlization)이 필요 없음
- 단점
- 이상치들이 뭉쳐있으면 정상 데이터로 오해할 수 있음
- 수직/수평 분할만 사용하여 대각선 분할에 취약
2. 작동 메커니즘
- Isolation Forest는 여러 개의 iTree(Isolation Tree)를 결합한 앙상블 모델
- 서브 샘플링: 전체 데이터에서 무작위로 일부(보통 256개 정도)를 추출
- iTree 구축:
- 무작위로 특성(Feature)을 하나 선택
- 해당 특성의 최댓값과 최솟값 사이에서 무작위로 분할 지점(Split Value)을 정해 데이터를 이진 분할
- 모든 데이터가 고립되거나 트리의 최대 높이에 도달할 때까지 반복
- 앙상블: 위 과정을 수백 번 반복하여 수많은 트리를 만듬
- 점수 산출: 각 데이터가 모든 트리에서 얻은 평균 경로 길이(average path length, E(h(x)))를 계산하여 이상치 점수를 환산
3. 이상치 점수 (Anomaly Score)
- 데이터 x에 대한 이상치 점수 s(x,n)은 다음과 같이 계산
s(x,n)=2−c(n)E(h(x))
- E(h(x)) : 데이터 x가 고립될 때까지 거친 평균 경로 길이
- c(n) : n개의 샘플로 만들 수 있는 이진 탐색 트리의 평균 경로 길이 (정규화 계수)
💡 점수 해석
- 1.0에 가까움: 경로가 매우 짧음 → 이상치(Anomaly)
- 0.5보다 작음: 경로가 매우 김 → 정상 데이터(Normal)
- 0.5 부근: 전체 데이터에 뚜렷한 이상치가 없을 가능성이 높음