커다란 점 집합을 클러스터링하고 있습니다. 반복을 통해 할당 된 점이 이전 반복과 동일하면 클러스터 속성을 다시 계산하지 않아야합니다. 각 클러스터는 해당 포인트의 ID를 유지합니다. 나는 그들과 요소를 현명하게 비교하고 싶지 않다. ID 벡터의 합을 비교하는 것은 위험하다. (작은 ID는 큰 값으로 보상 될 수있다.) 나는 제곱의 합을 비교해야 할까? Matlab에서 자신있게 사용할 수있는 해싱 방법이 있습니까?벡터의 선형 인덱스에 대해 Matlab의 해시 연산자
예 데이터 :
a=[2,13,14,18,19,21,23,24,25,27]
b=[6,79,82,85,89,111,113,123,127,129]
c=[3,9,59,91,99,101,110,119,120,682]
d=[11,57,74,83,86,90,92,102,103,104]
그래서 문제는 그냥 합계를 확인하는 경우는, 포인트 11,103을 푼다 및 9105를 얻을 예를 들어 해당 클러스터의 개발이 될 수 있다는 것입니다. 그러면 클러스터에 변화가 없다고 실수로 생각할 것입니다.
몇 가지 예제 데이터를 제공 할 수 있습니까? – Alex
Matlab의 해시에 대해서는 확신이 없습니다. 이러한 비교를 위해 ismember 또는 setdiff와 같은 집합 연산이 강력 해 보입니다. 퍼포먼스에 대해 걱정한다면, 길이를 비교함으로써 가장 많이 변경된 세트를 제거 할 수 있다고 생각합니다.또는 첫 번째 테스트로 무작위 요소 만 - 위치 n에서 말하십시오. – bdecaf
의견을 보내 주셔서 감사합니다. Setdiff는 정말 느리고 무작위 요소를 검사하는 것은 위험합니다. 왜냐하면 클러스터가 정착함에 따라 몇 점을 얻거나 느슨하게하기 때문입니다. 포인트 ID를 무작위로 선택하면 놓칠 수 있습니다. – zamazalotta