클러스터링 방법 선택


73

유사한 사례를 그룹화하기 위해 데이터 세트에서 군집 분석을 사용하는 경우 다수의 군집 방법과 거리 측정 중에서 선택해야합니다. 때로는 하나의 선택이 다른 선택에 영향을 줄 수 있지만 여러 가지 가능한 방법 조합이 있습니다.

누구나 다양한 클러스터링 알고리즘 / 방법거리 측정 방법 중에서 선택하는 방법에 대한 권장 사항이 있습니까? 변수의 특성 (예 : 범주 형 또는 숫자 형) 및 군집 문제와 어떻게 관련이 있습니까? 최적의 기술이 있습니까?


1
클러스터하려는 대상에 대한보다 구체적인 설명을 제공 할 수 있습니까? 아니면 필요한 클러스터링의 최첨단 기술입니까?
Robin girard

2
즉각적인 신청이 없습니다. 클러스터링 방법과 유사성 측정 방법을 선택하는 일반적인 방법에 관심이 있습니다.
Brett

비슷한 질문 도 확인하십시오 .
ttnphns 2016 년

그리고 일부 경고는 특히 계층 적 클러스터링 방법을 사용합니다.
ttnphns 2016 년

답변:


43

동일한 방법 내에서도 개인 (비 유사성)을 나타내는 거리를 선택하면 계층 적 군집화에서 유클리드 대 제곱 유클리드를 사용하는 경우와 다른 결과를 얻을 수 있으므로 질문에 대한 명확한 답은 없습니다. 다른 예로, 이진 데이터의 경우 유사성의 척도로 Jaccard 인덱스를 선택하고 기존 계층 적 클러스터링을 진행할 수 있습니다. 그러나 Mona ( 단일 분석) 과 같은 다른 접근법이 있습니다.) 알고리즘은 한 번에 하나의 변수 만 고려하는 반면 다른 계층 적 접근 방식 (예 : 클래식 HC, Agnes, Diana)은 각 단계에서 모든 변수를 사용합니다. k-mean 접근법은 중심이 아닌 메도 이드 (PAM) 주위의 파티셔닝 또는 중심이 아닌 대표적인 객체 (Kaufman and Rousseuw, 1990) 또는 퍼지 클러스터링 (Chung and Lee, 1992)을 포함하여 다양한 방식으로 확장되었습니다. 예를 들어, k- 평균과 PAM의 주요 차이점은 PAM이 제곱 유클리드 거리의 합보다 불일치의 합을 최소화한다는 것입니다. 퍼지 클러스터링은 "부분 멤버쉽"을 고려할 수 있습니다 (우리는 각 관측치에 클래스 멤버쉽을 반영하는 가중치를 연관시킵니다). 확률 적 프레임 워크 또는 소위 모델 기반 클러스터링 (또는 잠재 프로파일 분석)에 의존하는 방법심리학자를 위해), Mclust 라는 훌륭한 패키지가 있습니다. 따라서 결정적으로 개인의 유사성을 정의하는 방법과 개인을 서로 연결하는 방법 (재귀 적 또는 반복적 클러스터링, 엄격하거나 모호한 클래스 멤버십, 감독되지 않은 또는 반 감독 된 접근 방법 등)을 고려해야합니다.

일반적으로 군집 안정성을 평가하기 위해 기본적으로 일부 유사성을 공유하는 여러 알고리즘 (예 : 유클리드 거리가 둘 다 작동하기 때문에 k- 평균 및 계층 적 군집)을 비교하는 것이 흥미 롭습니다. 두 클러스터 솔루션 간의 일치 성을 평가하기 위해이 질문에 대한 응답으로 덴드로 그램을 어디에서 잘라야합니까? (이 웹 사이트의 다른 링크에 대한 상호 참조도 참조하십시오). R을 사용하는 경우 클러스터 분석의 작업보기에서 여러 패키지를 이미 사용할 수 있으며 일부 패키지에는 특정 방법을 설명하거나 사례 연구를 제공하는 비 네트가 포함되어 있습니다.

군집 분석 : 기본 개념 및 알고리즘 은 군집 분석에 사용되는 여러 기술에 대한 개요를 제공합니다. R 삽화가있는 최근의 좋은 책은 현대 다변량 통계 기법 Izenman의 12 장을 추천합니다 (Springer, 2008). 다른 몇 가지 표준 참조는 다음과 같습니다.

  • Cormack, R., 1971 년. 분류의 검토. 왕립 통계 학회지, A 134, 321-367.
  • Everitt, B., 1974. 클러스터 분석 . 런던 : Heinemann Educ. 서적.
  • Gordon, A., 1987 년. 계층 적 분류에 대한 검토. 왕립 통계 학회지, A 150, 119–137.
  • Gordon, A., 1999. 분류 , 2 판. 채프먼과 홀.
  • Kaufman, L., Rousseuw, P., 1990. 데이터에서 그룹 찾기 : 군집 분석 소개 . 뉴욕, 와일리

