이 섹션에서는 클러스터링 모델의 동작을 제어하는 데 사용할 수 있는 매개 변수를 포함하여 Microsoft 클러스터링 알고리즘의 구현에 대해 설명합니다. 또한 클러스터링 모델을 만들고 처리할 때 성능을 향상시키는 방법에 대한 지침을 제공합니다.
클러스터링 모델을 사용하는 방법에 대한 자세한 내용은 다음 항목을 참조하세요.
Microsoft 클러스터링 알고리즘 구현
Microsoft 클러스터링 알고리즘은 클러스터를 만들고 클러스터에 데이터 요소를 할당하는 두 가지 방법을 제공합니다. 첫 번째 K -평균 알고리즘은 하드 클러스터링 방법입니다. 즉, 데이터 요소는 하나의 클러스터에만 속할 수 있으며 해당 클러스터의 각 데이터 요소 멤버 자격에 대해 단일 확률이 계산됩니다. 두 번째 방법인 EM( Expectation Maximization ) 메서드는 소프트 클러스터링 방법입니다. 즉, 데이터 요소는 항상 여러 클러스터에 속하며 데이터 요소와 클러스터의 각 조합에 대해 확률이 계산됩니다.
CLUSTERING_METHOD 매개 변수를 설정하여 사용할 알고리즘을 선택할 수 있습니다. 클러스터링의 기본 방법은 확장 가능한 EM입니다.
EM 클러스터링
EM 클러스터링에서 알고리즘은 데이터에 맞게 초기 클러스터 모델을 반복적으로 구체화하고 클러스터에 데이터 요소가 존재할 확률을 결정합니다. 알고리즘은 확률적 모델이 데이터에 맞는 경우 프로세스를 종료합니다. 적합을 결정하는 데 사용되는 함수는 모델에 지정된 데이터의 로그 가능성입니다.
프로세스 중에 빈 클러스터가 생성되거나 하나 이상의 클러스터 멤버 자격이 지정된 임계값 아래로 떨어지면 모집단이 낮은 클러스터가 새 지점에서 다시 시작되고 EM 알고리즘이 다시 실행됩니다.
EM 클러스터링 방법의 결과는 확률적입니다. 즉, 모든 데이터 포인트는 모든 클러스터에 속하지만 클러스터에 대한 데이터 요소 할당마다 다른 확률이 있습니다. 이 메서드를 사용하면 클러스터가 겹칠 수 있으므로 모든 클러스터의 항목 합계가 학습 집합의 총 항목을 초과할 수 있습니다. 마이닝 모델 결과에서 지원을 나타내는 점수는 이를 고려하여 조정됩니다.
EM 알고리즘은 Microsoft 클러스터링 모델에 사용되는 기본 알고리즘입니다. 이 알고리즘은 k-평균 클러스터링에 비해 여러 가지 이점을 제공하므로 기본값으로 사용됩니다.
최대 하나의 데이터베이스 검색이 필요합니다.
RAM(제한된 메모리)에도 불구하고 작동합니다.
앞으로 전용 커서를 사용할 수 있습니다.
샘플링 방법을 능가합니다.
Microsoft 구현은 확장 가능 및 확장 불가능한 EM이라는 두 가지 옵션을 제공합니다. 기본적으로 확장 가능한 EM에서는 처음 50,000개의 레코드를 사용하여 초기 검사를 시드합니다. 이 작업이 성공적이면 모델은 이 데이터만 사용합니다. 50,000개의 레코드를 사용하여 모델을 맞출 수 없는 경우 추가로 50,000개의 레코드를 읽습니다. 확장할 수 없는 EM에서는 크기에 관계없이 전체 데이터 세트를 읽습니다. 이 메서드는 보다 정확한 클러스터를 만들 수 있지만 메모리 요구 사항은 중요할 수 있습니다. 확장 가능한 EM은 로컬 버퍼에서 작동하므로 데이터를 반복하는 속도가 훨씬 빨라지고 알고리즘은 확장할 수 없는 EM보다 CPU 메모리 캐시를 훨씬 더 잘 사용합니다. 또한 확장 가능한 EM은 모든 데이터가 주 메모리에 들어갈 수 있더라도 확장할 수 없는 EM보다 3배 더 빠릅니다. 대부분의 경우 성능 향상으로 인해 전체 모델의 품질이 저하되지는 않습니다.
Microsoft 클러스터링 알고리즘에서 EM의 구현을 설명하는 기술 보고서는 EM(예상 최대화) 클러스터링을 대규모 데이터베이스로 크기 조정을 참조하세요.
K-Means 클러스터링
K-평균 클러스터링 클러스터는 클러스터 간 거리를 최대화하면서 클러스터의 항목 간 차이를 최소화하여 클러스터 멤버 자격을 할당하는 잘 알려진 방법입니다. k-평균의 "평균"은 클러스터의 중심 을 나타내며, 클러스터에 있는 모든 데이터 요소의 실제 평균을 나타낼 때까지 임의로 선택한 다음 반복적으로 구체화되는 데이터 요소입니다. "k"는 클러스터링 프로세스를 시드하는 데 사용되는 임의의 포인트 수를 나타냅니다. k-평균 알고리즘은 클러스터의 데이터 레코드와 클러스터 평균을 나타내는 벡터 사이의 제곱 유클리드 거리를 계산하고, 해당 합계가 최소값에 도달하면 최종 k 클러스터 집합에 수렴합니다.
k-means 알고리즘은 각 데이터 포인트를 정확히 하나의 클러스터에 할당하며 멤버 자격의 불확실성을 허용하지 않습니다. 클러스터의 멤버 자격은 중심에서의 거리로 표현됩니다.
일반적으로 k-평균 알고리즘은 연속 특성의 클러스터를 만드는 데 사용됩니다. 여기서 평균까지의 거리를 계산하는 것은 간단합니다. 그러나 Microsoft 구현은 확률을 사용하여 k-평균 메서드를 클러스터 불연속 특성에 맞게 조정합니다. 불연속 특성의 경우 특정 클러스터에서 데이터 요소의 거리는 다음과 같이 계산됩니다.
1 - P(데이터 요소, 클러스터)
비고
Microsoft 클러스터링 알고리즘은 k-평균을 계산하는 데 사용되는 거리 함수를 노출하지 않으며, 완성된 모델에서는 거리 측정값을 사용할 수 없습니다. 그러나 예측 함수를 사용하여 거리가 클러스터에 속하는 데이터 요소의 확률로 계산되는 거리에 해당하는 값을 반환할 수 있습니다. 자세한 내용은 DMX(ClusterProbability)를 참조하세요.
k-평균 알고리즘은 데이터 집합을 샘플링하는 두 가지 방법, 즉 확장할 수 없는 K-평균을 제공합니다. 이 메서드는 전체 데이터 집합을 로드하고 하나의 클러스터링 패스를 만들거나 확장성 있는 k-평균을 제공합니다. 여기서 알고리즘은 처음 50,000개의 사례를 사용하고 데이터에 모델 적합성을 달성하기 위해 더 많은 데이터가 필요한 경우에만 더 많은 사례를 읽습니다.
SQL Server 2008의 Microsoft 클러스터링 알고리즘 업데이트
SQL Server 2008에서는 내부 매개 변수인 NORMALIZATION = 1을 사용하도록 Microsoft 클러스터링 알고리즘의 기본 구성이 변경되었습니다. 정규화는 z 점수 통계를 사용하여 수행되며 정규 분포를 가정합니다. 기본 동작에서 이러한 변경의 목적은 크기가 크고 이상값이 많을 수 있는 특성의 효과를 최소화하는 것입니다. 그러나 z 점수 정규화는 일반적이지 않은 배포(예: 균일한 분포)의 클러스터링 결과를 변경할 수 있습니다. 정규화를 방지하고 SQL Server 2005에서 K-평균 클러스터링 알고리즘과 동일한 동작을 가져오려면 매개 변수 설정 대화 상자를 사용하여 사용자 지정 매개 변수인 NORMALIZATION을 추가하고 해당 값을 0으로 설정할 수 있습니다.
비고
NORMALIZATION 매개 변수는 Microsoft 클러스터링 알고리즘의 내부 속성이며 지원되지 않습니다. 일반적으로 모델 결과를 개선하기 위해 클러스터링 모델에서 정규화를 사용하는 것이 좋습니다.
Microsoft 클러스터링 알고리즘 사용자 지정
Microsoft 클러스터링 알고리즘은 결과 마이닝 모델의 동작, 성능 및 정확도에 영향을 주는 몇 가지 매개 변수를 지원합니다.
알고리즘 매개 변수 설정
다음 표에서는 Microsoft 클러스터링 알고리즘과 함께 사용할 수 있는 매개 변수에 대해 설명합니다. 이러한 매개 변수는 결과 마이닝 모델의 성능과 정확도 모두에 영향을 줍니다.
클러스터링_방법
사용할 알고리즘의 클러스터링 메서드를 지정합니다. 사용할 수 있는 클러스터링 방법은 다음과 같습니다.
| 아이디 | 메서드 |
|---|---|
| 1 | 확장 가능한 EM |
| 2 | 확장할 수 없는 EM |
| 3 | 확장 가능한 K-평균 |
| 4 | 비확장형 K-평균 |
기본값은 1(확장 가능한 EM)입니다.
클러스터_수
알고리즘에서 빌드할 대략적인 클러스터 수를 지정합니다. 데이터에서 대략적인 수의 클러스터를 빌드할 수 없는 경우 알고리즘은 가능한 한 많은 클러스터를 빌드합니다. CLUSTER_COUNT 0으로 설정하면 알고리즘이 추론을 사용하여 빌드할 클러스터 수를 가장 잘 결정합니다.
기본값은 10입니다.
클러스터 시드
모델 빌드의 초기 단계에 대한 클러스터를 임의로 생성하는 데 사용되는 시드 번호를 지정합니다.
이 수를 변경하면 초기 클러스터가 빌드되는 방식을 변경한 다음 다른 시드를 사용하여 빌드된 모델을 비교할 수 있습니다. 초기값이 변경되었지만 발견된 클러스터가 크게 변경되지 않는 경우 모델은 비교적 안정적인 것으로 간주될 수 있습니다.
기본값은 0입니다.
최소 지원
클러스터를 빌드하는 데 필요한 최소 사례 수를 지정합니다. 클러스터의 사례 수가 이 수보다 낮으면 클러스터는 비어 있는 것으로 처리되고 삭제됩니다.
이 숫자를 너무 높게 설정하면 유효한 클러스터가 누락되었을 수 있습니다.
비고
기본 클러스터링 방법인 EM을 사용하는 경우 일부 클러스터에는 지정된 값보다 낮은 지원 값이 있을 수 있습니다. 이는 각 사례가 가능한 모든 클러스터의 멤버 자격에 대해 평가되고 일부 클러스터의 경우 최소한의 지원만 있을 수 있기 때문입니다.
기본값은 1입니다.
모델링_카디널리티
클러스터링 프로세스 중에 생성되는 샘플 모델의 수를 지정합니다.
후보 모델 수를 줄이면 좋은 후보 모델이 누락될 위험이 있는 성능을 향상시킬 수 있습니다.
기본값은 10입니다.
중지 허용 오차
수렴에 도달하고 알고리즘이 모델 빌드를 완료하는 시기를 결정하는 데 사용되는 값을 지정합니다. 클러스터 확률의 전반적인 변화가 모델 크기로 나눈 STOPPING_TOLERANCE 매개 변수의 비율보다 작으면 수렴에 도달합니다.
기본값은 10입니다.
표본 크기
CLUSTERING_METHOD 매개 변수가 확장 가능한 클러스터링 방법 중 하나로 설정된 경우 알고리즘이 각 패스에서 사용하는 사례 수를 지정합니다. SAMPLE_SIZE 매개 변수를 0으로 설정하면 전체 데이터 세트가 단일 패스로 클러스터됩니다. 전체 데이터 세트를 단일 패스로 로드하면 메모리 및 성능 문제가 발생할 수 있습니다.
기본값은 50000입니다.
최대 입력 속성
알고리즘이 기능 선택을 호출하기 전에 처리할 수 있는 최대 입력 특성 수를 지정합니다. 이 값을 0으로 설정하면 최대 특성 수가 없음을 지정합니다.
특성 수를 늘리면 성능이 크게 저하됩니다.
기본값은 255입니다.
최대 상태
알고리즘이 지원하는 특성 상태의 최대 수를 지정합니다. 특성에 최대값보다 많은 상태가 있는 경우 알고리즘은 가장 인기 있는 상태를 사용하고 나머지 상태를 무시합니다.
상태 수를 늘리면 성능이 크게 저하됩니다.
기본값은 100입니다.
모델링 플래그
알고리즘은 다음 모델링 플래그를 지원합니다. 마이닝 구조 또는 마이닝 모델을 만들 때 모델링 플래그를 정의합니다. 모델링 플래그는 분석 중에 각 열의 값을 처리하는 방법을 지정합니다.
| 모델링 플래그 | 설명 |
|---|---|
| MODEL_EXISTENCE_ONLY | 열은 두 가지 가능한 상태인 Missing 및 Existing으로 처리됩니다. null이 누락된 값입니다. 마이닝 모델 열에 적용됩니다. |
| NULL이 아님 (NOT NULL) | 열에 null을 포함할 수 없습니다. 모델 학습 중에 Analysis Services가 null을 발견하면 오류가 발생합니다. 마이닝 구조 열에 적용됩니다. |
요구 사항
클러스터링 모델에는 키 열과 입력 열이 포함되어야 합니다. 입력 열을 예측 가능한 것으로 정의할 수도 있습니다. 설정된 Predict Only 열은 클러스터를 빌드하는 데 사용되지 않습니다. 클러스터에서 이러한 값의 분포는 클러스터가 빌드된 후에 계산됩니다.
입력 열 및 예측 가능한 열
Microsoft 클러스터링 알고리즘은 다음 표에 나열된 특정 입력 열과 예측 가능한 열을 지원합니다. 마이닝 모델에서 사용할 때 콘텐츠 형식의 의미에 대한 자세한 내용은 콘텐츠 형식(데이터 마이닝)을 참조하세요.
| 칼럼 | 내용 유형 |
|---|---|
| 입력 특성 | 연속적인, 순환적인, 이산형, 이산화된, 주요한, 표, 정렬된 |
| 예측 가능한 특성 | 연속적인, 순환적인, 분리된, 이산화된, 테이블, 정렬된 |
비고
주기적 및 순서가 지정된 콘텐츠 형식은 지원되지만 알고리즘은 이를 불연속 값으로 처리하며 특수한 처리를 수행하지 않습니다.
또한 참조하십시오
Microsoft 클러스터링 알고리즘
클러스터링 모델 쿼리 예제
클러스터링 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)