클러스터링 결과 비교 이해


13

데이터를 그룹으로 분류하는 실험을하고 있습니다. 나는이 주제를 처음 접했고 일부 분석 결과를 이해하려고 노력했다.

Quick-R의 예제를 사용하여 여러 R패키지가 제안됩니다. 이 패키지 중 두 가지 ( 함수 및 )를 fpc사용해 보았습니다 . 내가 이해하지 못하는이 분석의 한 측면은 결과를 비교하는 것입니다.kmeansmclust

# comparing 2 cluster solutions
library(fpc)
cluster.stats(d, fit1$cluster, fit2$cluster)

fpc 설명서 의 관련 부분을 읽었으며 목표로해야 할 내용이 아직 명확하지 않습니다. 예를 들어, 이것은 두 가지 다른 클러스터링 방식을 비교 한 결과입니다.

$n
[1] 521

$cluster.number
[1] 4

$cluster.size
[1] 250 119  78  74

$diameter
[1]  5.278162  9.773658 16.460074  7.328020

$average.distance
[1] 1.632656 2.106422 3.461598 2.622574

$median.distance
[1] 1.562625 1.788113 2.763217 2.463826

$separation
[1] 0.2797048 0.3754188 0.2797048 0.3557264

$average.toother
[1] 3.442575 3.929158 4.068230 4.425910

$separation.matrix
          [,1]      [,2]      [,3]      [,4]
[1,] 0.0000000 0.3754188 0.2797048 0.3557264
[2,] 0.3754188 0.0000000 0.6299734 2.9020383
[3,] 0.2797048 0.6299734 0.0000000 0.6803704
[4,] 0.3557264 2.9020383 0.6803704 0.0000000

$average.between
[1] 3.865142

$average.within
[1] 1.894740

$n.between
[1] 91610

$n.within
[1] 43850

$within.cluster.ss
[1] 1785.935

$clus.avg.silwidths
         1          2          3          4 
0.42072895 0.31672350 0.01810699 0.23728253 

$avg.silwidth
[1] 0.3106403

$g2
NULL

$g3
NULL

$pearsongamma
[1] 0.4869491

$dunn
[1] 0.01699292

$entropy
[1] 1.251134

$wb.ratio
[1] 0.4902123

$ch
[1] 178.9074

$corrected.rand
[1] 0.2046704

$vi
[1] 1.56189

여기서 가장 중요한 질문은이 군집 비교 결과를 해석하는 방법을 더 잘 이해하는 것입니다.


이전에는 데이터 스케일링과 거리 매트릭스 계산의 효과에 대해 더 많이 물었습니다. 그러나 그것은 mariana soffer에 의해 명확하게 대답되었으며, 나는 두 가지 다른 클러스터링 알고리즘의 비교 인 내 출력의 해석에 관심이 있다는 것을 강조하기 위해 내 질문을 재구성하고 있습니다.

질문의 이전 부분 : 클러스터링을 수행하는 경우 항상 데이터를 확장해야합니까? 예를 들어, dist()스케일 된 데이터 세트의 cluster.stats()함수를 함수의 입력으로 사용하고 있지만 진행 상황을 완전히 이해하지 못합니다. 나는 dist() 여기 에 대해 읽었으며 다음 과 같이 말합니다.

이 함수는 지정된 거리 측정 값을 사용하여 계산 된 거리 행렬을 계산하고 반환하여 데이터 행렬의 행 사이의 거리를 계산합니다.


더 자세한 설명을 원하십니까 또는 @mariana 님의 답변이 마음에 들지 않습니까? 나는 그것이 당신의 첫 번째 질문 (2 §)과 관련이 있다고 생각합니다. 이 경우 사람들이이 질문에 현상금을 설정 한 이유를 사람들이 이해할 수 있도록 질문을 업데이트해야합니다.
chl

@chl 명확하게하기 위해 업데이트합니다. 출력의 의미를 이해하지 못하기 때문에 클러스터링 비교 해석에 대한 지침을 찾고 있습니다. @mariana의 답변은이 방법과 관련된 용어를 설명하는 데 큰 도움이되었습니다.
celenius

답변:


13

먼저 여기에 모든 측정 방법을 정확하게 설명하지는 않겠다고 말하지만 클러스터링 방법의 우수성을 비교하는 방법에 대한 아이디어를 제공 할 것입니다 (2 개의 클러스터링 방법을 동일한 수로 비교한다고 가정하겠습니다). 군집).

  1. 예를 들어, 클러스터의 지름이 클수록 클러스터링이 최악입니다. 클러스터에 속하는 포인트가 더 흩어져 있기 때문입니다.
  2. 각 군집의 평균 거리가 높을수록 군집 방법이 최악입니다. (평균 거리는 클러스터의 각 점에서 클러스터 중심까지의 거리의 평균이라고 가정합니다.)

