클러스터링 + 이상탐지

YoungJae Kang·2025년 6월 1일
0

머신러닝 학습

목록 보기
12/14
post-thumbnail

1. 클러스터링 (Clustering)

개념

  • 비지도 학습: 레이블 없는 데이터(x)만 사용
  • 목표: 비슷한 데이터끼리 자동으로 묶기

K-Means 알고리즘

  1. 군집 수 KK 설정

  2. 군집 중심(centroid) μ1\mu_1 ~ μK\mu_K 무작위 초기화

  3. 두 단계 반복:

    할당 단계: 각 데이터 포인트 x(i)x^{(i)}를 가장 가까운 군집 중심 μk\mu_k에 할당
    c(i):=argminkx(i)μk2c^{(i)} := \arg\min_k \|x^{(i)} - \mu_k\|^2

    업데이트 단계: 각 군집 중심을 해당 군집에 속한 점들의 평균으로 갱신
    μk:=1{i:c(i)=k}i:c(i)=kx(i)\mu_k := \frac{1}{\left|\{i: c^{(i)} = k\}\right|} \sum_{i: c^{(i)} = k} x^{(i)}

비용 함수 (Distortion Function)

  • K-means는 아래 비용 함수를 최소화함:
    J(c,μ)=1mi=1mx(i)μc(i)2J(c, \mu) = \frac{1}{m} \sum_{i=1}^m \|x^{(i)} - \mu_{c^{(i)}}\|^2

무작위 초기화 & 로컬 옵티마

  • 여러 번 초기화 후 가장 낮은 비용 함수 값을 가진 결과 선택

K 값 선택법: Elbow Method

  • 군집 수 증가에 따른 비용 함수 변화 그래프에서 급격한 완화 지점을 선택
  • 반드시 명확하지 않으며 목적에 따라 판단 필요

2. 이상 탐지 (Anomaly Detection)

개념

  • 정상 데이터만으로 학습하여 “이상값”을 찾아냄
  • 비정상 데이터는 소수 존재하거나 전무할 수도 있음

사용 사례

  • 항공기 엔진 결함 탐지, 사기 거래 탐지, 서버 이상 동작 탐지 등

방법: 확률 기반 밀도 추정

  • 각 특징 xjx_j에 대해 가우시안 분포 모델링
    p(xj)=12πσjexp((xjμj)22σj2)p(x_j) = \frac{1}{\sqrt{2\pi} \sigma_j} \exp\left( -\frac{(x_j - \mu_j)^2}{2\sigma_j^2} \right)

  • 전체 확률:
    p(x)=j=1np(xj)p(x) = \prod_{j=1}^n p(x_j)

  • 임계값 ε\varepsilon보다 작으면 이상 탐지:
    p(x)<εAnomalyp(x) < \varepsilon \Rightarrow \text{Anomaly}

평균·분산 계산 (μ\mu, σ2\sigma^2)

  • 각 특징에 대해 계산:
    μj=1mi=1mxj(i),σj2=1mi=1m(xj(i)μj)2\mu_j = \frac{1}{m} \sum_{i=1}^m x_j^{(i)}, \quad \sigma_j^2 = \frac{1}{m} \sum_{i=1}^m (x_j^{(i)} - \mu_j)^2

주의사항

  • 특징이 가우시안처럼 보이지 않으면 로그, 제곱근 등 변환 필요
  • 이상 탐지는 특징 선택이 특히 중요함
profile
Data_Analyst

0개의 댓글