My Data Story
[군집] 활용 - 이상치 탐지, 특이치 탐지 본문
◈ '군집 활용' 목차 ◈
3. 이상치 탐지, 특이치 탐지
사이킷런에서 이상치 탐지와 특이치 탐지 전용으로 사용할 수 있는 가지 알고리즘을 살펴보자.
사이킷런에는 이상치 탐지와 특이치 탐지 전용으로 사용할 수 있는 몇 가지 알고리즘이 구현되어 있다.
이 알고리즘들은 임의의 모양을 가진 클러스터를 다룰 수 있다.
1. PCA
보통 샘플의 재구성 오차와 이상치의 재구성 오차를 비교하면 일반적으로 후자가 훨씬 크다.
이는 간단하고 종종 매우 효과적인 이상치 탐지 기법이다.
PCA 외에도 inverse_transform() 메서드를 가진 다른 차원 축소 기법도 동일한 방법으로 이상치 탐지한다.
2. Fast-MCD(Minimum Covariance Determinant)
EllipticEnvelope 클래스에 구현된 이 알고리즘은 이상치 감지에 유용하다.
특히 데이터 셋을 정제할 때 유용하다.
보통 샘플(정성치)가 혼합된 것이 아니라 하나의 가우시안 분포에서 생성되었다고 가정한다.
또한 이 가우시안 분포에서 생성되지 않은 이상치로 이 데이터 셋이 오염되었다고 가정한다.
알고리즘이 가우시안 분포의 파라미터를 추정할 때 (즉 정상치를 둘러싼 타원 도출할 때), 이상치로 의심되는 샘플을 무시한다.
이런 기법은 알고리즘이 타원형을 잘 추정하고 이상치를 잘 구분하도록 돕는다.
3. 아이솔레이션 포레스트
특히 고차원 데이터셋에서 이상치 감지를 위한 효율적인 알고리즘이다.
이 알고리즘은 무작위로 성장한 결정 트리로 구성된 랜덤 포레스트를 만든다.
각 노드에서 특성을 랜덤하게 선택한 다음 (최솟값과 최댓값 사이에서) 랜덤한 임계값을 골라 데이터 셋을 둘로 나눈다.
이런 식으로 데이터 셋이 점차 분리되어 모든 샘플이 다른 샘플과 격리될 때까지 진행된다.
이상치는 일반적으로 다른 샘플과 멀리 떨어져 있으므로 모든 결정 트리에 걸쳐 평균적으로 정상 샘플과 적은 단계에서 분리된다.
4. LOF (Local Outlier Factor)
이 알고리즘은 이상치 탐지에 좋다.
주어진 샘플 주위의 밀도와 이웃 주위의 밀도를 비교한다.
이상치는 종종 k개의 최근접 이웃보다 더 격리된다.
5. one-class SVM
이 알고리즘은 특이치 탐지에 잘 맞는다.
커널 SVM 분류기가 두 클래스를 분리하는 방법을 생각해보면
모든 샘플을 고차원 공간에 매핍한 다음 이 고차원 공간에서 선형 SVM 분류기를 사용해 두 클래스를 분리한다.
여기서는 샘플의 클래스가 하나이기 때문에 one-class SVM 알고리즘이 원본 공간으로부터 고차원 공간에 있는 샘플을 분리한다.
원본 공간에서는 모든 샘플을 둘러싼 작은 영역을 찾는 것에 해당한다.
새로운 샘플이 이 영역 안에 놓이지 않는다면 이는 이상치라고 간주한다.
조정할 하이퍼파라미터가 적다. 커널 SVM 을 위한 하이퍼파라미터 하나와 마진 하이퍼파라미터가 있다.
마진은 실제 정상인 새로운 샘플을 실수로 이상치로 판단할 확률을 말한다.
이 알고리즘은 특히 고차원 데이터셋에 잘 작동한다.
하지만 모든 SVM과 마찬가지로 대규모 데이터 셋으로 확장은 어렵다.
'Machine Learning > 3. 비지도 학습 알고리즘' 카테고리의 다른 글
[군집] 활용 - 이미지 분할, 전처리, 준지도 학습 (0) | 2023.08.19 |
---|---|
[군집] 활용 - 개요 (0) | 2023.08.19 |
[군집] 베이즈 가우시안 혼합 모델 (0) | 2023.08.19 |
[군집] 가우시안 혼합 모델 (0) | 2023.08.19 |
[군집] 스펙트럼 군집 (0) | 2023.08.19 |