무작위 인덱싱 기반 K트리 클러스터링

본 논문은 문서 클러스터링에 적합하도록 무작위 인덱싱(Random Indexing)과 K‑tree를 결합한 알고리즘을 제안한다. RI‑K‑tree는 고차원 희소 문서 벡터를 저차원 밀집 벡터로 변환해 K‑tree에 적용함으로써 메모리와 연산 복잡도를 크게 낮춘다. 또한 동적 문서 집합의 삽입·삭제에 효율적이며, 실험을 통해 기존 K‑tree 대비 클러스터

무작위 인덱싱 기반 K트리 클러스터링

초록

본 논문은 문서 클러스터링에 적합하도록 무작위 인덱싱(Random Indexing)과 K‑tree를 결합한 알고리즘을 제안한다. RI‑K‑tree는 고차원 희소 문서 벡터를 저차원 밀집 벡터로 변환해 K‑tree에 적용함으로써 메모리와 연산 복잡도를 크게 낮춘다. 또한 동적 문서 집합의 삽입·삭제에 효율적이며, 실험을 통해 기존 K‑tree 대비 클러스터 품질이 향상됨을 입증한다.

상세 요약

본 연구는 대규모 텍스트 코퍼스에서 발생하는 두 가지 핵심 문제, 즉 고차원 희소 벡터의 메모리·연산 부담과 클러스터링 구조의 동적 관리 어려움을 동시에 해결하고자 한다. 이를 위해 무작위 인덱싱(Random Indexing, RI)과 K‑tree라는 두 알고리즘을 결합한 RI‑K‑tree를 설계하였다. RI는 각 단어에 짧은 고정 길이의 랜덤 벡터(보통 24개의 +1/-1 비트)를 할당하고, 문서 벡터는 해당 단어들의 랜덤 벡터를 가중합해 생성한다. 이 과정은 선형 시간 복잡도 O(N·d) (N: 문서 수, d: 비트 차원)로 수행되며, 차원 축소와 동시에 희소성을 밀집 형태로 변환한다는 장점이 있다. 변환된 밀집 벡터는 K‑tree에 직접 삽입될 수 있다. K‑tree는 B‑tree와 유사한 트리 구조를 가지면서, 각 노드에 K‑means 클러스터 중심을 저장하고, 삽입 시 가장 가까운 자식 노드로 내려가며 필요 시 노드를 분할한다. 기존 K‑tree는 고차원 희소 벡터를 그대로 다루면 거리 계산 비용이 급증하고, 메모리 사용량이 비효율적이라는 한계가 있었다. RI‑K‑tree는 이러한 문제를 두 단계로 해결한다. 첫째, RI를 통해 차원을 수백 차원 수준으로 감소시켜 거리 연산을 가볍게 만든다. 둘째, K‑tree의 삽입·분할 연산이 밀집 벡터를 대상으로 수행되므로, 노드 내 K‑means 연산이 빠르게 수렴한다. 또한, 트리 구조 자체가 동적 삽입·삭제를 자연스럽게 지원하므로, 실시간으로 문서가 추가·제거되는 환경에서도 클러스터링 결과를 지속적으로 업데이트할 수 있다. 논문에서는 이러한 설계 원리를 바탕으로 K‑tree의 몇 가지 핵심 모듈을 수정하였다. 예를 들어, 노드 분할 시 기존 K‑means 초기화 방식을 랜덤 인덱싱 벡터의 평균값을 이용하도록 바꾸어 초기 중심의 품질을 높였으며, 거리 측정에 코사인 유사도를 사용해 벡터 정규화 효과를 유지하였다. 실험에서는 표준 뉴스 기사 코퍼스와 위키피디아 문서 집합을 대상으로, 클러스터 수 K=100500 범위에서 RI‑K‑tree와 기존 K‑tree, 그리고 전통적인 K‑means와 LSA 기반 클러스터링을 비교하였다. 평가 지표는 정밀도·재현율·F‑measure, 그리고 클러스터 내부 응집도인 Silhouette 점수를 사용하였다. 결과는 RI‑K‑tree가 특히 대규모(수십만 문서) 상황에서 메모리 사용량을 70% 이상 절감하면서도, Silhouette 점수와 F‑measure에서 기존 K‑tree보다 평균 5~8% 높은 성능을 보였음을 보여준다. 또한, 동적 업데이트 실험에서 새 문서 10% 삽입 후 재클러스터링 없이도 클러스터 품질 저하가 미미함을 확인하였다. 이러한 결과는 RI‑K‑tree가 대규모, 변화가 잦은 텍스트 데이터 환경에서 실용적인 클러스터링 솔루션으로 활용될 가능성을 시사한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...