Skip to main content
QUICK REVIEW

[논문 리뷰] Rk-means: Fast Clustering for Relational Data

Ryan R. Curtin, Ben Moseley|arXiv (Cornell University)|2019. 10. 11.
Data Mining Algorithms and Applications참고 문헌 34인용 수 5
한 줄 요약

Rk-means는 관계형 데이터베이스에서 전체 데이터 행렬을 물리적으로 저장하지 않고도 빠르고 근사적인 k-means 군집화를 가능하게 하는 새로운 알고리즘입니다. 이 알고리즘은 근사 관계에서 작은 격자 코어셋을 구성하여 k-means 목적 함수에 대해 상수 요인 근사치를 달성하면서도, 비용이 많이 드는 특성 추출 쿼리가 필요한 전통적 방법에 비해 수개의 주기 차이로 성능 향상을 이룹니다.

ABSTRACT

Conventional machine learning algorithms cannot be applied until a data matrix is available to process. When the data matrix needs to be obtained from a relational database via a feature extraction query, the computation cost can be prohibitive, as the data matrix may be (much) larger than the total input relation size. This paper introduces Rk-means, or relational k -means algorithm, for clustering relational data tuples without having to access the full data matrix. As such, we avoid having to run the expensive feature extraction query and storing its output. Our algorithm leverages the underlying structures in relational data. It involves construction of a small {\it grid coreset} of the data matrix for subsequent cluster construction. This gives a constant approximation for the k -means objective, while having asymptotic runtime improvements over standard approaches of first running the database query and then clustering. Empirical results show orders-of-magnitude speedup, and Rk-means can run faster on the database than even just computing the data matrix.

연구 동기 및 목표

  • 관계형 데이터베이스에서 군집화 전에 큰 데이터 행렬을 생성하는 데 드는 높은 계산 비용과 저장 비용을 해소하기 위해 특성 추출 쿼리(FEQs)의 비용 문제를 해결하는 것.
  • 전체 데이터 행렬을 물리적으로 저장하지 않고도 관계형 데이터에서 직접 k-means 군집화를 수행함으로써 FEQ의 성능 저하 문제를 피하는 것.
  • 모서리 관계에서 유도된 압축된 코어셋을 사용하여 k-means 목적 함수에 대해 증명 가능하게 좋은 근사치를 제공하는 것.
  • 기존의 전체 데이터 행렬을 먼저 계산하고 나서 군집화하는 표준 k-means 파이프라인에 비해 점근적이고 경험적으로 빠른 성능 향상을 달성하는 것.

제안 방법

  • Rk-means는 경량 k-means 변형을 사용하여 각 개별 관계 테이블(예: 제품, 매장, 거래)을 별도로 군집화함으로써 격자 코어셋을 구성합니다.
  • 이 알고리즘은 관계형 데이터의 인수 분해 구조와 기능적 집계 쿼리(FAQ) 기법을 활용하여 전체 관계의 카티esian 곱에 대해 물리적으로 전체 행렬을 저장하지 않고도 가중치가 부여된 k-means를 효율적으로 계산합니다.
  • 모서리 관계에 대해 동적 프로그래밍 기반 군집화 방법을 사용하여 전체 분포를 요약하는 작은 대표 격자 코어셋을 구축합니다.
  • 코어셋을 사용하여 전체 데이터 공간에서 가중치가 부여된 k-means 군집화를 수행하며, 가중치는 관계 간의 튜플 조합 빈도에서 유도됩니다.
  • 코어셋과 최적 운반 이론 간의 이론적 프레임워크를 적용하여 진짜 k-means 목적 함수에 대해 상수 요인 근사치를 보장합니다.
  • 코어셋 구축 시 사용하는 클러스터 수($\kappa$)를 최종 $k$ 클러스터와 비교하여 조정함으로써 속도와 근사 정확도 사이의 조정 가능한 트레이드오프를 지원합니다.

실험 결과

연구 질문

  • RQ1특성 추출 쿼리의 계산 비용을 피하기 위해 전체 데이터 행렬을 물리적으로 저장하지 않고도 관계형 데이터에서 k-means 군집화를 수행할 수 있는가?
  • RQ2모서리 관계 테이블에서 유도된 코어셋의 k-means 목적 함수에 대한 이론적 근사 보장은 무엇인가?
  • RQ3데이터 행렬이 클 경우 Rk-means의 런타임과 메모리 사용량이 표준 k-means 파이프라인과 비교해 어떻게 되는가?
  • RQ4코어셋 구축이 실제로 데이터 행렬을 계산하는 데 소요되는 시간을 초월할 수 있을 정도로 효율적으로 만들 수 있는가?
  • RQ5코어셋 크기($\kappa$) 조정이 속도와 군집 품질 간의 트레이드오프에 미치는 영향은 무엇인가?

주요 결과

  • Rk-means는 Retailer 데이터셋에서 mlpack 대비 최대 115×의 속도 향상을 기록했으며, $\kappa < k$ 조건에서 최대 208×의 속도 향상을 기록했고, 이는 중간 정도의 근사 오차를 유지한 상태에서 이루어졌습니다.
  • Favorita 데이터셋에서 Rk-means는 $k=50$일 때 334.65초 내로 군집화를 완료했고, mlpack는 6시간이 지나도 타임아웃되었으며, 이는 상당한 확장성 향상을 보여줍니다.
  • Rk-means의 메모리 사용량은 극적으로 감소했으며, $k=20$일 때 동일한 데이터셋에서 mlpack의 900 GiB 이상을 초과하는 것에 비해 18 GiB로 줄어들어, 기존 방법이 실패하는 환경에서도 메모리 내 군집화가 가능하게 했습니다.
  • 코어셋 크기는 전체 데이터 행렬보다 최대 180배 작아졌으며, 이는 품질 손실 없이 효율적인 계산을 가능하게 했습니다.
  • Rk-means의 상대적 근사 오차는 이론적 9-근사 한계 이내로 일관되게 유지되었으며, 일부 설정에서는 최소 0.00까지 낮아졌습니다.
  • 모든 데이터셋에서 Rk-means는 psql로 데이터 행렬을 계산하는 데 소요되는 시간보다도 더 빠르게 실행되었으며, 이는 코어셋 접근 방식이 기준 FEQ 단계보다 빠르고 효율적이라는 것을 보여줍니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.