본문 바로가기
SI 업무/AI

Isolation Forest 가 먼가?

by 새로운걸 배우는게 너무 싫은 IT 복붙러 2025. 2. 14.
728x90


Isolation Forest (고립 숲) 가 먼가?


Isolation Forest는 비지도 학습 기반의 이상 탐지(Anomaly Detection) 알고리즘

비지도 학습니다. 

빨간펜 선생님이 없이 학습하는것이다.


즉 data 를 쭈~욱 주고 이건 참, 저건 거짓 이렇게 가르치는게 아닌
data 를 주고 내가 준 data 의 몇%는 비정상 data 이니 이걸 가지고 학습하라는 거다.

그럼 어떤 원리로 학습하지?

의사결정 tree 를 몇개 할지, 샘플링을 몇개할지 코딩으로 정해 주면

1. 전체 data 에서 무작위로 데이타를 선택해서 data 덩어리를 만든다.

2. 선택한 덩어리에서 랜덤특징과  랜덤 값을 빼와 data를 나누면서  분할 tree (의사결정 tree) 를 만든다.

3. 비정상값( outlier) 는 정상 값 보다 tree 의 깊이가 얕으므로 분리될 가능성이 높다.
4. 여러 tree 를 만든 후 평균 깊이를 계산하여 평균적 깊이가 낮으면 이상 data 로 본다.

이게 무슨 개똥 같은 소리인가?


"의사 결정 트리를 만든다" 부터 이해가 안된다.

쉽게 이해 할수 있는 예제를 한번 들어보자.

내가 쓰는 카드 이력이다.

거래 id 사용금액 사용처 사용 시간
001 12,000 양재동 12시
002 10,000 서초동 12시40분
003 17,000 광교 12시 30분
004 16,000 양재동 12시 20분
005 10,000 양재동 12시
006 10,000,000 뉴욕 새벽3시
007 6,000 한남동 13시
009 90,000,000 두바이 새벽 5시

 

위 카드 내역중 머가 사기 거래 일 까 판단 할때

 

Step 1: 첫 번째 분할 (거래 금액 기준)

  • 무작위로 거래 금액(Feature)을 선택하여 데이터를 분할
  • 대부분의 정상 거래는 10,000~17,000 사이에 모여 있음
  • 하지만 10,000,000 , 90,000,000  같은 이상값은 정상값과 거리가 멀어 바로 별도 그룹으로 분리됨
2만원 이하는 좌측 tree, 
2만원 초과는 우측 tree
 
 

✅ Step 2: 두 번째 분할

  • 정상 거래 그룹은 10,000~ 20,000 사이에서 여러 번 분할이 필요함 → 트리 깊이가 깊어짐
    15,000 이하는 우측 tree
    15,000 촤과는 좌측 tree
    이런식으로 계속 나가는듯..

  • 하지만 1 0,000,000 , 90,000,000  거래는 한 번의 분할만으로 쉽게 고립됨트리 깊이가 얕음
 

 

728x90

'SI 업무 > AI' 카테고리의 다른 글

1. ai 언어들의 의미  (0) 2025.09.16
물류 이동 시 Loss 발생을 AI 예측 하는 자료 정리  (0) 2025.02.14