밀도산 기반 실시간 스트림 클러스터링 알고리즘 EDMStream
초록
EDMStream은 데이터 스트림의 밀도산을 추적해 클러스터를 실시간으로 업데이트하고, 클러스터 진화(분할·병합·소멸)를 자동으로 감지한다. DP‑Tree라는 트리형 구조와 두 단계 필터링을 도입해 업데이트 비용을 크게 낮추고, 사용자 선호에 따라 파라미터를 자동 조정한다. 실험 결과, 기존 D‑Stream·DenStream·DBSTREAM·MR‑Stream 대비 7‑15배 빠른 응답 속도와 동등한 군집 품질을 보였다.
상세 분석
EDMStream은 기존 스트림 클러스터링이 직면한 “실시간 업데이트”와 “클러스터 진화 추적”이라는 두 핵심 문제를 동시에 해결하려는 시도이다. 핵심 아이디어는 밀도산(density mountain)이라는 개념으로, 이는 Density Peaks( DP ) 클러스터링에서 사용되는 지역 밀도 ρ와 더 높은 밀도를 가진 최근접점까지의 거리 δ를 2‑차원 공간에 매핑한 형태이다. 논문은 두 가지 가정을 전제로 한다. 첫째, 클러스터 중심은 주변보다 낮은 밀도의 이웃에 둘러싸여 있다; 둘째, 중심점은 다른 높은 밀도 점들로부터 상대적으로 큰 δ 값을 가진다. 이러한 특성을 이용해 클러스터 중심을 “밀도산의 정상(peak)”으로 정의하고, 정상과 그 하위 점들 사이의 의존 관계를 트리 구조인 DP‑Tree에 저장한다.
DP‑Tree는 각 클러스터‑셀(밀도가 비슷한 점들의 집합)을 노드로 하고, 각 노드가 자신의 가장 가까운 높은 밀도 노드(부모)와 연결된다. 강한 의존(δ ≤ τ)과 약한 의존(δ > τ)을 구분해 강한 의존 서브트리를 최대 강한 의존 서브트리(MSDSubTree)로 정의하고, 각 MSDSubTree가 하나의 클러스터에 대응한다. 스트림에 새로운 점이 도착하면, 해당 점은 즉시 가장 가까운 높은 밀도 셀에 연결되고, 이 연결이 기존 트리 구조에 미치는 영향을 국소적으로 평가한다. 여기서 두 단계 필터링(밀도 임계값 필터와 의존 거리 필터)이 적용돼 불필요한 트리 재구성을 방지한다. 결과적으로 한 점의 삽입·삭제가 전체 트리 재구성을 요구하지 않으며, 클러스터 업데이트는 O(log n) 수준의 연산으로 처리된다.
또한 EDMStream은 사용자 인터랙션을 통해 초기 클러스터 granularity(ρ와 τ) 를 학습하고, 스트림 특성 변화에 따라 자동으로 파라미터를 조정한다. 이는 데이터 분포가 급격히 변하거나 새로운 클러스터가 등장할 때, 알고리즘이 스스로 적응하도록 만든다. 실험에서는 합성 데이터와 실제 뉴스·네트워크 트래픽 데이터에 대해 D‑Stream, DenStream, DBSTREAM, MR‑Stream과 비교했으며, 평균 클러스터 업데이트 지연이 7‑23 µs 수준으로 가장 빠르고, 정밀도·재현율 측면에서도 경쟁력을 유지했다. 특히 클러스터 분할·병합·소멸을 시각화한 결과, 밀도산의 변화를 통해 진화 이벤트를 정확히 포착함을 보였다.
하지만 몇 가지 한계도 존재한다. 첫째, DP‑Tree는 Euclidean 거리 기반 밀도 계산에 의존하므로 고차원·희소 데이터에서 거리 측정의 신뢰도가 떨어질 수 있다. 둘째, ρ와 τ의 초기 설정이 크게 영향을 미치며, 자동 조정 메커니즘이 모든 데이터 유형에 최적화된 것은 아니다. 셋째, 클러스터‑셀을 유지하기 위한 메모리 오버헤드가 스트림 속도가 매우 높을 경우 병목이 될 가능성이 있다. 이러한 점들은 향후 연구에서 비유클리드 거리, 동적 메모리 관리, 그리고 파라미터 자동 튜닝의 이론적 보장을 추가함으로써 보완될 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기