R에서 k- 평균 군집화 결과 해석


12

kmeansAnderson의 홍채 데이터 세트에서 k- 평균 알고리즘을 수행하기 위해 R 의 명령을 사용하고있었습니다 . 내가 얻은 일부 매개 변수에 대한 질문이 있습니다. 결과는 다음과 같습니다.

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

이 경우 "클러스터 의미"는 무엇을 의미합니까? 클러스터 내 모든 객체의 거리의 평균입니까?

또한 마지막 부분에는 다음이 있습니다.

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

88.4 %의 가치, 그 해석이 무엇일까요?


4
제발 하지 않는 크로스 게시물을! stackoverflow.com/q/14524818/429846
개빈 심슨

아니요. 첫 번째 클러스터 (전체 3) 내의 모든 객체의 평균입니다. 당신은 iris.km $ 88 사이에 88.4 %를 얻을 수 있습니다 사이 /iris.km $ totss
dfhgfh

k-means에 대한 기사를 읽으십시오 . 그러면 clsuter가 무엇을 의미하는지 분명해야합니다. K- 평균은 거리에 근거하지 않습니다 . "제곱 편차의 합"이라는 편차를 최소화합니다.
종료-익명-무스

평균이 0이라고 가정하십시오. 수학을 수행하십시오. 위의 가정에 차이가 있는지 확인하십시오. 그 후 행복하게 산다. 이익!
mia

답변:


23

전역 표본 평균에 대한 각 데이터 점의 제곱 거리의 합을 계산하면 얻을 수 total_SS있습니다. 전역 표본 평균 (또는 '중심점')을 계산하는 대신 그룹당 하나를 계산하고 (여기서는 3 개의 그룹이 있음)이 3 개의 평균의 제곱 거리와 전역 평균의 합을 계산하면 얻을 수 between_SS있습니다. (이를 계산할 때 각 평균과 제곱 평균의 거리에 해당하는 평균 데이터 점 수를 곱합니다.)

식별 가능한 클러스터링 패턴이없는 경우 세 그룹의 세 가지 평균은 전체 평균에 가까우며 between_SS극히 일부에 해당 total_SS합니다. 반대의 경우도 마찬가지인데, 이는 종에 따라 데이터 포인트가 4 차원 공간에서 아주 깔끔하게 군집되어 있음을 보여줍니다.


14

K- 평균은 거리 기반 클러스터링 알고리즘아닙니다 .

K- 평균은 최소 제곱합 할당을 검색 합니다 . 즉, total_SS점을 군집 중심에 할당하여 정규화되지 않은 분산 (= )을 최소화 합니다.

k- 평균이 수렴하려면 두 가지 조건이 필요합니다.

  • 포인트를 재 할당하면 제곱합이 줄어 듭니다.
  • 평균을 다시 계산하면 제곱합이 줄어 듭니다.

유한 조합 수가 한정되어 있으므로이 값을 무한정 줄일 수 없으며 알고리즘은 어느 시점에서 로컬 최적으로 수렴해야합니다 .

i(xiμji)2j. 수학적으로 최소 제곱합으로 할당하는 것은 가까운 제곱 유클리드 거리로 할당하는 sqrt것과 같습니다 (이 계산을 위해 CPU 사이클을 낭비하는 경우 )는 최소 유클리드 거리 할당과 같습니다. 따라서 각 점을 가장 가까운 평균에 할당 하는 직관 은 정확하지만 최적화 문제는 수행하지 않습니다.

between_SS 아마도 클러스터 센터가 얼마나 잘 분리되어 있는지 측정하기 위해 두 평균 간의 가중 제곱합 일 것입니다.

k- 평균을 사용하면 k를 늘려 순진 군집 품질을 향상시킬 수 있습니다. 여기에서 측정 된 품질은 수학적 값으로, 사용자 요구 사항과 일치 하지 않을 수 있습니다 . 아이리스는 실제로 좋은 예입니다. k- 평균은 정확히 3 개의 군집이 있어야한다는 외부 정보를 고려하더라도 종종 만족스러운 결과보다 적은 수렴으로 수렴합니다.

당신이 원하는 경우 K-수단의 거리 기반의 변화를 , 볼 K-medoids . 평균을 메도 이드로 대체하여 수렴이 보장됩니다.

  • 각 객체는 가장 가까운 클러스터에 할당됩니다 (임의의 거리 측정으로)
  • 클러스터 센터는 클러스터의 가장 중심 객체로 업데이트됩니다. 즉, 다른 모든 거리와의 평균 거리가 가장 짧습니다.

각 단계에서 거리합이 줄어 듭니다. 한정된 수의 조합이 있으므로 알고리즘은 로컬 최소값으로 종료해야합니다.


재미있는 포인트 +1
Cam.Davidson.Pilon

1
여기에 거리 계산이없는 이유는 무엇입니까 (km)? 분산을 계산하려면 각 요소의 평균까지의 거리를 계산해야하므로 거리 계산이 명확하게 포함되어 있습니까?
Funkwecker

분산은 일반적으로 거리 측면에서 정의되지 않지만 "평균과의 제곱 편차의 예상 값"으로 정의됩니다.
종료-익명-무스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.