태그 보관물: clustering

clustering

클러스터링 — Kleinberg의 불가능 성 정리의 직관 클러스터링을 생성 할 수 있어야합니다

클러스터링의 어려움을 탐구하는 Kleinberg (2002) 의이 흥미로운 분석에 대한 블로그 게시물을 작성하려고 생각했습니다 . Kleinberg는 군집화 기능에 대한 직관적으로 보이는 세 가지 욕구를 요약 한 다음 해당 기능이 없음을 증명합니다. 세 가지 기준 중 두 가지를 만족시키는 많은 클러스터링 알고리즘이 있습니다. 그러나 세 기능을 동시에 만족시킬 수있는 기능은 없습니다.

간략하고 비공식적으로, 그가 설명하는 세 가지 desiderata는 다음과 같습니다.

  • Scale-Invariance : 모든 방향으로 모든 것이 동일하게 확장되도록 데이터를 변환하면 클러스터링 결과가 변경되지 않습니다.
  • 일관성 : 클러스터 간 거리가 증가하거나 클러스터 내 거리가 줄어들도록 데이터를 늘리면 클러스터링 결과가 변경되지 않습니다.
  • 풍부함 : 클러스터링 기능은 이론적으로 데이터 포인트의 임의의 파티션 / 클러스터링을 생성 할 수 있어야합니다 (두 포인트 사이의 쌍별 거리를 알지 못하는 경우).

질문 :

(1) 이 세 가지 기준 사이의 불일치를 보여주는 좋은 직감, 기하학적 그림이 있습니까?

(2) 이것은 종이에 대한 기술적 세부 사항을 나타냅니다. 질문의이 부분을 이해하려면 위의 링크를 읽어야합니다.

이 논문에서 정리 3.1에 대한 증명은 내가보기에 조금 어려웠다. 나는에 붙어 : “하자 . 클러스터링 기능 수를 만족 일관성 우리는 모든 파티션에 대해 주장 Γ 범위 ( F ) , 양의 실수가 존재 < b를 한 쌍하도록 ( , b는 ) 입니다 Γ – 강제.”

f

Γ∈Range(f)

a<b

(a,b)

Γ

어떻게 이런 일이 발생하는지 알 수 없습니다 ... (즉, 군집 사이의 최소 거리가 군집 내 최대 거리보다 큼) 의 반례 아래에 파티션 이 없습니까?

a>b

반례?

편집 : 이것은 분명히 반례가 아니며, 혼란 스럽습니다 (답변 참조).


다른 논문 :



답변

어떤 식 으로든 모든 클러스터링 알고리즘은“근접성”포인트 개념에 의존합니다. 상대 (척도 불변) 개념 또는 절대 (일관) 근접 개념을 사용할 수 있지만 둘 다를 사용할 수는 없다는 것이 직관적으로 분명해 보입니다 .

먼저 이것을 예를 들어 설명하려고 시도한 다음,이 직관이 Kleinberg의 정리에 어떻게 적용되는지 이야기하겠습니다.

예시적인 예

다음 과 같이 평면에 배열 된 270 포인트 의 두 세트 S 2 가 있다고 가정 합니다.

S1

S2

270

이 그림 중 하나에 점이 표시되지 않을 수 있지만 이는 많은 점이 서로 매우 가깝기 때문입니다. 확대하면 더 많은 포인트가 표시됩니다.

270

두 데이터 세트 모두에서 점이 3 개의 군집으로 정렬되어 있음을 자발적으로 동의 할 것입니다. 그러나 의 세 군집 중 하나를 확대 하면 다음과 같은 결과가 나타납니다.

S2

근접성이나 일관성에 대한 절대적인 개념을 믿는다면, 현미경으로 본 것과 상관없이 S 2를 계속 유지합니다.

S2

는 단지 3 개의 클러스터로 구성됩니다. 사실 사이의 유일한 차이점 S 2는 각 클러스터 내에서 몇 가지 포인트 가까이 함께 지금 있다는 것입니다. 반면에 상대적인 근접성 개념 또는 스케일 불일치가 있다고 생각하면 S 23이 아니라 3 × 3 = 9 군집으로 구성 되는 경향이 있습니다. 이러한 관점 중 어느 것도 틀린 것은 아니지만 어느 쪽이든 다른 쪽을 선택해야합니다.

S1

S2

S2

3

3×3=9

등거리 변환의 경우

위의 직관을 Kleinberg의 정리와 비교하면 그것들이 약간 상충된다는 것을 알게 될 것입니다. 실제로 Kleinberg의 정리 는 풍부함이라는 세 번째 속성에 신경 쓰지 않는 한 규모의 불일치와 일관성을 동시에 달성 할 있다고 말합니다 . 그러나 규모 불일치와 일관성을 동시에 주장 할 경우 풍부함이 손실되는 유일한 속성은 아닙니다. 또한 다른 기본 속성 인 등 측량 불변성을 잃습니다. 이것은 내가 기꺼이 희생하지 않을 재산입니다. Kleinberg의 논문에는 나타나지 않기 때문에 잠시 동안 그것에 대해 설명하겠습니다.

