새소식

머신러닝 & 딥러닝

Isolation Forest

  • -

Isolation Forest는 이상치 탐지(Anomaly detection)를 위한 알고리즘으로, 데이터셋에서 특이하거나 이상한 패턴을 가진 데이터 포인트를 찾는 데 사용된다. 이 알고리즘은 간단하면서도 효과적인 방법으로 이상치를 식별할 수 있다.

Isolation Forest는 다른 이상치 탐지 알고리즘과는 다른 접근 방식을 가지고 있다. 일반적인 방법은 정상 데이터의 군집을 찾고, 그 군집과 멀리 떨어진 데이터를 이상치로 간주하는 것이다. 하지만 Isolation Forest는 정상 데이터와는 구분되는 데이터 포인트를 찾기 위해 데이터셋을 분리하는 방식을 사용한다.

 

Isolation Forest의 작동 원리를 이해하기 위해, 우선 트리(Tree)의 개념을 살펴보자. 트리는 루트 노드(root node)에서 시작하여 브랜치(branch)로 이어지는 노드(node)들로 구성된다. 이 때, 트리의 가장 깊은 부분에 위치한 노드(자식 노드가 없는 노드)는 외부 노드(external node)라고 부른다. Isolation Forest는 이러한 트리들의 앙상블을 사용하여 이상치를 찾는 방법이다.

 

Isolation Forest

 

Isolation Forest 알고리즘의 주요 단계는 다음과 같다.

 

  1. 트리 생성: 데이터셋에서 임의의 특성(feature)과 임계값(threshold)을 선택하여 데이터를 분리하는 분기를 생성한다. 이를 위해 데이터 포인트들은 임의로 선택된 특성의 값과 비교된다. 작은 값은 왼쪽 브랜치로, 큰 값은 오른쪽 브랜치로 이동합니다. 이 과정을 반복하여 트리를 생성한다.
  2. 외부 노드까지의 경로 길이 계산: 생성된 트리에서 이상치를 찾기 위해 각 데이터 포인트가 외부 노드까지 도달하기까지 걸리는 경로 길이를 계산한다. 경로 길이는 해당 데이터 포인트가 트리를 통과하는 분기 수로 측정된다.
  3. 이상치 점수 계산: 경로 길이를 통해 이상치 점수를 계산한다. 일반적으로, 정상 데이터는 느리게 외부 노드에 도달하는 경향이 있으므로 경로 길이가 길다. 이에 반해 이상치는 트리를 통과하는데 적은 분기가 필요하므로 경로 길이가 짧아진다. 따라서 경로 길이가 긴 데이터 포인트는 정상치로 간주되고, 경로 길이가 짧은 데이터 포인트는 이상치로 간주된다.
  4. 이상치 식별: 계산된 이상치 점수를 기반으로 이상치를 식별한다. 이상치 점수가 높은 데이터 포인트는 이상치로 간주된다. 이상치 점수의 임계값을 설정하여 이상치를 판단할 수 있다.

 

Isolation Forest는 데이터셋의 특성과 임계값의 무작위 선택을 통해 이상치를 탐지하는 데에 큰 장점을 가지고 있다. 또한, 큰 데이터셋에서도 효율적으로 작동하며 다양한 유형의 데이터에 적용할 수 있다.

Isolation Forest의 단점 중 하나는 데이터 포인트 간의 거리를 고려하지 않는다는 점이다. 때로는 데이터 포인트 간의 밀도와 분포에 기반하여 이상치를 판단해야 할 수도 있다. 또한, Isolation Forest는 이상치의 유형을 구체적으로 분류하지는 않는다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.