가장 많이 사용되는 두 가지 지표입니다. 다음 링크를 확인하여 이들이 무엇을 의미하는지 이해하십시오.

  • 클러스터 간 거리 (높을수록 클수록 다른 군집 중심 간 거리의 요약)
  • 클러스터 내 거리 합니다 (더 낮출 수는 클러스터의 중심으로 클러스터 구성원 사이의 거리의 summatory입니다)

위의 측정 항목을 더 잘 이해하려면이 항목을 확인 하십시오 .

그런 다음 각 설명서를 나타내는 측정 값을 이해하기 위해 사용하는 라이브러리 및 기능 설명서를 읽어야합니다. 그렇지 않은 경우 포함 된 의미를 찾아보십시오. 그러나, 나는 여기에 언급 한 것을 귀찮게하지 않을 것입니다.

당신이 한 질문들을 계속 진행해 봅시다 :

  1. 스케일링 데이터 관련 : 예. 항상 클러스터링을 위해 데이터를 스케일링해야합니다. 클러스터링이 수행되는 방식에 있지만 실제로는 이상한 영향을 미치지 않는 한 모두 동일한 영향을 미칩니다.
  2. 거리 함수는 한 점 (인스턴스)에서 다른 점까지의 모든 거리를 계산합니다. 가장 일반적인 거리 측정은 유클리드입니다. 예를 들어 인스턴스 1에서 인스턴스 2까지의 거리를 측정한다고 가정합니다 (간단 성을 위해 인스턴스가 2 개만 있다고 가정합니다). 또한 각 인스턴스의 3 개 값을 가지는 것으로 가정 할 수 (x1, x2, x3)있으므로 I1=0.3, 0.2, 0.5I2=0.3, 0.3, 0.4: I1과 I2의 유클리드 거리 있도록 것 sqrt((0.3-0.2)^2+(0.2-0.3)^2+(0.5-0.4)^2)=0.17, 따라서 거리 매트릭스가 될 것이다 :

        i1    i2
    i1  0     0.17
    i2  0.17  0

거리 행렬은 항상 대칭입니다.

유클리드 거리 공식은 유일한 것이 아닙니다. 이 행렬을 계산하는 데 사용할 수있는 다른 거리가 많이 있습니다. Wikipedia Manhattain Distance의 예 와 계산 방법을 확인하십시오 . 유클리드 거리 (공식도 확인할 수 있음) 의 Wikipedia 페이지 끝에서 다른 거리가 있는지 확인할 수 있습니다.


매우 포괄적 인 답변에 감사드립니다. 매우 도움이됩니다.
celenius

나는 그것이 당신에게 도움이 된 것을 정말로 기쁘게 생각합니다.
mariana soffer

@marianasoffer는 Stanford 페이지 링크가 작동하지 않습니다. 업데이트하거나 액세스 가능하게 만드십시오. 감사합니다
Herman Toothrot

7

레이블링 및 레이블이 지정되지 않은 데이터학습 하는 Seeger에서 제공 한 클러스터링에 대한 최상의 품질 측정은 클러스터 가정이라고 생각합니다 .

예를 들어, X = Rd이고 "클러스터 가정"의 유효성, 즉 두 점 x, x가 상대적으로 높은 P (x ).

그렇습니다. 이것은 중심과 중심에 대한 전체 아이디어를 가져옵니다. 결국 데이터가 실제로 작동하는 공간의 비선형 하위 매니 폴드 내에있을 수 있다는 사실에 대해 생각한다면 이것은 다소 임의의 개념입니다.

혼합 모델이 분해되는 합성 데이터 세트를 쉽게 구성 할 수 있습니다. 예를 들면 다음과 같습니다 구름 안의 원..

간단히 말해 : 클러스터링 알고리즘의 품질을 최소로 측정합니다. 가장 좋은 클러스터링 알고리즘은 동일한 클러스터의 가장 가까운 이웃까지의 포인트의 최대 거리를 최소화하는 반면 다른 클러스터에서 가장 가까운 이웃까지의 포인트의 최소 거리를 최대화하는 알고리즘입니다.

비모수 정보 이론적 클러스터링 알고리즘에 관심이있을 수도 있습니다 .


minimax 접근 방식을 사용하여 군집 적합을 조사하는 방법은 무엇입니까? 내 지식 수준의 클러스터링은 매우 기본적이므로 현재 두 가지 다른 클러스터링 방법을 비교하는 방법을 이해하려고합니다.
celenius 2019

첨부 된 그림의 R 코드를 공유해 주시겠습니까?
Andrej

@Andrej 내 추측은 가우스 구름 ( x<-rnorm(N);rnorm(N)->y)이 r로 3 부분으로 나뉩니다 (그중 하나가 제거됨).

나는 그 품질 측정에 맞는 실용적인 알고리즘을 모른다. K-Means et al. 그러나 위의 측정 값이 분석되면보고있는 데이터가 해당 알고리즘에 적합하지 않다는 것을 알 수 있습니다.
bayerj

@Andrej 나는 R (통계 대신 ML에서 나온 것)을 사용하지 않지만 mbq가 제안하는 것은 괜찮아 보입니다.
bayerj 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.