AI/머신러닝

센서 데이터와 이상 탐지 5일차 (AutoEncoder, DBSCAN ..)

edcrfv458 2025. 3. 27. 14:48

목차

  • AutoEncoder (LSTM AE)
  • Derivative (기울기, 변화량) 기반 탐지
  • Moving Average + Change Point Detection
  • Variance-based Rule
  • Guassian Tail Probability
  • DBSCAN

 

AutoEncoder

  • 입력 데이터를 압축했다가 다시 복원하는 신경망 구조
  • 입력 ➡️ 잠재공간(압축) ➡️ 출력(복원)
  • 복원오차(reconstruction error)를 통해 이상 여부 판단

 

이상 탐지 흐름

  1. 정상 데이터만을 이용해 LSTM Autoencoder 학습
  2. 모델은 정상 패턴만 학습
  3. 이후 어떤 입력을 넣고 복원했을 때
    • 오차가 작으면 정상
    • 오차가 크면 이상으로 판단

 

Derivative (기울기, 변화량) 기반 탐지

  • 값 자체가 아니라, 변화량에 이상 탐지 적용
  • 급격한 변화량이 생긴 경우를 이상으로 판단
  • 변화량(기울기)을 감시하면 정상 범위 안의 급격한 변화도 잡을 수 있음
  • 예시
    • 5초 내에 온도가 10도 이상 급등 ➡️ 이상
    • 전류가 1초에 3A 이상 급격히 상승

 

Moving Average + Change Point Detection

  • 일정 구간의 평균/분산과 현재 값을 비교 ➡️ 급변 시점 감지
  • 도구: ruptures, changefinder, Bayesian Change Point
    • ruptures는 시계열 데이터에서 변화점(change point) 을 감지하는데 사용
    • 변화점 감지(change point detection)는 데이터의 통계적 성질(평균, 분산 등)이 변하는 시점을 찾아내는 것이 목적

 

이동 평균(Moving Average) 기반의 간단한 이상치 탐지(Anomaly Detection)

  • 예를 들어 window가 10이라면 시계열 데이터가 10개가 들어감
  • 이미 이상치가 찾아졌는데 10개를 기다려야 하므로 조취가 늦어질 수 있음
  • 그래서 잘 안씀

 

ChangeFinder 알고리즘을 사용한 이상 탐지 / 변화 탐지

  • ruptures나 moving average 방식과는 다르게, 온라인(실시간) 환경에 적합하고, 통계 기반으로 설계된 알고리즘

 

CUSUM (Cumulative Sum Control Chart) 알고리즘을 이용한 변화 탐지 (Change Detection)

  • 통계적 공정 관리(SPC)에서도 많이 쓰이며, 평균이 갑자기 변하는 시점을 빠르게 포착할 수 있는 강력한 방법

 

Bayesian Online Change Point Detection (BOCPD) 알고리즘

  • 변화점(분포가 바뀌는 지점)을 실시간으로 탐지
  • BOCPD는 변화가 일어날 확률을 베이지안적으로 추론
  • 새로운 관측마다 변화 가능성을 업데이트하여 실시간으로 변화점을 탐지하는 강력한 알고리즘

 

Variance-based Rule

  • 일정한 기간(슬라이딩 윈도우 또는 구간) 동안의 분산(혹은 표준편차)을 계산하고 그 분산이 사전에 설정한 임계값 초과하면 변화가 생겼다고 판단
  • 분산을 기준으로 삼는 이유
    • 정상 구간은 일반적으로 분산이 작고 일정
    • 이상 구간은 평균이 바뀌거나 급격한 값의 진동이 생기며 분산이 커짐
    • 따라서 분산이 갑자기 튀는 지점을 이상 또는 변화점으로 탐지

 

Guassian Tail Probability

  • 정규 분포를 따르는 데이터에서 평균으로부터 특정 거리 이상 떨어질 값이 나올 확률
  • 이 확률은 "이 값이 정상 구간 밖에 있을 가능성" 이며, 일종의 이상치(outlier) 점수로 활용
    • 이상치 탐지: 꼬리 확률이 매우 작으면 "이 값은 정상 분포에서 거의 안 나오는 값 ➡️ 이상"
    • p-value 계산: 통계 검정에서 유의확률(p-value)을 계산할 때도 tail probability 사용
    • 확률적 스코어링: 확률 기반 이상 탐지에 사용

 

DBSCAN

  • 밀도 기반 클러스터링 알고리즘
  • 특히 이상치 탐지와 비선형 구조 데이터 분리에 강한 특징을 가진 알고리즘
  • "점들이 얼마나 밀집되어 있는가"를 기준으로 클러스터를 자동으로 형성하고, 밀도가 낮은 고립된 점들은 이상치(noise)로 간주하는 알고리즘
  • 동작 원리 예약
    • 모든 점에 대해 eps 거리 안의 이웃 점들을 찾음
    • 이웃이 min_samples 이상이면 → Core Point로 간주 → 클러스터 생성 시작
    • 이웃의 이웃들을 재귀적으로 연결하며 클러스터 확장
    • 어떤 클러스터에도 속하지 않는 점은 Noise (이상치) 처리