K- 평균 군집화를 초기화하는 방법


11

K- 평균의 초기 종자 (클러스터 센터)를 선택하는 현재의 최신 기술에 관심이 있습니다.

인터넷 검색은 두 가지 인기있는 선택으로 이어집니다.

  1. 초기 종자의 무작위 선택 및
  2. KMeans ++ 선택 기법 사용 : Arthur & Vassilvitskii 2006 k-means ++ :주의 깊은 시딩의 장점

여기에 아무도 모르는 다른 유망한 방법이 있습니까?

답변:


12

간단하게하기 위해, 멀리 가지 않고, 저를 허용 옵션의 목록을 복사 - 붙여 넣기 내 자신의 함수에서 !kmini(SPSS를위한 매크로), 수집 "클러스터링"에서 발견 여기에 .

초기 클러스터 센터를 작성하거나 선택하는 방법. 고르다:

  • 무작위 서브 샘플의 RGC 중심 . 데이터는 무작위로 분할된다 의해 k회원, 그룹으로, 겹치지 않는,이 그룹의 무게 중심은 초기 센터로 임명된다. 따라서 기존 데이터 세트 사례에서 선택하지 않고 중심이 계산됩니다. 이 방법은 서로 가깝고 데이터의 일반 중심에 가까운 중심을 산출합니다.
  • RP 무작위로 선택된 포인트 . k데이터의 개별 사례는 초기 중심으로 무작위로 선택됩니다.
  • RUNFP- 가장 먼 지점 (선택 실행). 첫 번째 k사례는 중심으로 취한 다음 나머지 데이터 세트 사례를 통해 실행하는 동안 센터 간 교체가 점진적으로 수행됩니다. 대체의 목적은 k가변 공간에서 서로 가장 먼 엔드 포인트 를 얻는 것입니다 . 데이터 클라우드에서 주변 위치를 차지하는 이러한 포인트 (케이스)는 생성 된 초기 센터입니다. (이 방법은 SPSS k- 평균 절차에서 기본값으로 사용됩니다 QUICK CLUSTER. SPSS 알고리즘의 세부 사항을 참조하십시오. 여기 에서도 설명 됨 ).
  • SIMFP- 가장 먼 지점 (간단한 선택). 첫 번째 중심은 데이터 세트에서 임의의 경우로 선택됩니다. 해당 센터에서 최대한 멀리 떨어진 경우로 두 번째 센터가 선택됩니다. 세 번째 센터는 그 두 개 (가장 가까운 두 개)에서 최대한 멀리 떨어져있는 경우로 선택됩니다.
  • KMPP- 가장 먼 지점 또는 k- 평균 ++. 첫 번째 중심은 데이터 세트에서 임의의 경우로 선택됩니다. 두 번째 중심도 무작위로 선택되지만 사례를 선택할 확률은 해당 첫 번째 중심까지의 거리 (제곱 유클리드)에 비례합니다. 세 번째 센터는 사례의 거리와 두 센터 중 가장 가까운 거리에 비례하는 선택 확률로 무작위로 선택됩니다. (Arthur, D., Vassilvitskii, S .. K-means ++ : 신중한 파종의 장점 // 이산 알고리즘에 관한 제 18 회 연례 ACM-SIAM 심포지엄 진행. 2007., 1027–1035.)
  • GREP 그룹 대표 포인트 . 방법 아이디어 – 센터로 수집k가장 대표적인“대리인”사례. 첫 번째 센터는 일반 데이터 cenroid에 가장 가까운 경우로 간주됩니다. 그런 다음 나머지 중심은 각 점이 후자의 각 점보다 점 세트에 더 가까운 지 (및 제곱 유클리드 거리로 얼마나 많은지) 여부와 관련하여 데이터 점에서 선택됩니다. 기존 센터 중 하나에 있습니다. 즉, 각 포인트는 이미 수집 된 센터에 의해 아직 충분히 표현되지 않은 포인트 그룹을 나타내는 후보로 시험됩니다. 이 점에서 가장 대표적인 점이 다음 중심으로 선택됩니다. (Kaufman, L. Rousseeuw, PJ 데이터에서 그룹 찾기 : 군집 분석 소개, 1990. 참조 : Pena, JM et al. K- 평균 알고리즘에 대한 4 가지 초기화 방법에 대한 실험적 비교 // 패턴 인식 Lett. 1999 년 20 (10),
  • [매크로에서 아직 구현하지 않은 멋진 방법 k도 있습니다. 임의의 균일하지만 "임의의 임의보다 작음"인 임의의 지점과 탐욕 사이의 지점 을 생성합니다 . 그 방법에 대한 잠재적 이론적 근거 참조 ]
  • 또 다른 방법은 Ward의 방법으로 계층 적 클러스터링을 수행하는 것입니다. 샘플이 너무 큰 경우 객체의 서브 샘플에서이를 수행 할 수 있습니다. 그런 다음 k그것에 의해 생성 된 클러스터의 수단은 k- 평균 절차의 초기 시드입니다. Ward는 k- 평균과 공통 대상 목표를 공유 하므로 다른 계층 적 클러스터링 방법보다 선호 됩니다.

방법 RGC, RP, SIMFP, KMPP는 난수에 따라 달라지며 결과가 실행마다 변경 될 수 있습니다.

방법 RUNFP는 데이터 세트의 대소 문자 구분에 민감 할 수 있습니다. 그러나 방법 GREP는 (데이터에 동일한 경우, 관계가 많은 경우를 제외하고)는 아닙니다. 방법 GREP는 데이터의 사례 수 ( ), 특히 경우에 비해 많은 k경우 모든 센터 를 수집하지 못할 수 있습니다 . [매크로는 데이터가 해당 방법으로 센터 를 수집 할 수 없는지 알려줍니다 ]. 방법 GREP는 가장 느린 방법으로, 모든 경우 사이의 거리 매트릭스를 구현합니다. 따라서 수만 또는 수백만 건의 경우에는 적합하지 않습니다. 그러나 데이터의 임의 서브 샘플에서 수행 할 수 있습니다.knk>n/2k

나는 지금까지 어떤 방법이 더 낫고 어떤 상황에 있는지에 대해 논의하고 있지 않다. 나의 매우 예비 적이고 피상적 인 인상은 GREP이 특히 가치가 있지만 (비싸다), 정말로 저렴한 방법을 여전히 경쟁력이 있기를 원한다면 무작위 k 포인트 인 RP가 괜찮은 선택이라는 것입니다.



K-Means를 초기화하는 결정적이지만 효과적인 방법과 같은 것에 대한 귀하의 답변을 드리겠습니다.
Royi

@Royi, 질문이 있으시면 왜 질문을 게시하지 않습니까?
ttnphns

공유 할 방법이 많이 있습니까? "Find Farthest Samples"트릭을 거의 만들지 않았지만 질문을 할 가치가있는 좋은 방법이 있습니까?
Royi

합당하다고 생각되는 것이 있으면 질문으로 질문 할만한 것이 있으면 질문 형식으로 공유하십시오.
ttnphns

5

지난 20 년 전에 인정 된이 논문에 대한 포괄적 인 문헌 검토를 마지막으로했을 때 두 가지 주요 권장 사항은 다음과 같습니다.

  1. Ward의 방법 (표준 계층 클러스터 분석 알고리즘)을 사용하여 초기 중심을 찾습니다.
  2. 무작위 시작을 사용하십시오.

빅 데이터 응용 프로그램에서 Ward의 방법은 하위 샘플에 적용 할 수 있지만 제대로 작동하지 않습니다.

나는 출판물을 다루지 않은 시뮬레이션을했는데 그 사실을 발견했다.

  • 100 랜덤 시작은 지속적으로 와드의 방법을 능가합니다.
  • 시작 지점을 찾기위한 기본 SPSS 알고리즘은 100 임의 startpoints을 상회.
  • 무작위로 시작하는 시점이 1,000 개인 경우, 무작위 화가 일관되게 최선의 방법이었습니다.

SPSS 알고리즘이 놀랍도록 훌륭하지만, 리소스가 있으면 1000 개 이상의 임의의 시작 지점을 사용하는 것이 좋습니다.


시뮬레이션에서 고차원 데이터의 동작에 변화가 있음을 발견 했습니까?
Arin Chaudhuri

내가 기억할 수있는 것은 아닙니다. 그러나 내 시뮬레이션은 내가 생각하는 약 20 개 이상의 변수를 사용하지 않았을 것입니다. 그러나 차원이 높을수록 임의의 다른 시작에 필요한 임의의 시작 수가 더 많아집니다.
Tim

참고 : 기본 SPSS 알고리즘 (귀하의 링크가 끊어졌을 때)은 내가 대답에서 RUNFP로 명명 한 것입니다.
ttnphns

4

ttnphns 명명법을 사용하여 다음에서 RGC, RP 및 KMPP를 테스트했습니다.

  • 2D / 3D 포인트
  • 텍스트 문서에서 단어의 가방
  • L2

결과 센터가 서로 매우 가깝기 때문에 RGC를 권장하지 않습니다. 많은 점의 평균이 전역 평균 (큰 수의 법칙)에 가깝습니다. 이로 인해 수렴 속도가 크게 느려질 수 있습니다. 클러스터가 개별화되기까지 다소 시간이 걸립니다.

RP는 일반적으로 좋고 첫 번째 쉬운 선택으로 다시 명령합니다.

KMPP는 매우 대중적이며 작은 차원에서 매우 잘 작동합니다. RP에 비해 로컬 최소값으로 끝날 확률을 줄이는 경향이 있습니다.

그러나 큰 데이터 세트 (큰 차원의 텍스트 문서에서 단어가 담긴 1M 포인트)를 작업 할 때 RP는 KMPP보다 약간 더 적은 반복으로 끝났다는 점에서 약간 성능이 뛰어났습니다. 나는 이것에 놀랐다. 큰 데이터 집합 / 높은 차원에서는 전역 최소값으로 수렴 할 수 없으며 품질을 "로컬 최소값이 얼마나 좋은지"= "최소 SOD가 얼마나 작은 지"로 측정합니다. 두 방법 모두 동일한 품질을 가졌습니다.

복제본을 사용하여 품질을 향상 시키려면 무작위 방법을 사용하는 것이 중요합니다.


감사. 큰 차원의 데이터를 다루므로 매우 유용합니다.
Arin Chaudhuri
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.