안녕하세요! 제리입니다.
참고 자료는 이곳! https://www.youtube.com/watch?v=puVdwi5PjVA&t=1s
isolation forest에서의 가정
1. 이상점은 minority니까 훨씬 더 적은 개수의 객체들로 구성되어 있을 것이다.
2. 객체들은 노멀 범주 객제와 매우 다른 속성 값을 가지고 있을 것이다.
=> 그렇기에 isolate (고립)을 시키기 쉬울 것이다. (적은 split으로 분리가 가능할 것이다.)
랜덤 variable에 랜덤 value로 split을 해서 이상 값이 속하지 않은 곳은 고려하지 않음
-> 계속 랜덤하게 해서 split하고 버려서 이상 값을 고립 시키기 위해서 몇번의 split이 되는 지를 작성
랜덤에 랜덤을 하게 충분히 많은 횟수를 하게 된다면, 어느 정도의 경향성을 보이며 anomaly score를 잘 작동할 수 있게끔 한다고 함.
위 그림처럼 빨간색일수록 이상값이고 하늘색에 가까울수록 정상 값이라고 판단
path legnth : x가 root node로부터 terminal node까지 도달하기 위한 split 횟수 h(x)
novelty score (이상치 점수) 계산 : path length와 average path length 이용해 계산
c(n)은 n개의 데이터에서 h(x)의 평균값
점수가 1에 가까울수록 이상값
0.5보다 훨씬 작은 점수는 정상적인 관측값
Standard isolation forest는 수직과 수평으로 해서 구분하므로 이 한계 극복 위해 branch cut에 랜덤하게 기울기 부여
=> Extended isolation forest
Isolation Forest는 모델 기반의 이상치 탐지 알고리즘이다.
-> 정상 데이터로부터 학습한 모델을 기반으로 정상 / 이상 여부를 판단
의사결정나무(decision tree) 형태를 사용해 상단부와 하단부를 분리해 정상 / 이상 판단
연속적인 이진 분할 (recursive binary split) => 분리 지점 격리하는데 경로의 길이로 해석
장점 : 속도가 빠르다, 고차원 데이터 셋에서 잘 작동한다.
코드로 보고 싶다면!
https://towardsdatascience.com/anomaly-detection-with-isolation-forest-visualization-23cd75c281e2
이곳을 참조하시기 바랍니다.
'딥러닝' 카테고리의 다른 글
one class svm (1-svm)에 대해서 (0) | 2023.05.19 |
---|---|
autoencoder에 대해서 - (2) 코드 (0) | 2023.05.19 |
autoencoder에 대해서 - (1) 전체적인 흐름 (0) | 2023.05.19 |
이상탐지 알고리즘 종류에 대해 (1) (0) | 2023.05.18 |