다중 집합을 위한 정규화 압축 거리와 그 응용
초록
본 논문은 기존의 두 객체 간 정규화 압축 거리(NCD)를 확장하여, 유한 객체들의 다중 집합(멀티셋)에도 적용 가능한 NCD를 정의하고, 이를 거리 메트릭으로 증명한다. Kolmogorov 복잡도와 실제 압축 프로그램을 이용한 근사 방법을 결합해 구현 가능성을 확보했으며, 망막 전구 세포 분류, 축삭 소기관 수송, 손글씨 숫자 인식 등 다양한 실험에서 기존 쌍별 NCD 대비 현저히 높은 분류 정확도를 기록한다.
상세 분석
정규화 압축 거리(NCD)는 두 문자열 x와 y에 대해 K(x), K(y), K(xy)라는 Kolmogorov 복잡도를 이용해 NCD(x,y)= (K(xy)-min{K(x),K(y)})/max{K(x),K(y)} 로 정의된다. 이 식은 압축기 기반 근사값을 사용해 실제 계산이 가능하지만, 본래는 두 객체 사이의 유사도만을 측정한다. 다중 집합 S={x₁,…,xₙ}에 대해 유사도를 정의하려면, 집합 전체를 하나의 문자열로 결합한 뒤 그 복잡도를 어떻게 정규화할지가 핵심 문제이다. 기존 연구에서는 단순히 K(⊔S)−min_i K(x_i) 형태를 시도했지만, 삼각 부등식 위반 등 메트릭 성질을 만족하지 못했다.
저자들은 새로운 정의를 제시한다. 먼저 전체 압축 길이 C(S)=C(x₁⊕…⊕xₙ) 를 구하고, 각 원소의 압축 길이 C(x_i)를 계산한다. 그 후 NCD_multiset(S)= (C(S)−min_i C(x_i)) / (max_i C(x_i)·(n−1)) 로 정규화한다. 여기서 (n−1)은 집합 크기에 비례하는 정규화 인자로, 두 객체 경우 n=2일 때 기존 NCD와 일치하도록 설계되었다. 논문은 이 정의가 비음수, 대칭성, 삼각 부등식 등을 만족함을 정리와 증명을 통해 보인다.
실제 구현에서는 gzip, bzip2, LZMA 등 다양한 무손실 압축기를 사용해 C(·)를 근사한다. 압축기 선택에 따라 상수 오차가 발생하지만, 실험 결과는 압축기의 종류에 크게 좌우되지 않음을 보여준다. 또한, 다중 집합 NCD를 계산하는 비용은 전체 데이터를 한 번 압축하면 되므로 O(N) 수준이며, 기존 쌍별 NCD를 모든 조합에 대해 계산하는 O(N²) 비용보다 효율적이다.
실험에서는 (1) 망막 전구 세포 이미지 집합, (2) 인공적으로 생성된 다중 클래스 데이터, (3) 축삭 내 소기관 이동 궤적, (4) MNIST 손글씨 숫자 데이터를 사용했다. 각 도메인에서 다중 집합 NCD를 기반으로 k-최근접 이웃(k-NN) 분류기를 구축했으며, 기존 쌍별 NCD만을 이용한 방법과 비교했다. 모든 경우에서 정확도가 5~12%p 상승했으며, 특히 손글씨 인식에서는 다중 집합 NCD와 쌍별 NCD를 결합한 하이브리드 특징이 최고 성능을 기록했다.
이 논문은 Kolmogorov 복잡도 기반 거리 측정의 적용 범위를 다중 객체 집합으로 확장함으로써, 데이터 마이닝·패턴 인식 분야에서 새로운 유사도 도구를 제공한다는 점에서 의의가 크다. 또한, 메트릭 성질을 유지하면서도 구현이 간단하고 계산 효율이 높은 점은 실무 적용 가능성을 높인다. 향후 연구에서는 가변 길이 시퀀스, 그래프 구조, 스트리밍 데이터 등에 대한 확장과, 압축기 선택에 따른 이론적 오차 분석이 기대된다.