2016-07-12 1 views
0

Python의 k-means는 알고리즘의 최적 출력을 관성으로 찾기 위해 주어진 반복 횟수 (n_init)를 수행합니다. 나는 k-means가 어떻게 작동하는지 알고 있지만 나의 질문은 : 최상의 출력을 어떻게 측정할까요? 수렴까지 필요한 반복 횟수? 관성 항의 의미는 무엇입니까? 알고리즘을 k는-의미python의 scikit은 k-means의 'best output'을 어떻게 측정합니까

답변

0

The documentation statesn_init 시간을 실행 한 다음 결과는 최소 관성 하나를 반환 얻을 수있다 :

n_init : int, 기본 : 시간의 10

수 k-means 알고리즘은 다른 센트 로이드 시드로 실행됩니다. 최종 결과는 n_init 연속적인 관성으로 최대 출력이됩니다.

관성 this documentation page 정의 단순히 클러스터 내에 제곱합, 즉 그것이 하나 세운 중 더 컴팩트 클러스터가 반환 수단 계산하는 수단이다.

은 특별히 상태 :

K 용 수단 알고리즘은 평균 μ J 클러스터 샘플 설명 K 이산 클러스터 C 각각에 N 샘플 X들의 세트를 나눈다. 수단은 일반적으로 클러스터라고 부른다 centroid []; 그들은 같은 공간에 살고 있지만 일반적으로 X을 가리 키지는 않습니다. 가 인식 할 수

i=0 to n minμj ∈ C(||xj - μi||2)

관성, 또는 사각형 기준의 내 클러스터 합계 : 알고리즘은 제곱 기준을 관성을 최소화, 또는 의 내 클러스터 합 무게 중심을 선택 목표로 K는-의미 내부적으로 일관된 클러스터의 척도로서 그것은 여러 가지 단점에서 겪고있다는 :

  • 관성 항상 그런 것은 아닙니다 클러스터가 볼록하고 등방성 가정을합니다. 길쭉한 클러스터 나 불규칙한 모양의 매니 폴드에는 제대로 반응하지 않습니다.
  • 관성은 표준화 된 측정 기준이 아닙니다. 낮은 값이 더 좋고 0이 최적이라는 것을 알고 있습니다. 그러나 매우 고차원 공간에서는 유클리드 거리가 팽창하는 경향이 있습니다 (이것은 "차원의 저주"인 의 인스턴스입니다). k- 평균 클러스터링에 앞서 PCA와 같은 차원 알고리즘 을 실행하면 이 계산을 가속화 할 수 있습니다.
+0

정말 고마워요! 한 가지 추가 질문 : "일반적으로 X에서 오는 점이 아니라는 점에 유의하십시오."이것은 중심과 샘플 X가 동등하지 않다는 것을 의미합니다. –

+0

@ JoaoM 예, 일반적으로 yuor 데이터 포인트를 샘플링하면 중심을 찾을 수 없습니다. – Bakuriu