간단히 말해서, 클러스터링 알고리즘은 출력이 포인트 사이의 거리에만 의존하고 포인트에 부착하는 레이블과 같은 추가 정보 나 포인트에 부과하는 순서에 의존하지 않는 경우 등거리 변환법입니다. 나는 이것이 매우 온화하고 매우 자연스러운 상태로 들리기를 바랍니다. Kleinberg의 논문에서 논의 된 모든 알고리즘은 클러스터 중지 조건이 있는 단일 연결 알고리즘을 제외하고 등거리 변환이 변하지 않습니다 . Kleinberg의 설명에 따르면,이 알고리즘은 포인트의 사전 식 순서를 사용하므로 실제로 출력하는 방법은 해당 레이블을 어떻게 지정하는지에 따라 달라질 수 있습니다. 예를 들어, 3 개의 등거리 점 세트의 경우 2를 갖는 단일 연계 알고리즘의 출력

k

2

-클러스터 중지 조건은 세 지점에 "고양이", "개", "마우스"(c <d <m) 또는 "Tom", "Spike", "Jerry"(J)로 레이블을 지정했는지에 따라 다른 답변을 제공합니다. <S <T) :

클러스터 중지 조건을 " ( k )- 클러스터 중지 조건" 으로 바꾸면 이러한 비정상적인 동작을 쉽게 복구 할 수 있습니다 . 아이디어는 단순히 등거리 지점 사이의 연결을 끊지 않고 최대 k 개의 클러스터에 도달하자마자 클러스터 병합을 중지하는 것 입니다. 이 수리 된 알고리즘은 여전히 대부분 k 개의 군집을 생성 하며 등척 법은 변하지 않으며 척도는 변하지 않습니다. 그러나 위에 주어진 직관에 동의하면 더 이상 일관성이 없습니다.

k

(≤k)

k

k

등거리 변환 불변의 정확한 정의를 위해 Kleinberg는 유한 세트 S클러스터링 알고리즘 을 정의합니다.

S

지도로 그 각 메트릭에 할당 의 파티션 S :
Γ : { 에 측정  S } { 의 파티션  S }

S

S

등거리 변환 I 사이 개의 메트릭 거라고 D ' 에서 S는 순열이다 I : S S 되도록 D ' ( I ( X ) , I ( Y ) )

Γ:{metrics on S}→{partitions of S}d↦Γ(d)

i

d

d′

S

i:S→S

에 대한 모든 S의 x y 를가리 킵니다.

d′(i(x),i(y))=d(x,y)

x

y

S

정의 : 군집 알고리즘 는 다음 조건을 만족하는 경우 등방성 불변량 입니다. 모든 메트릭 dd ' 및 이들 사이의 등척성 i 에 대해 점 i ( x )i ( y ) 는 동일한 클러스터 Γ (

Γ

d

d′

i

i(x)

i(y)

원 포인트 경우에만, X Y 의 동일한 클러스터에서 거짓 Γ ( D ) .

Γ(d′)

x

y

Γ(d)

우리는 알고리즘을 클러스터링에 대해 생각할 때, 우리는 종종 추상적 인 집합의 식별 평면에서 점의 구체적인 세트, 또는 다른 주변 공간과의 메트릭 다양한 상상 S를 의 포인트 이동으로 S를 주변. 실제로, 이것은 우리가 위의 예시적인 예에서 취한 관점입니다. 이와 관련하여 등거리 변환 불일치 란 클러스터링 알고리즘이 회전, 반사 및 변환에 영향을받지 않음을 의미합니다.

S

S

S

클라인 버그 정리의 변형

위에 주어진 직관은 다음과 같은 클라인 버그 정리의 변형에 의해 포착됩니다.

정리 : 일관되고 규모가 변하지 않는 사소한 등거리 변환 불변 클러스터링 알고리즘은 없습니다.

여기서 사소한 클러스터링 알고리즘은 다음 두 알고리즘 중 하나를 의미합니다.

  1. 모든 메트릭에 할당하는 알고리즘

    S
  2. S

주장에 따르면 이러한 바보 같은 알고리즘은 일관되고 규모가 변하지 않는 유일한 두 가지 등거리 변환 알고리즘입니다.

S

Γ

d₁

S

d₁(x,y)=1

x≠y

S

Γ

Γ(d₁)

Γ(d₁)

Γ(d₁)

Γ(d₁)

d

S

≥1

d

Γ(d)=Γ(d₁)

Γ

Γ(d₁)

d

S

≤1

Γ(d)=Γ(d₁)

Γ

물론이 증거는 Alex Williams의 답변에서 논의 된 Kleinberg의 원래 정리에 대한 Margareta Ackerman의 증거와 매우 흡사합니다.


답변

이것은 내가 생각해 낸 직관입니다 ( 여기 내 블로그 게시물 의 스 니펫 ).

d1

d2

d3

d2

d3

d1

d1→d3

d2→d3

답변