In un modo o nell'altro, ogni algoritmo di clustering si basa su una nozione di "prossimità" di punti. Sembra intuitivamente chiaro che puoi usare una nozione relativa (invariante alla scala) o una nozione assoluta (coerente) di prossimità, ma non entrambe .
Prima cercherò di illustrare questo con un esempio, e poi continuerò a dire come questa intuizione si adatta al teorema di Kleinberg.
Un esempio illustrativo
Supponiamo di avere due set e S 2 di 270 punti ciascuno, disposti nel piano in questo modo:S1S2270
Potresti non vedere punti in nessuna di queste immagini, ma è solo perché molti punti sono molto vicini tra loro. Vediamo più punti quando ingrandiamo:270
Probabilmente sarai spontaneoulsy d'accordo sul fatto che, in entrambi i set di dati, i punti sono disposti in tre gruppi. Tuttavia, si scopre che se si ingrandisce uno dei tre cluster di , viene visualizzato quanto segue:S2
Se credi in una nozione assoluta di prossimità, o di coerenza, continuerai a sostenere che, indipendentemente da ciò che hai appena visto al microscopio, costituito da soli tre cluster. In effetti, l'unica differenza tra S 1 e S 2 è che, all'interno di ciascun cluster, alcuni punti sono ora più vicini tra loro. Se, d'altra parte, credi in una nozione relativa di prossimità, o in invarianza di scala, ti senti incline a sostenere che S 2 non è composto da 3 ma da 3 × 3 =S2S1S2S23 cluster. Nessuno di questi punti di vista è sbagliato, ma devi fare una scelta in un modo o nell'altro.3×3=9
Un caso per l'invarianza dell'isometria
Se confronti l'intuizione di cui sopra con il teorema di Kleinberg, scoprirai che sono leggermente in contrasto. In effetti, il teorema di Kleinberg sembra dire che tu puoi ottenere invarianza e coerenza su scala simultaneamente purché non ti interessi di una terza proprietà chiamata ricchezza. Tuttavia, la ricchezza non è l'unica proprietà che perdi se insisti contemporaneamente su invarianza e coerenza su larga scala. Perdi anche un'altra proprietà più fondamentale: l'invarianza isometrica. Questa è una proprietà che non sarei disposto a sacrificare. Poiché non appare nel documento di Kleinberg, mi soffermerò su di esso per un momento.
In breve, un algoritmo di clustering è invariante all'isometria se il suo output dipende solo dalle distanze tra i punti e non da alcune informazioni aggiuntive come le etichette che si attaccano ai punti o da un ordine che si impone sui punti. Spero che questo sembri una condizione molto mite e molto naturale. Tutti gli algoritmi discussi in carta di Kleinberg sono isometry invariante, fatta eccezione per l'algoritmo legame singolo con la -cluster arresto condizione. Secondo la descrizione di Kleinberg, questo algoritmo utilizza un ordinamento lessicografico dei punti, quindi il suo output potrebbe effettivamente dipendere da come li etichetti. Ad esempio, per un insieme di tre punti equidistanti, l'output dell'algoritmo single linkage con ilk2-la condizione di arresto fornirà risposte diverse a seconda che si etichettano i tre punti come "gatto", "cane", "topo" (c <d <m) o come "Tom", "Spike", "Jerry" (J <S <T):
Questo comportamento innaturale può naturalmente essere facilmente riparato sostituendo la condizione di arresto del cluster con una "condizione di arresto del cluster ( ≤ k ) ". L'idea è semplicemente di non rompere i legami tra punti equidistanti e di smettere di unire i cluster non appena abbiamo raggiunto al massimo i cluster k . Questo algoritmo riparato produrrà comunque kk(≤k) kk cluster per la maggior parte del tempo e sarà invariante per isometria e invariante per scala. In accordo con l'intuizione sopra indicata, tuttavia non sarà più coerente.
Per una definizione precisa dell'invarianza dell'isometria, ricorda che Kleinberg definisce un algoritmo di clustering su un set finito come una mappa che assegna a ciascuna metrica su S una partizione di S :
Γ : { metriche su S } → { partizioni di SSSS
Unun'isometria i tra due metriche d e d ' on
Γ:{metrics on S}→{partitions of S}d↦Γ(d)
idd′ è una permutazione
i : S → S tale che
d ' ( i ( x ) , i ( y ) ) = d ( x , y ) per tutti punti
x ed
y in
S .
Si:S→Sd′(i(x),i(y))=d(x,y)xyS
Definizione: un algoritmo di clustering è invariante per isometria se soddisfa la seguente condizione: per qualsiasi metrica d eΓd e qualsiasi isometria i tra loro, i punti i ( x ) e i ( y ) si trovano nello stesso cluster di Γ ( d ' ), se e solo se i punti originali x ed y giacciono nello stesso cluster di Γ ( d ) .d′ii(x)i(y)Γ(d′)xyΓ(d)
Quando pensiamo agli algoritmi di raggruppamento, spesso identifichiamo l'insieme astratto con un insieme concreto di punti nel piano, o in qualche altro spazio ambientale, e immaginiamo di variare la metrica su S come spostare i punti di S intorno. In effetti, questo è il punto di vista che abbiamo preso nell'esempio illustrativo sopra. In questo contesto, l'invarianza dell'isometria significa che il nostro algoritmo di clustering è insensibile a rotazioni, riflessioni e traduzioni.SSS
Una variante del teorema di Kleinberg
L'intuizione data sopra è catturata dalla seguente variante del teorema di Kleinberg.
Teorema: non esiste un algoritmo di clustering invariante isometrico non banale che sia simultaneamente coerente e invariante in scala.
Qui, con un banale algoritmo di clustering, intendo uno dei seguenti due algoritmi:
l'algoritmo che assegna ad ogni metrica su la partizione discreta, in cui ogni cluster è costituito da un singolo punto,S
l'algoritmo che assegna ad ogni metrica su la partizione lump, costituita da un singolo cluster.S
L'affermazione è che questi stupidi algoritmi sono gli unici due algoritmi invarianti di isometria che sono sia coerenti che invarianti di scala.
Prova:
Sia il set finito su cui dovrebbe funzionare il nostro algoritmo Γ . Sia d ₁ la metrica su S in cui ogni coppia di punti distinti ha una distanza unitaria (cioè d ₁ ( x , y ) = 1 per tutto x ≠ y in S ). Poiché Γ è invariante per isometria, ci sono solo due possibilità per Γ ( d ₁ ) : o Γ ( d ₁ ) è la partizione discreta, oppureSΓd₁Sd₁(x,y)=1x≠ySΓΓ(d₁)Γ(d₁) ( è la partizione di grumi. Diamo prima un'occhiata al caso in cui Γ ( d ₁ ) è la partizione discreta. Data qualsiasi metrica d su S , possiamo ridimensionarla in modo che tutte le coppie di punti abbiano una distanza ≥ 1 sotto d . Quindi, per coerenza, troviamo che Γ ( d ) = Γ ( d ₁ ) . Quindi in questo caso Γ è l'algoritmo banale che assegna la partizione discreta ad ogni metrica. In secondo luogo, consideriamo il caso che Γ d ₁ )Γ(d₁)Γ(d₁)dS≥1dΓ(d)=Γ(d₁)ΓΓ(d₁)è la partizione di grumi. Possiamo ridimensionare qualsiasi metrica su S in modo che tutte le coppie di punti abbiano distanza ≤ 1 , quindi di nuovo la coerenza implica che Γ ( d ) = Γ ( d ₁ ) . Quindi ΓdS≤1Γ(d)=Γ(d₁)Γ è anche banale in questo caso. ∎
Naturalmente, questa dimostrazione è molto simile nello spirito alla dimostrazione di Margareta Ackerman del teorema originale di Kleinberg, discussa nella risposta di Alex Williams.