본문 바로가기
Machine-Learning/Anomaly Detection

[이상치] Anomaly Detection Overview

by AteN 2022. 11. 10.

Anomaly Detection

이상 징후 탐지는 알고리즘을 이용해서 이상 징후인 특정 데이터나 데이터 패턴을 식별하는 과정이다. 이상 징후 탐지에는 특이값 탐지, 잡음 제거 및 이상값 탐지 작업이 밀접하게 관련되어 있다. 

 

특이값 탐지 (Outlier Detection)

특이값 감지는 지정된 데이터 집합 내에서 비정상적인 특이값 탐지를 목표로 하는 기술이다. 특이값 감지 상황에 적용할 수 있는 세 가지 방법은 높은 재구성 오류를 이용하여 이상 징후를 식별하기 위해서 정상 데이터로만 훈련하거나, 실제로 매우 낮은 확률과의 연관성에 기초하여 이상 징후가 식별되는 확률 분포를 모델링하거나, 또는 이상 징후 데이터 포인트의 모양과 정상적인 데이터 포인트의 모양을 학습하여 이상 징후를 인식하도록 모델을 훈련시키는 것이다. 높은 재구성 오류와 관련해서는, 모델이 지금까지 보아왔던 정상적인 데이터 포틴트에 비해서 이상하기 때문에 이상 징후에 레비을 지정하는 데 어려움을 겪을 것이다. 

모든 백조가 흰색이라는 초기의 가정에 근거하여 검은 백조가 정말 어떻게 다른 지를 알아보는 것처럼, 모델은 비정상적인 데이터 포인트를 '다름'으로 인식하고 해석하는데 더 어려움을 겪는다

잡음 제거 

잡음 제거에서는, 필터링해야 하는 데이터 세트에 일정한 배경 잡음이 있다. 만약 클럽에 있고 친구와 이야기 했다고 상상하면 배경 잡음은 많지만 뇌는 친구의 목소리에 초점을 맞추고 다른 소리는 모두 무시해 버린다. 왜냐하면 그것이 듣고 싶어하는 것이기 때문이다. 

마찬가지로 모델은 원래 데이터를 효율적으로 나타내는 방법을 학습하여 비정상적인 간섭 잡음 없이 재구성할 수 있다. 이는 작은 변화, 세부사항 손실, 안개 등과 같이 어던 형태로든 이미지가 변경된 경우일 수 있다. 모델은 원본 이미지의 정확한 표현을 학습하고 이미지의 비정상적인 요소를 제거하는 방식으로 재구성하여 출력한다 

이상값 탐지 (novelty detection)

이상값 탐지 (novelty detection)는 특이값 탐지와 매우 유사하다. 이 경우, 이상값은 모델이 이상 징후 여부를 결정하기 위해 훈련한 데이터 세트 이외의 데이터 포인트이다. 이상값 탐지와 특이값 탐지 간의 주요 차이점은 특이값 탐지에서는 모델의 역할이 훈련 데이터 세트 내의 이상 징후를 파악하는 것이다. 이상 값 탐지에서는 모델이 정상 데이터 포인트와 그렇지 않는 것을 학습하고 이저넹 본 적이 없는 새로운 데이터 세트에서 이상 징후를 분류하게 된다.

 

Anomaly Detection 관점 (Novelty, outliers)

  • Outliers : 단별량 데이터 (실제 범위를 벗어난 데이터)
  • Novelty : 다변량 (긍정적)
  • Anomaly Detection : 다변량 (부정적)

용어는 서로 다르지만 알고리즘 및 내용은 동일하게 쓰인다

데이터 생성 관한 관점, 확률 밀도 관한 관점

 

Anomaly Detection 은 목적은 지도 학습이지만, 이상치인지 판단하기 때문이다. 하지만 실질적으로 수행하는 방식은 비지도 학습이랑 유사하다고 할 수 있다

Generalization vs Specialization

일반화와 구체화 사이에는 트레이드오프 (trade-off)가 있다. 데이터가 주어 졌을 때,

얼마나 많은 확장을 하는지에 따라서 정상 범위가 아닌데도 정상 범위를 인식할 수 있으며, 구체화한다면 정상 범위이지만 정상 범위로 인식하지 못할 수 있을 것이다.

Anomaly Detection 가정

  1. 기본적으로 normal 데이터가 abnormal보다 많이 있다고 가정하고
  2. 모델을 학습할 때는 normal 데이터만으로 학습

classification vs anomaly detection 어느 것을 사용할 것인가?

데이터의 불균형이 심한가?

소수 범주(abnormal) 한 데이터의 객체가 충분한가?

에 따라서 classification 과 anomaly detection을 구분하여 사용할 수 있을 것이다.

Type of Abnormal Data(outliers)

  • Global outlier
    • Object that significantly deviates from the rest of the data set
      • 나머지 데이터와는 태생적으로 다른 것을 의미
    • 예) 신용 카드 사기 탐지
  • Contextual outlier (local outlier)
    • Object that deviates significantly based on a selected context
      • 상황과 환경에 따라서 특정의 값이 데이터가 달라 진다
    • 알레스카 30도, 사하라 20도
  • Collective outlier
    • A subset of data objects collectively deviate significantly from the whole data set, even if the individual data objects may not be outliers
      • 집단으로 데이터 셋을 구분한다
    • ex ) Denial-of-service (Dos) attack

성능 평가 anomaly detection

Challenge

  • 연속적인 데이터이기 때문에 어느 지점에서 정상적인 데이터인지 비정상 데이터인지 구분이 어렵다 (gray area)
  • 도메인이 어느 것이인가에 따라서 일반화 및 구체화 범위를 조절해서 사용해야 한다. (ex. 실제 의료 데이터는 정상범위에서 조금만 벗어나도 비정상 취급을 하지만, 마케팅 데이터는 정상 범위를 확대하는 경우가 있다)
  • 결과물에 대해서 이해가 가능해야 한다 (이 상황이 정상범위인가 데이터 해석상으로 정의가 되어야 한다)

참고자료

고려대 이상치 탐지 강의 : 03-1: Anomaly Detection - Overview

댓글