계층형 XML 데이터에 대한 용어 거리 기반 k‑NN 분류 혁신
초록
본 논문은 평면(프로포지셔널) 데이터와 기존 계층형 데이터를 XML 형태로 변환한 뒤, 용어 거리(Nienhuys‑Cheng, Estruch)와 유클리드 거리를 이용한 가중치 k‑NN 분류를 비교한다. 실험 결과, 특정 변환·거리 조합에서 평면 데이터도 계층 구조를 부여함으로써 분류 정확도가 크게 향상됨을 확인하였다.
상세 분석
본 연구는 머신러닝에서 거리 기반 알고리즘이 주로 사용되는 프로포지셔널(평면) 데이터의 한계를 인식하고, 논리·함수형 프로그래밍의 기본 단위인 ‘용어(term)’를 활용한 거리 개념을 도입한다. 용어 거리는 트리 구조를 가진 XML 문서 간의 구조적·내용적 차이를 정량화할 수 있어, 평면 데이터에 계층적 의미를 부여하는 변환 과정과 자연스럽게 결합한다.
먼저, 평면 데이터셋을 XML 트리로 변환하는 두 가지 전략을 제시한다. 첫 번째는 변수명과 값의 직관적 연관성을 이용해 동일 속성들을 같은 레벨에 배치하는 ‘명-값 기반 계층화’이며, 두 번째는 변수 간 통계적 유사도(카이제곱 검정 등)를 기반으로 유사 속성을 그룹화하는 ‘속성 유사도 기반 계층화’이다. 이러한 변환은 XML의 깊이와 순서를 보존하면서도 트리 구조를 형성한다.
변환된 데이터에 대해 두 종류의 용어 거리 함수를 적용한다. Nienhuys‑Cheng 거리(NC)는 트리 노드 간 매칭 비용을 재귀적으로 계산해 구조적 차이를 측정하고, Estruch 등(ET) 거리에서는 매칭 과정에서 발생하는 컨텍스트 가중치와 반복 횟수를 고려해 보다 세밀한 차이를 반영한다. 두 거리 모두 ‘정규화된 비용’ 형태로 반환되며, k‑NN 분류기에 직접 입력될 수 있다.
k‑NN 분류는 거리 가중치(weighted) 방식을 채택한다. 즉, 이웃 후보들의 거리 역수에 지수(α)를 적용해 투표 가중치를 조정한다. 실험에서는 α=0.5, 1, 2 등 여러 값을 시험해 최적의 성능을 탐색하였다. 평면 데이터에 대해서는 전통적인 유클리드 거리와 비교했으며, 변환된 계층형 데이터에 대해서는 NC·ET 거리와 유클리드 거리를 모두 적용해 성능 차이를 분석하였다.
세 개의 공개 데이터셋(Mushroom, Soybean, Demospongiae)을 사용해 실험을 수행하였다. Mushroom 데이터는 명-값 기반 계층화와 속성 유사도 기반 계층화 모두에서 NC·ET 거리가 유클리드 거리보다 평균 4~7% 높은 정확도를 보였다. Soybean 데이터는 변수 수가 많고 클래스가 불균형인 특성상, 특히 α=2일 때 NC 거리와 ET 거리의 가중치 조합이 가장 큰 향상을 제공했다. Demospongiae 데이터는 원래부터 계층적 구조(생물학적 분류)를 가지고 있었으며, 기존 계층을 그대로 XML로 표현했을 때 ET 거리가 가장 높은 분류 성능을 기록했다.
또한, 거리 함수별 계산 복잡도와 메모리 사용량을 비교하였다. NC 거리는 재귀 매칭 과정이 비교적 단순해 구현이 용이하지만, 깊은 트리에서는 O(n²) 비용이 발생한다. 반면 ET 거드는 컨텍스트 가중치를 추가함으로써 약간의 오버헤드가 있지만, 트리 깊이가 얕은 경우에는 더 빠르게 수렴한다.
결론적으로, 평면 데이터를 계층형 XML로 변환하고 용어 거리를 적용하면, 기존 프로포지셔널 기반 거리보다 구조적 정보를 활용해 분류 정확도를 향상시킬 수 있음을 입증하였다. 특히, 변수 간 의미적 연관성을 반영한 변환이 용어 거리와 시너지 효과를 내는 것이 핵심 인사이트이다.
댓글 및 학술 토론
Loading comments...
의견 남기기