30

Hastie, Tibshirani 및 Friedman의 인용, 통계 학습의 요소 , p. 506 :

"클러스터링 알고리즘을 선택하는 것보다 클러스터링을 성공적으로 수행하려면 적절한 비 유사성 측정이 훨씬 중요합니다. 문제의 이러한 측면은 도메인 별 지식에 따라 다르며 일반적인 연구에는 적합하지 않습니다."

(즉, 학생들이 몇 가지 작은 표준 데이터 세트에서 몇 가지 알고리즘과 메트릭을 시도 할 수있는 사이트가 있다면 좋을 것 같지 않습니까?)


고마워요; "웹에서 예제를 실행할 수 있습니다"에 대한 태그를 제안 할 수 있습니까?
데니스

질문에 태그를 다시 지정하거나 (온라인 벤치마킹 도구 인 IMO 이후에는 OP가 아니었기 때문에 좋은 생각이 아니라고 생각합니다) 또는 새로운 질문이 있습니까? 어쨌든, 나는 현재 좋은 태그에 대해 전혀 모른다. 메타에 물어봐?
chl

1
이 인용문은 오해의 소지가있을 수 있습니다 . wikipedia 의 (확실히 고안된) 예제 에는 적용되지 않습니다 . 두 번째 데이터 세트의 강력한 비선형 클러스터로 인해 연계 및 밀도 클러스터링 알고리즘은 모든 중심 기반 방법보다 훨씬 우수합니다. 중심 클러스터링 체계가 더 잘 작동 할 유사성 측정법은 없습니다. 이 인용문은 군집이 대략 선형이라고 가정하는 경우에만 적용됩니다 (때로는 안전한 가정). 가능하면 먼저 데이터를 육안으로 검사하는 것이 좋습니다.
naught101

확인 @ naught101은 - 시각적으로 데이터를 검사 하기 위해 참조 유사성이 가장 중요하다 / 유사성을하지만, 쉽게는 말처럼
데니스

이 인용문은 어느 판에서 온 것입니까? 인용문을 줄 수 있습니까
MonsterMMORPG

12

어떤 클러스터링 알고리즘이 더 좋은지 미리 알 수는 없지만 몇 가지 실마리가 있습니다. 이미지를위한 (GGCI) 글로벌 기하학적 클러스터링.

어쨌든 이것이 최상의 결과를 보장하지는 않으므로 weka, RapidMiner 또는 R (시각적이지 않은)과 같은 다른 클러스터 알고리즘을 체계적으로 실행할 수있는 프로그램을 사용하면됩니다. 가능한 모든 거리로 가능한 모든 클러스터링 알고리즘을 시작하고 매개 변수가 필요한 경우 다양한 매개 변수 값으로 각 실험을 수행하십시오 (클러스터의 양을 모르는 경우 이외에도 다양한 클러스터링 알고리즘을 실행하십시오) 그것의 수의). 실험을 완료 한 후에는 실험을 계속 실행하되 각 클러스터링 실행 결과를 어딘가에 저장해야합니다.

그런 다음 최상의 결과 클러스터링을 얻기 위해 결과를 비교하십시오. 비교할 수있는 몇 가지 메트릭이 있으며 모든 알고리즘이 모든 알고리즘을 제공하지는 않기 때문에 까다로운 작업입니다. 예를 들어 퍼지 클러스터링 알고리즘은 퍼지가 아닌 퍼지와 다른 메트릭스를 갖지만 퍼지 결과 그룹을 퍼지가 아닌 퍼지로 간주하여 비교할 수 있습니다. 다음과 같은 클래식 메트릭과 비교할 것입니다.

• SSE : 각 군집 항목의 제곱 오차 합계입니다.

• 군집 거리 : 각 군집 중심 사이의 제곱 거리의 합.

• 각 군집에 대한 군집 거리 : 각 군집 항목에서 중심까지의 제곱 거리의 합.

• Maximum Radius (최대 반경) : 인스턴스에서 클러스터 중심까지의 최대 거리.

• 평균 반지름 : 인스턴스에서 클러스터 중심까지의 최대 거리를 클러스터 수로 나눈 값의 합계입니다.


4

올바른 거리를 선택하는 것은 기본적인 작업이 아닙니다. 데이터 세트에 대한 군집 분석을 수행하려는 경우 다른 거리를 사용하여 다른 결과가 나타날 수 있으므로 가변성을 잘 포착하지만 실제로는 그렇지 않은 허위 유물을 만들 수 있으므로 어떤 거리를 선택해야하는지주의하는 것이 중요합니다 우리 문제의 의미.

