계층 적 클러스터링을위한 올바른 연계 방법 선택


33

Google BigQuery의 레딧 데이터 덤프에서 수집하고 처리 한 데이터에 대해 계층 적 클러스터링 을 수행 하고 있습니다.

내 프로세스는 다음과 같습니다.

  • / r / politics에서 최신 1000 개의 게시물 가져 오기
  • 모든 의견 수집
  • 데이터 처리 및 n x m데이터 매트릭스 계산 (n : 사용자 / 샘플, m : 포스트 / 기능)
  • 계층 적 군집을위한 거리 행렬 계산
  • 연결 방법을 선택하고 계층 적 클러스터링을 수행하십시오.
  • 덴드로 그램으로 데이터 플로팅

내 질문은, 최고의 연결 방법 이 무엇인지 어떻게 결정 합니까? 나는 현재 사용하고 Ward있지만 내가 사용할지 여부를 어떻게 알 수 있습니까 single, complete, average, 등?

나는이 물건에 매우 익숙하지만 온라인에 확실하지 않은 답변을 온라인에서 찾을 수 없습니다. 내 응용 프로그램에 좋은 아이디어는 무엇입니까? n x m행렬에는 0이 많이 있다는 점에서 데이터가 상대적으로 희박합니다 (대부분의 사람들은 몇 개 이상의 게시물에 대해서는 언급하지 않습니다).


특정 연계 문제를 제외하고 컨텍스트에서 "최상의"의미는 무엇입니까?
gung-복직 모니카

나에게 가장 좋은 것은 내 종류의 데이터를 연결하는 가장 논리적 인 방법을 찾는 것입니다. 즉, 어떤 접근 방식이 내 기능 내에서 "거리"의 의미를 정확하게 정의합니다.
Kevin Eger

2
케빈, 답변과 최근 질문을 살펴보십시오 . 당신은 떠오르고있는 질문 ( "어떤 방법을 사용 하는가")이 쉽지 않다는 것을 알게 될 것입니다. 당신은 확실히해야한다 문학을 읽는 당신이 방법의 차이를보고 선택할 수 있습니다 전에 (적어도 계층을) 클러스터링에 대해. 데이터 분석은 직접 처리해서는 안됩니다.
ttnphns

1
@ttnphns, 링크 주셔서 감사합니다-잘 읽었으며 그 점을 고려할 것입니다.
Kevin Eger

답변:


58

방법 개요

계층 적 응집 클러스터 분석 (HAC) 의 일부 연계 방법에 대한 간단한 참조 .

HAC 알고리즘의 기본 버전은 하나의 일반입니다. 각 단계에서 Lance-Williams 공식으로 알려진 공식에 의해, 지금까지 존재했던 출현 한 (2 개의 병합 된) 클러스터와 다른 모든 클러스터 (단일 오브젝트 포함) 간의 근접성을 업데이트합니다. Lance-Williams 공식을 사용하지 않는 구현이 있습니다. 그러나 그것을 사용하는 것이 편리합니다 : 하나의 템플릿으로 다양한 연결 방법 을 하나의 코드로 만들 수 있습니다 .

반복 수식에는 몇 가지 매개 변수 (알파, 베타, 감마)가 포함됩니다. 연결 방법에 따라 매개 변수가 다르게 설정되어 래핑되지 않은 수식이 특정 뷰를 얻습니다. HAC의 많은 텍스트는 공식, 해당 방법 별보기 및 방법을 설명합니다. Janos Podani의 기사를 매우 철저히 추천합니다.

상이한 방법에 대한 여지와 필요성은 두 클러스터 사이 또는 클러스터와 단일 객체 사이의 근접성 (거리 또는 유사성)이 다양한 방식으로 공식화 될 수 있다는 사실에서 발생한다. HAC는 각 단계에서 가장 가까운 두 군집 또는 점을 병합하지만 입력 근접 매트릭스가 단일 객체간에 만 정의되었다는면에서 전술 한 근접성을 계산하는 방법은 공식화하는 문제입니다.

