AI

비지도학습 다변량 데이터 이상탐지 - IsolationForest

✿(๑❛ڡ❛๑)✿ 2024. 8. 21. 18:58
728x90
SMALL

 

이상치는 정상 데이터보다 훨씬 더 적고, 정상 데이터와 다른 특징을 가지기 때문에, 몇 번의 분리만으로 쉽게 격리될 수 있다

 

 

Isolation foreset는 밀도를 기반으로 이상을 탐지하는 모델이다.

Isolation forest는 기본적으로 데이터셋을 의사결정나무(Decision Tree) 형태로 표현해 정상값을 분리하기 위해서는 의사결정나무를 깊숙하게 타고 내려가야 하고, 반대로 이상값은 의사결정나무 상단부에서 분리할 수 있다는 것을 이용한다.

이 특성을 사용해 의사결정나무를 몇 회 타고 내려가야 분리되는가를 기준으로 정상과 이상을 분리한다.

Isolation forest의 장점

  • 군집기반 이상탐지 알고리즘에 비해 계산량이 매우 적다
  • 강건한(Robust)한 모델을 만들 수 있다
  • 비지도 학습 환경에서 매우 유용하다.
  • 비정상적인 데이터 포인트를 감지하는 데 강력한 도구
  • 시간 복잡도가 낮다 IsolationForest는 O(n log n)의 시간 복잡도를 가지며, 특히 큰 데이터셋에서도 효율적으로 작동한다. 이는 많은 데이터 포인트를 가진 대규모 데이터셋에서 매우 유리하다.
  • 라벨이 필요 없다 IsolationForest는 비지도 학습 알고리즘으로, 데이터에 라벨이 필요하지 않다.
  • 다변수를 지원한다 여러 열(특징)을 함께 고려하여, 다변수 데이터에서의 이상치를 탐지할 수 있습니다.

Isolation forest의 단점

  • 해석이 어렵다 트리 기반 모델이기 때문 모델의 결정 과정이 직관적으로 이해하기 어렵다
  • 데이터 분포에 민감하다 데이터의 분포가 불균형하거나, 매우 밀집된 구역과 희박한 구역이 혼재된 경우, 모델이 잘못된 판단을 할 수 있다. ( 희박한 구역의 정상데이터를 이상치로 판단할 수 있음)
  • 고차원 데이터에서의 성능 저하
    • 매우 고차원 데이터에서는 모델의 성능이 저하될 수 있다 (차원의 저주)

다변수에서의 동작

IsolationForest는 다차원(다변수) 데이터를 처리할 수 있으며, 여러 열(특징)을 함께 고려하여 이상치를 탐지합니다. 이를 통해 각 샘플이 여러 변수에서의 값을 동시에 반영하여 이상치로 판단됩니다.

  1. 랜덤 샘플링: 데이터를 여러 개의 랜덤한 하위 집합으로 나누기
  2. 분리(격리) 단계: 각 특징(열)을 기준으로 데이터 포인트를 분리하기. 다변수일 경우, 이 과정에서 여러 특징이 동시에 고려되며, 특정 특징이 이상치인 경우 전체 분리 단계에서 그 특징이 중요한 역할을 함.
  3. 고립: 고립 단계에서 특정 데이터 포인트를 고립시키는 데 필요한 분리 횟수가 적다면, 해당 데이터 포인트는 이상치일 가능성이 높다.

다변수 데이터에서의 작동:

  • IsolationForest는 각 데이터 포인트를 여러 특징의 조합으로 위치시킴. → 3개의 열이 있을 때, 하나의 열에서 값이 매우 높고 나머지 두 열에서 값이 낮으면, 이 조합이 고립되기 쉬워지며, 그 데이터 포인트는 이상치로 판단될 가능성이 높아짐
728x90
LIST