유클리드 거리가 나는 연속 숫자 변수를 가지고 있고 절대 거리를 반영하고자 할 때 적합하다. 이 거리는 모든 변수를 고려하고 중복성을 제거하지 않으므로, 동일한 것을 설명하는 세 개의 변수가 있으면 (상관 관계가있는 경우)이 효과의 가중치를 3으로 가중시킵니다. 또한,이 거리는 스케일이 변하지 않으므로 일반적으로 거리를 사용하기 위해 미리 스케일을 조정해야합니다.
생태의 예 : 우리는 많은 지역과는 다른 관찰 결과를 얻었으며, 전문가들은 미생물 학적, 물리적, 화학적 요소의 샘플을 채취했습니다. 우리는 생태계에서 패턴을 찾고 싶습니다. 이러한 요소는 상관 관계가 높지만 모든 사람이 관련이 있다는 것을 알고 있으므로 이러한 중복성을 제거하고 싶지 않습니다. 우리는 단위의 영향을 피하기 위해 스케일 된 데이터와 함께 유클리드 거리를 사용합니다.

마할 라 노비스 거리가 나는 연속 숫자 변수를 가지고 있고 절대 거리를 반영하기를 원하지만 우리는 중복을 제거 할 때 적합하다. 변수를 반복하면 반복 효과가 사라집니다.

가족 Hellinger은 , 종 프로필코드 거리는 우리가 변수 간의 차이에 중점을 할 때 프로필을 구별 할 때 적합하다. 이러한 거리는 각각의 관측치의 총량에 의해 가중치를 두는데, 절대 크기는 매우 다르지만, 변수에 의해 가변적 일 때 개체가 더 유사 할 때 거리가 작아지는 방식이다. 조심해! 이 거리는 프로파일 간의 차이를 매우 잘 반영하지만 크기 효과를 잃었습니다. 샘플 크기가 다른 경우 매우 유용 할 수 있습니다. 생태의 예 : 우리는 많은 땅의 동물 군을 연구하고자하며 복족류 (행의 표본 추출 위치와 열의 종 이름)에 대한 데이터 매트릭스를 가지고 있습니다. 이 매트릭스는 일부 지역에는 어떤 종이 ​​있고 다른 지역에는 다른 종이 있기 때문에 많은 영점과 다른 크기를 갖는 것이 특징입니다. 헬 링거 거리를 사용할 수 있습니다.

Bray-Curtis 는 매우 유사하지만 프로파일을 차별화하고 상대적인 크기를 고려할 때 더 적합합니다.


1
계정을 등록 및 / 또는 병합하십시오. 1 2 ( Google 도움말 센터내 계정 섹션 에서이를 수행하는 방법에 대한 정보를 찾을 수 있습니다 ). 그런 다음 답변, 답변 등을 비롯한 기타 혜택을 추적 할 수 있습니다. 여기에 처음 오셨으므로 새로운 사용자를위한 정보가 포함 된 둘러보기 를 이용하십시오.
gung

이미 비슷한 스레드에서 동일한 답변 stats.stackexchange.com/a/253268/3277 을 이미 게시했습니다 . 중복 답변은 공정한 것으로 간주되지 않습니다. 현재를 삭제하는 것이 좋습니다. 그러나 OP의 질문 아래에 의견이나 현재 스레드의 일부 답변으로 다른 답변에 대한 링크를 게시 할 수 있습니다.
ttnphns 2016

2

내가 걱정하는 한, 안전한 선택을 원한다면 스펙트럼 클러스터링 방법은 최근 몇 년 동안 최소한 이미지 클러스터링에서 가장 높은 정확도를 달성했습니다.

거리 측정법의 경우 데이터 구성 방식에 따라 다릅니다. 안전한 선택은 단순한 유클리드 거리이지만 데이터에 매니 폴드가 포함되어있는 경우 커널 방법을 통해 점을 매핑해야합니다.

추신 : 모두 범주가 아닌 숫자 값과 관련이 있습니다. 범주 형 데이터를 클러스터링하는 방법을 잘 모르겠습니다.


2

다음은 질문에 대답하는 데 도움이되는 여러 클러스터링 알고리즘에 대한 요약입니다.

"어떤 클러스터링 기술을 사용해야합니까?"

객관적으로 "올바른"군집 알고리즘 Ref 가 없습니다

클러스터링 알고리즘은 "클러스터 모델"에 따라 분류 할 수 있습니다. 특정 종류의 모델을 위해 설계된 알고리즘은 일반적으로 다른 종류의 모델에서 실패합니다. 예를 들어, k- 평균은 볼록하지 않은 클러스터를 찾을 수없고 원형 클러스터 만 찾을 수 있습니다.

따라서 이러한 "클러스터 모델"을 이해하면 다양한 클러스터링 알고리즘 / 방법 중에서 선택하는 방법을 이해하는 것이 중요합니다. 일반적인 클러스터 모델에는 다음이 포함됩니다.

