10 ^ 10 포인트에 대한 알고리즘과 같은 빠른 k- 평균?


14

10 차원 포인트 집합에서 k- 평균 군집화를 수행하려고합니다. 캐치 : 10 ^ 10 포인트가 있습니다.

나는 가장 큰 클러스터의 중심과 크기만을 찾고 있습니다 (10 ~ 100 개의 클러스터라고합시다). 각 지점이 어떤 클러스터로 끝나는 지 상관하지 않습니다. k- 평균을 사용하는 것은 특별히 중요하지 않습니다. 나는 비슷한 효과를 찾고 있는데, 대략적인 k- 평균 또는 관련 알고리즘이 훌륭 할 것입니다 (minibatch-SGD 평균, ...). GMM은 k- 평균과 같은 문제이므로 동일한 크기의 데이터에 대해 GMM을 수행하는 것도 흥미 롭습니다.

이 스케일에서 데이터를 서브 샘플링해도 결과가 크게 변경되지 않을 수 있습니다. 1/10000 번째 데이터 샘플을 사용하여 동일한 상위 10 개 클러스터를 찾을 확률은 매우 좋습니다. 그러나 그때조차도 그것은 다루기 힘든 가장자리에 있거나 넘어있는 10 ^ 6 포인트 문제입니다.


1
여러 알고리즘이 "Mining of Massive Datasets"책에 설명되어 있으며 여기 에서 무료로 다운로드 할 수 있습니다 . 7 장 "클러스터링"을 읽으십시오.
lanenok

답변:


12

k- 평균평균을 기준으로 합니다 .

평균을 사용하여 군집을 모델링하므로 더 많은 데이터를 추가하여 개선하는 것은 미미합니다. 평균 추정의 오차는 1 / sqrt (n)으로 줄어 듭니다. 더 많은 데이터를 추가하면 더 적은 비용을 지불 할 수 있습니다.

이러한 대용량 데이터의 전략은 항상 샘플링과 관련이 있습니다.

하위 선형 런타임을 원하면 샘플링을 수행해야합니다!

실제로 Mini-Batch-Kmeans 등은 데이터 세트에서 반복적으로 샘플링합니다.

그러나 샘플링 (특히 바이어스되지 않은 샘플링)도 정확히 무료가 아닙니다. 일반적으로 개별 레코드에 무작위로 액세스 할 수 없으므로 샘플링하기 위해 데이터를 선형으로 읽어야합니다.

나는 MacQueen의 알고리즘으로 갈 것입니다. 온라인입니다. 기본적으로 데이터를 한 번만 전달합니다 (반복하는 것이 인기가 있지만). 배포하기는 쉽지 않지만 SSD에서 데이터를 10 번 선형으로 읽을 수 있다고 생각하십니까?


MacQueen의 온라인 알고리즘에 대해 몰랐습니다! 일반적으로 "클래식"K- 평균과 동일한 결과를 얻습니까? 저수지 샘플링을 대신 사용하는 것은 어떻습니까? 이러한 방식으로 OP에는 여러 K 값을 테스트해야하는 경우 K- 평균을 다시 실행할 샘플이 있습니다.
Victor Ma

6

부수적으로 10D 데이터에 K- 평균을 사용 하면 차원의 저주에 따라 아무데도 없을 수 있습니다 . 물론 데이터의 특성에 따라 조금씩 다르지만 K-Means가 차원과 관련하여 이상하게 행동하기 시작하는 임계 값을 결정하려고하면 7D와 같은 것을 얻었습니다. 7 차원 후 올바른 클러스터를 놓치기 시작했습니다 (내 데이터는 4 개의 잘 분리 된 가우시안 분포에 따라 수동으로 생성되었으며 작은 실험에 MATLAB kmeans 함수를 사용 했습니다).


이것은 물론 가능하며 항상 데이터에 의존합니다. 그러나 포스터에 10 ^ 10 (아마도 독립적 인) 샘플이 있다고 가정하면 10 차원이 큰 문제가되지 않는 것 같습니다.
Ryan J. Smith

2
귀하의 의견에 감사드립니다 @ RyanJ.Smith. 귀하의 의견은 정확히 같은 방향입니다. 게시물 에서이 문제와 관련하여 아무것도 보지 못했습니다. 그리고 샘플의 수는 대략; 그러나 그는 여전히 차원 문제에 갇힐 수있는 많은 샘플 포인트를 가지고 있습니다. 나는 당신이 내가 생각하기에 Low Sample Size Problem 의 반대편을 주장한다고 생각합니다. 그가 높은 차원의 데이터를 가지고 있다면, 낮은 표본 크기가 문제가 될 것이지만, 많은 양의 데이터 가 반드시 의미 가있는 것은 아니라고 생각합니다 .
카스 라 만샤 에이

10 차원은 아직 많지 않습니다.
Anony - 무스 - 종료 될

1
내 친구를 어떻게 결정합니까? 내가 말한 것은 그러한 질문에 대답하기 위해 설계된 실험의 결과이지만 일반적으로 대답 할 수는 없습니다! 귀하의 의견에 정확히 "많이"는 무엇입니까? 그것은 내가 대답에서 언급 한 많은 상황에 달려 있습니다. 어떤 상황에서는 10D가 문제가 될 수 있습니다.
Kasra Manshaei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.