Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터 마이닝 클러스터링이 충족해야 할 7가지 핵심 요구 사항

데이터 마이닝에서 클러스터링은 대규모 데이터 속에서 유사한 특징을 가진 객체들을 그룹으로 묶는 핵심 기법입니다. 하지만 실제 환경에서 유용하게 활용되려면 클러스터링 알고리즘이 여러 조건을 충족해야 합니다. 아래에서 데이터 마이닝 클러스터링의 주요 요구 사항을 하나씩 살펴보겠습니다.

1. 확장성(Scalability)

일부 클러스터링 알고리즘은 수백 개 이하의 소규모 데이터 집합에서는 잘 작동하지만, 실제 데이터베이스는 수백만 개에 달하는 객체를 포함할 수 있습니다. 방대한 데이터 세트의 일부 표본만으로 클러스터링을 수행하면 편향된 결과가 나올 수 있으므로, 대규모 데이터에도 효율적으로 작동하는 고확장성 알고리즘이 필수적입니다.

2. 다양한 속성 유형 처리 능력

일부 알고리즘은 구간 기반(수치형) 데이터만을 대상으로 설계되었습니다. 그러나 실제 응용 분야에서는 이진(binary), 범주형(nominal), 순서형(ordinal) 데이터 또는 이들이 혼합된 형태의 데이터까지 클러스터링해야 하는 경우가 많습니다. 따라서 다양한 데이터 유형을 동시에 다룰 수 있는 유연성이 요구됩니다.

3. 임의 형태의 클러스터 발견

많은 클러스터링 알고리즘이 유클리드 거리나 맨해튼 거리 같은 거리 측도를 기반으로 클러스터를 판별합니다. 이러한 거리 측도에 의존하는 알고리즘은 크기와 밀도가 비슷한 구형(spherical) 클러스터만 찾아내는 경향이 있습니다. 그러나 현실에서 클러스터는 어떤 모양이든 가질 수 있으므로, 임의의 형태를 가진 클러스터도 인식할 수 있는 알고리즘 개발이 중요합니다.

4. 입력 매개변수 결정을 위한 최소한의 도메인 지식 요구

일부 클러스터링 알고리즘은 분석 과정에서 사용자가 특정 매개변수(예: 원하는 클러스터의 개수)를 직접 입력해야 합니다. 문제는 클러스터링 결과가 이러한 입력값에 지나치게 민감하다는 점입니다. 특히 고차원 객체를 포함한 데이터 세트에서는 적절한 매개변수를 정하기가 매우 어렵습니다. 이는 사용자에게 부담을 줄 뿐 아니라 클러스터링 품질 관리도 어렵게 만듭니다.

5. 노이즈 데이터 처리 능력

현실 세계의 대부분의 데이터베이스에는 이상치(outlier), 결측값, 미지의 값, 오류 데이터가 포함되어 있습니다. 일부 클러스터링 알고리즘은 이런 노이즈에 민감하게 반응하여 품질이 낮은 클러스터를 생성할 수 있습니다. 따라서 잡음에 강건한(robust) 알고리즘이 필요합니다.

6. 증분 클러스터링과 입력 순서에 대한 둔감성

일부 알고리즘은 새로 삽입된 데이터(데이터베이스 업데이트)를 기존 클러스터링 구조에 반영하지 못하고, 처음부터 전체를 다시 군집화해야 합니다. 또한 입력 레코드의 순서에 민감한 알고리즘은 동일한 데이터라도 입력 순서에 따라 전혀 다른 클러스터링 결과를 반환할 수 있습니다. 따라서 증분 방식으로 작동하고 입력 순서에 영향받지 않는 알고리즘 개발이 필수적입니다.

7. 고차원 데이터 처리 능력

데이터베이스나 데이터 웨어하우스는 수많은 차원과 속성을 포함할 수 있습니다. 일부 알고리즘은 2~3차원 수준의 저차원 데이터만 잘 처리합니다. 인간의 눈으로도 클러스터링 품질을 판단할 수 있는 것은 3차원까지가 한계입니다. 게다가 고차원 공간에서 데이터는 희소(sparse)하고 심하게 왜곡되기 쉬워, 고차원 데이터에서 클러스터를 찾는 일은 상당히 복잡한 과제입니다.

마무리

결국 좋은 클러스터링 알고리즘이란 대규모·고차원·노이즈가 섞인 실제 데이터를 대상으로, 사용자의 개입을 최소화하면서도 안정적이고 일관된 결과를 제공하는 알고리즘입니다. 위에서 정리한 7가지 요구 사항은 클러스터링 기법을 선택하거나 평가할 때 중요한 판단 기준이 됩니다.