따라서 모든 단계에서 두 군집 간의 근접성을 정의하는 방법에 따라 방법이 다릅니다. "집합 계수"(응집 스케줄 / 이력의 출력 및 덴드로 그램에서 "Y"축 형성)는 주어진 단계에서 병합 된 두 클러스터 사이의 근접성입니다.

  • 의 방법 단일 결합 또는 가장 가까운 이웃 . 두 군집 간의 근접성은 가장 가까운 두 대상 간의 근접성입니다. 이 값은 입력 행렬의 값 중 하나입니다. 이 빌드 된 클러스터, 그 원형 의 개념적 은유스펙트럼 또는 체인 입니다. 체인은 직선 또는 곡선 일 수 있거나 "눈송이"또는 "amoeba"와 유사 할 수 있습니다. 가장 유사한 두 개의 클러스터 멤버는 가장 유사한 두 개의 클러스터 멤버에 비해 매우 유사하지 않을 수 있습니다. 단일 연결 방법은 가장 가까운 이웃 유사성 만 제어합니다.

  • 의 방법 완전한 결합 또는 먼 이웃 . 두 군집 간의 근접성은 가장 멀리 떨어진 두 대상 간의 근접성입니다. 이 값은 입력 행렬의 값 중 하나입니다. 이 내장 된 클러스터의 은유는 (어떤 의미에서, 취미 또는 음모에 의한 것)인데, 여기서 서로 가장 멀리 떨어져있는 두 명의 다른 원 (원에서와 같이)은 다른 매우 다른 쌍보다 훨씬 더 유사하지 않을 수 있습니다. 이러한 클러스터는 경계를 기준으로 "컴팩트 한"윤곽이지만 내부에 반드시 컴팩트하지는 않습니다.

  • 방법의 그룹 간 평균 결합 (UPGMA). 두 군집 사이의 근접성은 한쪽의 객체와 다른 쪽의 객체 사이의 모든 근접성에 대한 산술 평균입니다. 이 내장 된 클러스터의 은유는 꽤 일반적이며, 단합 된 클래스 또는 밀접한 집단입니다. 이 방법은 종종 계층 적 클러스터링 패키지에서 기본 방법으로 설정됩니다. 기타 모양과 윤곽의 클러스터가 생성 될 수 있습니다.

  • 단순 평균 또는 그룹 간 평균 연계 (WPGMA) 의 평등 한 방법이 이전에 수정되었습니다. 두 군집 사이의 근접성은 한 쪽의 물체와 다른 쪽의 물체 사이의 모든 근접성의 산술 평균입니다. 이 두 클러스터가 병합 된 하위 클러스터는 최근에 개체 수에 차이가 있더라도 근접성에 동일한 영향을 미쳤습니다.

  • 의 방법 그룹 내 평균 결합 (MNDIS). 두 군집 사이의 근접성은 그들의 합 집단에있는 모든 근접의 산술 평균입니다. 이 방법은 UPGMA의 대안입니다. 일반적으로 클러스터 밀도 측면에서 손실되지만 UPGMA 가하지 않는 클러스터 모양을 발견하는 경우가 있습니다.

  • 중심 법 (UPGMC). 두 군집 사이의 근접성은 그들의 기하학적 중심들 사이의 근접성이다 : 그것들 사이의 [제곱] 유클리드 거리. 이 내장 클러스터의 은유는 플랫폼 (정치)의 근접성입니다 . 정당과 마찬가지로, 그러한 집단은 분수 또는 "파벌"을 가질 수 있지만, 중심 인물이 서로 떨어져 있지 않으면 노동 조합은 일관성이있다. 클러스터는 개요에 따라 다양 할 수 있습니다.

  • 중앙값 또는 평등 한 중심 방법 (WPGMC)이 이전 수정되었습니다. 두 군집 사이의 근접성은 그들의 기하학적 중심들 사이의 근접성 ([제곱] 유클리드 거리); 반면에 두 개의 클러스터가 병합 된 하위 클러스터가 최근에 중심에 동일한 영향을 미치도록 중심이 정의되어 있습니다. 하위 클러스터가 객체 수에서 다른 경우에도 마찬가지입니다.

  • SS12(SS1+SS2)2. 직관적으로, 유형은 중간에 대해 더 조밀하고 동심 인 반면, 한계점은 적고 비교적 자유롭게 산란 될 수 있습니다.

