클러스터 수를 미리 지정하지 않아도되는 클러스터링 방법


17

클러스터 수를 지정할 필요가없는 "비모수 적"클러스터링 방법이 있습니까? 클러스터 당 포인트 수 등과 같은 다른 매개 변수

답변:


22

클러스터 수를 미리 지정해야하는 클러스터링 알고리즘은 소수입니다. 그렇지 않은 수많은 알고리즘이 있습니다. 그것들은 요약하기 어렵다. 고양이가 아닌 유기체에 대한 설명을 요구하는 것과 같습니다.

클러스터링 알고리즘은 종종 광범위한 왕국으로 분류됩니다.

  1. 파티션 알고리즘 ( k-means 및 자손과 같은 )
  2. 계층 적 클러스터링 ( @Tim이 설명하는 것처럼 )
  3. 밀도 기반 클러스터링 (예 : DBSCAN )
  4. 모델 기반 클러스터링 (예 : 유한 가우시안 혼합 모델 또는 잠재 클래스 분석 )

추가 범주가있을 수 있으며 휴리스틱이기 때문에 사람들이 이러한 범주와 어떤 범주에 속하는 알고리즘에 동의하지 않을 수 있습니다. 그럼에도 불구하고이 체계와 같은 것이 일반적입니다. 이것으로부터 작업하는 것은 주로 찾을 수있는 클러스터 수를 미리 지정해야하는 분할 방법 (1)입니다. 다른 정보를 미리 지정해야하는 것 (예 : 클러스터 당 포인트 수) 및 다양한 알고리즘을 '비모수 적'이라고 부르는 것이 합리적인지 여부는 매우 다양하고 요약하기가 어렵습니다.

계층 적 군집화에서는 k- 평균 방식과 같이 군집 수 를 미리 지정 하지 않아도 되지만 출력에서 ​​여러 군집을 선택합니다. 반면에 DBSCAN은 어느 것도 필요하지 않지만 ( '이웃'에 대한 최소 포인트 수 지정이 필요하지만 (기본값이 있기는하지만) 어떤 의미에서는 생략해도됩니다.) 클러스터의 패턴 수). GMM은이 세 가지 중 어느 것도 필요하지 않지만 데이터 생성 프로세스에 대한 매개 변수 가정이 필요합니다. 내가 아는 한, 클러스터 수, 클러스터 당 최소 데이터 수 또는 클러스터 내 데이터의 패턴 / 배열을 지정할 필요가없는 클러스터링 알고리즘은 없습니다. 어떻게 될지 모르겠습니다.

다른 유형의 클러스터링 알고리즘에 대한 개요를 읽는 데 도움이 될 수 있습니다. 다음과 같은 장소가 시작될 수 있습니다.

  • Berkhin, P. "클러스터링 데이터 마이닝 기법의 조사"( pdf )

# 4와 혼동됩니다. 가우스 혼합 모델을 데이터에 맞추면 가우스 수를 선택해야합니다. 즉, 클러스터 수를 미리 지정해야합니다. 그렇다면 왜 "주로 만"# 1에 이것을 요구한다고 말합니까?
amoeba는

@amoeba, 모델 기반 방법 및 구현 방법에 따라 다릅니다. GMM은 종종 일부 기준을 최소화하는 데 적합합니다 (예 : OLS 회귀는 여기 참조 ). 그렇다면 클러스터 수를 미리 지정하지 마십시오. 다른 구현에 따라 수행하더라도 모델 기반 메소드의 일반적인 기능은 아닙니다.
gung-복직 모니카

케이=케이

나는 여기서 당신의 주장을 따르지 않습니다, @amoeba. OLS 알고리즘이있는 단순 회귀 모델에 적합 할 때 기울기 및 절편을 사전 지정하거나 알고리즘이 기준을 최적화하여 모델을 지정한다고 가정합니까? 후자라면 다른 점이 보이지 않습니다. 사전 지정 k가없는 파티션을 찾기위한 단계 중 하나로서 k- 평균을 사용하는 새로운 메타 알고리즘을 작성할 수 있지만 메타-알고리즘은 k- 평균이 아닙니다.
gung-Monica Monica 복원