[1] 연결 모델 : 거리 연결을 기반으로 모델을 작성합니다. 예를 들어 계층 적 클러스터링. 나무 절단 높이에 따라 다른 분할이 필요할 때 사용됩니다. R 함수 : 통계 패키지의 hclust.

[2] 중심 모델 : 단일 평균 벡터로 각 군집을 표시하여 모델을 작성합니다. 선명한 파티셔닝이 필요할 때 사용됩니다 (나중에 설명 된 퍼지 클러스터링과 반대). R 함수 : 통계 패키지의 kmeans.

[3] 분포 모형 : 기대 최대화 알고리즘에 의해 사용되는 다변량 정규 분포와 같은 통계 분포를 기반으로 모형을 작성합니다. 원형 군집을 가정하는 k- 평균과 달리 군집 모양이 임의 일 수있는 경우에 사용됩니다. R 함수 : emcluster 패키지의 emcluster

[4] 밀도 모델 : 데이터 공간에서 밀집된 영역으로 클러스터를 기반으로 모델을 작성합니다. 예를 들어 DBSCAN 및 OPTICS. 원형 클러스터를 가정하는 k- 평균과 달리 군집 모양이 임의 일 수있는 경우에 사용됩니다. 패키지 dbscan의 R 함수 dbscan.

[5] 부분 공간 모델 : 클러스터 멤버와 관련 속성을 기반으로 모델을 빌드합니다. 예를 들어, 바이 클러스터링 (공동 클러스터링 또는 2 모드 클러스터링이라고도 함). 동시 행 및 열 클러스터링이 필요한 경우에 사용됩니다. Biclust 패키지의 R 함수 Biclust.

[6] 그룹 모델 : 그룹화 정보를 기반으로 모델을 작성합니다. 예 : 협업 필터링 (추천 알고리즘). recommenderlab 패키지의 R 기능 추천.

[7] 그래프 기반 모델 : 클릭을 기준으로 모델을 작성합니다. 커뮤니티 구조 탐지 알고리즘은 직접 또는 무향 그래프에서 밀집된 하위 그래프를 찾으려고합니다. 예를 들어 igraph 패키지의 R 함수 cluster_walktrap.

[8] Kohonen 자체 구성 기능 맵 : 신경망을 기반으로 모델을 작성합니다. kohonen 패키지의 R 함수 솜.

[9] 스펙트럼 군집 : 볼록하지 않은 군집 구조를 기반으로 또는 중심의 측도가 전체 군집에 대한 적절한 설명이 아닌 경우 모델을 만듭니다. kernlab 패키지의 R 함수 스펙.

부분 공간 클러스터링 : 고차원 데이터의 경우 거리 함수가 문제가 될 수 있습니다. 클러스터 모델에는 클러스터에 대한 관련 속성이 포함됩니다. 예를 들어, R 패키지 HDclassif의 hddc 기능.

[11] 시퀀스 클러스터링 : 관련된 그룹 시퀀스. rBlast 패키지.

[12] 선호도 전파 : 데이터 포인트 간 메시지 전달을 기반으로 모델을 작성합니다. 알고리즘을 실행하기 전에 클러스터 수를 결정하지 않아도됩니다. k- 평균 Ref Rpackage APCluster 보다 특정 컴퓨터 비전 및 컴퓨터 생물학 작업 (예 : 사람 얼굴 사진 클러스터링 및 성적 증명서 식별)에 더 좋습니다.

[13] 스트림 클러스터링 : 전화 기록, 금융 거래 등 지속적으로 도착하는 데이터를 기반으로 모델을 작성합니다. 예 : R 패키지 BIRCH [ https://cran.r-project.org/src/contrib/Archive/birch/]

[14] 문서 클러스터링 (또는 텍스트 클러스터링) : SVD를 기반으로 모델을 작성합니다. 주제 추출에 사용되었습니다. 예를 들어 Carrot [ http://search.carrot2.org] 은 문서를 주제별로 분류 할 수있는 오픈 소스 검색 결과 클러스터링 엔진입니다.

잠재 클래스 모델 : 관찰 된 다변량 변수 세트를 잠재 변수 세트와 관련시킵니다. LCA는 협업 필터링에 사용될 수 있습니다. recommenderlab 패키지의 R function Recommender에는 협업 필터링 기능이 있습니다.

Biclustering : 2 모드 데이터의 행과 열을 동시에 클러스터링하는 데 사용됩니다. 예를 들어 패키지 biclust의 R 함수 biclust입니다.

[17] 소프트 클러스터링 (퍼지 클러스터링) : 각 개체는 어느 정도 각 클러스터에 속합니다. 예를 들어 fclust 패키지의 R Fclust 기능.

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