누군가 계층 적 클러스터링의 장단점을 설명 할 수 있습니까?
- 계층 적 군집화에는 K와 같은 단점이 있습니까?
- K 평균에 비해 계층 적 클러스터링의 장점은 무엇입니까?
- 우리는 언제 계층 적 클러스터링보다 K 수단을 사용해야합니까?
이 게시물에 대한 답변은 k의 단점을 잘 설명합니다. K- 평균의 단점을 이해하는 방법
누군가 계층 적 클러스터링의 장단점을 설명 할 수 있습니까?
이 게시물에 대한 답변은 k의 단점을 잘 설명합니다. K- 평균의 단점을 이해하는 방법
답변:
means는 전역 목표 (클러스터의 분산)를 최적화하려고 시도하고 지역적으로 최적의 집단적 계층 적 군집화를 달성하는 반면 정확하게 수행되지만 잠재적으로 차선책이되는 각 클러스터 융합 (욕심 알고리즘)에서 최상의 단계를 찾는 것을 목표로합니다. .
기본 데이터가 계층 구조 (예 : 금융 시장의 상관 관계)를 갖고 계층 구조를 복구하려는 경우 계층 구조 클러스터링을 사용해야합니다. 여전히 -means를 적용 하여 그렇게 할 수 있지만 중첩되지 않은 파티션 (가장 거친 것 (클러스터의 모든 데이터 포인트)에서 가장 높은 것 (각 데이터 포인트는 클러스터))으로 끝날 수 있습니다. 적절한 계층 구조가 아닙니다.
군집화의보다 정밀한 특성을 파고 싶다면 평균과 같은 플랫 군집화를 단일, 평균, 전체 연계와 같은 계층 적 군집화 에 반대하지 않을 수 있습니다 . 예를 들어, 이러한 모든 클러스터링은 공간을 절약합니다. 즉, 클러스터를 구축 할 때는 공간을 왜곡하지 않지만, Ward와 같은 계층 적 클러스터링은 공간을 유지하지 않습니다. 즉, 각 병합 단계에서 메트릭 공간을 왜곡합니다.
결론적으로, 계층 적 클러스터링 알고리즘의 단점은 서로 매우 다를 수 있습니다. 일부는 평균 과 유사한 특성을 공유 할 수 있습니다 . Ward는 분산 최적화를 목표로하지만 단일 연계는 아닙니다. 그러나 그것들은 또한 다른 속성을 가질 수 있습니다 : Ward는 공간을 넓히고 Single Linkage는 k- 평균 과 같이 공간을 절약 합니다.
-공간 절약 및 공간 확장 속성을 정확하게 편집
공간 절약 : 여기서 D i j 는 거리입니다 클러스터 간 C I 및 C의 J
공간 확장시키고 : 즉 병합하여 C를 I 및 C의 J 알고리즘 멀리 클러스터 밀어 것이다 C의 케이 .
should use hierarchical clustering when underlying data has a hierarchical structure... and you want to recover the hierarchy
반드시 그런 것은 아닙니다. 대부분의 경우 오히려 반대입니다. HC의 계층은 오히려 데이터 구조보다는 알고리즘에 대한 이야기이다 . 그럼에도 불구하고이 문제는 궁극적으로 철학적 / 논리적이며 통계적이지 않습니다.
Ward is not space-conserving, i.e. at each merging step it will distort the metric space
. 그것에 대해 더 쓸 수 있습니까? 이것은 명확하지 않습니다.
Ward is space-dilating, whereas Single Linkage is space-conserving like k-means
. 단일 연결을위한 공간 계약을 말하고 싶습니까?
는 여기서 확실한 승자가된다는 것을 의미합니다. O ( N ⋅ K ⋅ D ⋅ 난 ) 댄 훨씬 더 O ( N 3 D ) (몇몇 사례에 O ( N 2 D ) 보통 둘 때문에 계층 클러스터링) 확장 K 및 I 및 D는 불행히도 (작고, 나는 n 과 함께 자라는 경향이있으므로 O ( n ) 은그렇지 않습니다.보통). 또한 메모리 소비는 2 차 (일반적으로 선형 특수 사례가 있음)와 달리 선형입니다.
평균은 적용 성이 매우 제한적입니다. 그것은 본질적으로 유클리드 거리로 제한됩니다 (커널 공간의 유클리드 포함 및 Bregman 분기), 이것은 매우 이국적이며 실제로 k- 평균으로사용하지 않습니다). 더 나쁜 것은 k- 평균은 숫자 데이터에서만 작동합니다 ( k- 평균에적합하도록 실제로 연속적이고 밀도가 높아야 함).
계층 적 클러스터링이 확실한 승자입니다. 거리가 필요하지 않습니다. 단순히 높은 값을 낮은 값보다 선호함으로써 유사성 기능을 포함한 모든 측정을 사용할 수 있습니다. 카테고리 데이터? Jaccard와 같은 것을 사용하십시오. 줄? Levenshtein 거리를보십시오. 시계열? 확실한. 혼합 유형 데이터? 고 우어 거리. 계층 적 클러스터링을 사용할 수 있지만 -means를 사용할 수없는 수백만 개의 데이터 세트가 있습니다 .
승자가 없습니다. 평균은 데이터를 크게 줄이므로 점수가 높습니다. 중심은 이해하고 사용하기 쉽습니다. 반면에 계층 적 클러스터링은 덴드로 그램을 생성합니다. 덴드로 그램은 데이터 세트를 이해하는 데 매우 유용 할 수 있습니다.
어떤 의미에서 특정 계층 적 클러스터링 방법을 선호하는 강력한 이론적 이유가있는 방법에 대해 다른 답변에 약간 추가하고 싶었습니다.
군집 분석에서 일반적인 가정은 데이터가 우리가 액세스 할 수없는 몇 가지 기본 확률 밀도 에서 샘플링 된다는 것입니다. 그러나 우리가 그것에 접근했다고 가정하자. f 의 군집 을 어떻게 정의 할 것인가 할까요?
매우 자연스럽고 직관적 인 접근 방식은 고밀도 영역. 예를 들어 아래의 두 피크 밀도를 고려하십시오.
그래프를 가로 질러 선을 그리면 클러스터 집합이 만들어집니다. 예를 들어 선을 그리면 두 개의 클러스터가 표시됩니다. 그러나 우리가 λ 3 에서 선을 그리면 단일 클러스터가 생깁니다.
더 정확하게하기 위해 임의의 이 있다고 가정 합니다. 레벨 λ 에서 f 의 군집은 무엇입니까 ? 그것들은 수퍼 레벨 세트의 연결된 컴포넌트입니다. { x : f ( x ) ≥ λ } 입니다.
이제 임의의 를 선택하는 대신 모든 λ를 고려 하여 f 의 "true"클러스터 세트가 모든 수퍼 레벨 f 세트의 연결된 컴포넌트가되도록 할 수 있습니다. 핵심은이 클러스터 모음이 계층 적이라는 것입니다. 구조를 .
좀 더 정확하게하겠습니다. 가정하자 지원되는 X . 이제 C 1 은 { x : f ( x ) ≥ λ 1 } 의 연결된 구성 요소가 되고 C 2 는 { x : f ( x ) ≥ λ 2 } 의 연결 구성 요소가 됩니다. 즉, C 1 은 레벨 λ 1 의 클러스터 이고 C 2 는 레벨 λ 2 λ 의 클러스터입니다. 입니다. 그렇다면 이면 C 1 ⊂ C 2 또는 C 1 ∩ C 2 = ∅ 입니다. 이 중첩 관계는 컬렉션의 모든 클러스터 쌍에 적용되므로 실제로클러스터계층 구조가 있습니다. 이것을클러스터 트리라고합니다 합니다.
이제 밀도에서 샘플링 한 데이터가 있습니다. 클러스터 트리를 복구하는 방식으로이 데이터를 클러스터링 할 수 있습니까? 특히 일관성 있는 방법을 원합니다 점점 더 많은 데이터를 수집 할 때 클러스터 트리에 대한 경험적 추정치가 실제 클러스터 트리에 가까워 질수록 .
를 모두 포함하는 경험적 클러스터를 be the smallest containing all of . Then our clustering method is said to be Hartigan consistent if as for any pair of disjoint clusters and .
Essentially, Hartigan consistency says that our clustering method should adequately separate regions of high density. Hartigan investigated whether single linkage clustering might be consistent, and found that it is not consistent in dimensions > 1. The problem of finding a general, consistent method for estimating the cluster tree was open until just a few years ago, when Chaudhuri and Dasgupta introduced robust single linkage, which is provably consistent. I'd suggest reading about their method, as it is quite elegant, in my opinion.
So, to address your questions, there is a sense in which hierarchical cluster is the "right" thing to do when attempting to recover the structure of a density. However, note the scare-quotes around "right"... Ultimately density-based clustering methods tend to perform poorly in high dimensions due to the curse of dimensionality, and so even though a definition of clustering based on clusters being regions of high probability is quite clean and intuitive, it often is ignored in favor of methods which perform better in practice. That isn't to say robust single linkage isn't practical -- it actually works quite well on problems in lower dimensions.
Lastly, I'll say that Hartigan consistency is in some sense not in accordance with our intuition of convergence. The problem is that Hartigan consistency allows a clustering method to greatly over-segment clusters such that an algorithm may be Hartigan consistent, yet produce clusterings which are very different than the true cluster tree. We have produced work this year on an alternative notion of convergence which addresses these issues. The work appeared in "Beyond Hartigan Consistency: Merge distortion metric for hierarchical clustering" in COLT 2015.
R
in the pdfCluster package. (I discuss it here.)
An additional practical advantage in hierarchical clustering is the possibility of visualising results using dendrogram. If you don't know in advance what number of clusters you're looking for (as is often the case...), you can the dendrogram plot can help you choose with no need to create separate clusterings. Dedrogram can also give a great insight into data structure, help identify outliers etc. Hierarchical clustering is also deterministic, whereas k-means with random initialization can give you different results when run several times on the same data. In k-means, you also can choose different methods for updating cluster means (although the Hartigan-Wong approach is by far the most common), which is no issue with hierarchical method.
EDIT thanks to ttnphns: One feature that hierarchical clustering shares with many other algorithms is the need to choose a distance measure. This is often highly dependent on the particular application and goals. This might be seen as an additional complication (another parameter to select...), but also as an asset - more possibilities. On the contrary, classical K-means algorithm specifically uses Euclidean distance.