1
@amoeba, 이것은 의미론적인 문제인 것처럼 보이지만 GMM에 맞는 표준 알고리즘은 일반적으로 기준을 최적화합니다. 예를 들어, Mclust사용은 BIC를 최적화하도록 설계되었지만 AIC를 사용하거나 일련의 우도 비 검정을 사용할 수 있습니다. 메타 알고리즘이라고 부를 수 있고 b / c 구성 단계 (예 : EM)가 있지만 이것이 사용하는 알고리즘이며 k를 미리 지정하지 않아도됩니다. 링크 된 예제에서 k를 미리 지정하지 않았다는 것을 분명히 알 수 있습니다.
gung-Monica Monica 복원

13

가장 간단한 예는 계층 적 군집화입니다 . 여기서 거리 측정 값을 사용하여 각 점을 서로 점과 비교 한 다음 가장 작은 거리를 가진 쌍을 결합하여 결합 된 의사 점을 만듭니다 (예 : bc 는 이미지에서와 같이 bc 를 만듭니다) 이하). 다음으로 각 점이 그래프와 결합 될 때까지 쌍과 거리를 기준으로 점과 의사 점을 결합하여 절차를 반복합니다.

위키 백과 일러스트

(출처 : https://en.wikipedia.org/wiki/Hierarchical_clustering )

절차는 비모수 적이며 필요한 것은 거리 측정뿐입니다. 결국 이 절차를 사용하여 작성된 트리 그래프 를 제거 하는 방법을 결정해야 하므로 예상되는 클러스터 수에 대한 결정이 필요합니다.


프룬은 어떻게 든 클러스터 번호를 결정한다는 의미입니까?
Learn_and_Share

1
@MedNait 그게 내가 말한 것입니다. 군집 분석에서는 항상 그러한 결정을 내려야합니다. 단 하나의 문제는 그것이 어떻게 만들어 지는가입니다. 예를 들어, 임의적이거나 가능성 기반 모델 적합 등과 같은 합리적인 기준에 기초 할 수 있습니다.
Tim

1
@MedNait, 당신이 정확히 무엇인지에 달려 있습니다. 계층 적 군집화에서는 k- 평균 방식과 같이 군집 수 를 미리 지정 하지 않아도 되지만 출력에서 ​​여러 군집을 선택합니다. 반면에 DBSCAN은 어느 것도 필요하지 않습니다 (그러나 기본값은 있지만 '이웃'에 대한 최소 포인트 수 지정이 필요합니다. . GMM은이를 필요로하지 않지만 데이터 생성 프로세스에 대한 파라 메트릭 가정을 요구합니다. 기타
gung-Monica Monica 복원

10

매개 변수가 좋습니다!

"매개 변수가없는"방법은 사용자 지정 가능성 없이 단일 샷 (임의의 경우 제외) 만 얻을 수 있음을 의미합니다 .

이제 클러스터링은 탐색 적 기술입니다. 단일 "true"클러스터링이 있다고 가정해서는 안됩니다 . 그에 대해 더 배우려면 동일한 데이터의 다른 클러스터링을 탐색하는 데 관심이 있어야 합니다. 클러스터링을 블랙 박스로 취급하는 것은 결코 효과가 없습니다.

예를 들어, 데이터에 따라 사용되는 거리 기능 을 사용자 정의 할 수 있기를 원합니다 (이것은 매개 변수이기도합니다). 결과가 너무 거칠면 더 나은 결과를 얻을 수 있고 싶을 때 더 거친 버전을 얻으십시오.

가장 좋은 방법은 계층 적 클러스터링의 덴드로 그램과 같이 결과를 잘 탐색 할 수있는 방법입니다. 그런 다음 하위 구조를 쉽게 탐색 할 수 있습니다.


0

Dirichlet 혼합물 모델을 확인하십시오 . 미리 클러스터 수를 모르는 경우 데이터를 이해하는 좋은 방법을 제공합니다. 그러나 데이터가 위반 될 수있는 군집 모양에 대해 가정합니다.

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