잘 알려지지 않은 방법 중 일부 (Podany J. 새로운 조합 클러스터링 방법 // Vegetatio, 1989, 81 : 61-77 참조) [또한 내 웹 페이지에있는 SPSS 매크로로 구현되었습니다] :

  • SS122

  • MS12(n1MS1+n2MS2)/(n1+n2)=[SS12(SS1+SS2)]/(n1+n2)4

  • MS12=SS12/(n1+n2)4

처음 5 가지 방법은 모든 근접 측정 (유사성 또는 거리)을 허용하며 결과는 당연히 선택한 측정에 따라 달라집니다.

마지막 6 가지 방법에는 거리가 필요합니다. 이 방법은 유클리드 공간에서 중심을 계산하기 때문에 제곱 유클리드 거리 만 사용하는 것이 완전히 올바른 것 입니다. 따라서 기하학적 정확성을 위해 거리를 유클리드해야합니다 (이 6 가지 방법을 기하학적 연결 방법 이라고 함 ). 최악의 경우 다른 측정 항목을 입력 할 수 있습니다보다 휴리스틱하고 덜 엄격한 분석을 허용하는 거리. 이제 그 "제곱"에 대해. 중심 거리의 계산 및 편차는 제곱 거리에서 수행하기에 수학 / 프로그램 적으로 가장 편리합니다. 따라서 HAC 패키지는 일반적으로 제곱을 처리하기 위해 입력하고 조정해야합니다. 그러나 비 제곱 거리 입력을 기반으로하고이를 필요로하는 구현 (완전히 동등하지만 약간 느림)이 있습니다. 예를 들어 Ward의 메소드에 대한 "Ward-2" 구현을 참조하십시오 . 클러스터링 프로그램의 문서를 참조하여 "지오메트리 방법"에 입력 할 때 예상되는 거리 (제곱 또는 비제 한)를 확인해야합니다.

MNDIS, MNSSQ 및 MNVAR 방법은 Lance-Williams 수식을 업데이트 할뿐 아니라 클러스터 내 통계량 (방법에 따라 다름)을 저장하는 단계 만 필요합니다.

군집이 다소 둥글거나 구름이 될 것으로 예상되는 연구에서 가장 자주 사용되는 방법은 평균 연결 방법, 완전한 연결 방법 및 Ward의 방법입니다.

Ward의 방법은 속성과 효율성에 의해 K- 평균 군집에 가장 가깝습니다. 이들은 동일한 객관적인 기능을 공유합니다. "클러스터 내 클러스터 풀 SS"최종 "최소화. 물론 K- 평균 (반복적이며 적절한 초기 중심이 제공되는 경우)은 일반적으로 Ward보다 더 작습니다. 그러나 Ward는 불균일 한 물리적 크기 (변형)의 클러스터 또는 공간에 대해 매우 불규칙적으로 던져진 클러스터를 발견 할 때 K- 평균보다 조금 더 정확합니다. MIVAR 방법은 나에게 이상합니다. 권장 시점을 상상할 수 없으며 밀도가 높은 클러스터를 생성하지 않습니다.

방법 중심, 중앙값, 최소 분산 증가 – 때때로 소위 취소를 제공 할 수 있습니다 . 어떤 단계에서 병합되는 두 클러스터가 이전에 병합 된 클러스터 쌍보다 서로 더 가깝게 나타나는 현상입니다. 이러한 방법은 소위 울트라 메트릭에 속하지 않기 때문입니다. 이 상황은 불편하지만 이론적으로는 괜찮습니다.

단일 연결 및 중심 방법은 소위 공간 계약 또는 "체인"에 속합니다 . 즉, 대략적으로 말해서 객체를 하나씩 클러스터에 연결하는 경향이 있으므로 "클러스터 된 객체의 %"곡선이 비교적 부드럽게 성장합니다. 반대로, 완전한 연결 방법, Ward, Square of Squares, 분산 증가 및 분산 방법은 일반적으로 초기 단계에서도 클러스터 된 객체의 상당 부분을 얻은 다음 병합을 계속합니다. 따라서 클러스터 된 객체의 곡선 % ”는 첫 단계에서 가파 릅니다. 이러한 방법을 공간 확장 이라고합니다 . 다른 방법은 중간에 있습니다.

유연한 버전 . Lance-Willians 공식에 추가 매개 변수를 추가하면 분석법이 단계에서 구체적으로 자체 조정되도록 할 수 있습니다. 이 매개 변수는 클러스터 간 근접성 계산을 수행하며, 이는 클러스터의 크기 (비축 소량)에 따라 다릅니다. 매개 변수의 의미는 응집 방법이 표준 방법보다 더 많은 공간 확장 또는 공간 수축을 만든다는 것입니다. 지금까지 유연성의 가장 잘 알려진 구현은 평균 연결 방법 UPGMA 및 WPGMA입니다 (Belbin, L. et al. Beta-Flexible Clustering에 대한 두 가지 접근법의 비교 // 다변량 동작 연구, 1992, 27, 417–433). ).

덴드로 그램. 덴드로 그램 "Y"축에는 일반적으로 위의 방법으로 정의 된 병합 클러스터 간의 근접성이 표시됩니다. 예를 들어, 중심 법에서는 제곱 거리가 일반적으로 측정됩니다 (결과적으로 패키지 및 옵션에 따라 다름). 일부 연구에서는이를 알지 못합니다. 또한 전통적 으로 덴드로 그램에 표시된 Ward 's와 같은 비밀도의 증가 에 기반한 방법 을 사용하는 경우 누적 값은 이론적 인 것보다 편의상 더 빠릅니다 . 따라서 (많은 패키지에서) Ward의 방법으로 표시된 계수는 주어진 단계의 순간에 관찰 된 클러스터 내 제곱합 내에서 모든 군집에 걸쳐 전체를 나타냅니다.

하나는 연결 방법은 dendrograms의 모습을 비교하여 자신의 데이터에 대해 "더 나은"어떤 판단을 자제해야합니다뿐만 아니라 외모는 계수의 어떤 수정 당신이 거기 플롯을 변경할 때 변경 때문에 - 그것은 단지 한 바와 같이, - 그러나 때문에 클러스터가없는 데이터에서도 모양이 달라 집니다.

"올바른"방법을 선택하려면

단일 기준 은 없습니다 . 클러스터 분석 방법 (특별한 경우 HAC의 연결 방법 포함)을 선택하는 방법에 대한 일부 지침 이이 답변 과 전체 스레드에 요약 되어 있습니다.


1

거리 행렬과 cophenetic 거리 사이의 상관 관계는 선택할 군집 연결을 평가하는 데 도움이되는 하나의 지표입니다. 보낸 사람 ?cophenetic:

원래 거리와 cophenetic 거리 사이의 상관 관계가 높은 경우 덴드로 그램이 일부 데이터의 적절한 요약이라고 주장 할 수 있습니다.

이러한 사용 cor(dist,cophenetic(hclust(dist)))링키지 선택의 기준으로이 중 38 페이지에서 참조 vegan .

아래 예제 코드를 참조하십시오.

# Data
d0=dist(USArrests)

# Hierarchical Agglomerative Clustering
h1=hclust(d0,method='average')
h2=hclust(d0,method='complete')
h3=hclust(d0,method='ward.D')
h4=hclust(d0,method='single')

# Cophenetic Distances, for each linkage
c1=cophenetic(h1)
c2=cophenetic(h2)
c3=cophenetic(h3)
c4=cophenetic(h4)

# Correlations
cor(d0,c1) # 0.7658983
cor(d0,c2) # 0.7636926
cor(d0,c3) # 0.7553367
cor(d0,c4) # 0.5702505

# Dendograms
par(mfrow=c(2,2))
plot(h1,main='Average Linkage')
plot(h2,main='Complete Linkage')
plot(h3,main='Ward Linkage')
plot(h4,main='Single Linkage')
par(mfrow=c(1,1))

우리의 상관 관계 볼 average과는 complete매우 유사하며, 자신의 dendograms 매우 유사하게 나타납니다. 에 대한 상관 관계는 ward과 유사 average하고 complete있지만, dendogram는 상당히 다른 보인다. single연계는 자신의 일을하고 있습니다. 주제 전문가의 전문적인 판단 또는 관심 분야의 특정 링크에 대한 우선 순위는의 숫자 출력보다 우선 cor()합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.