Clustering - Intuizione dietro il teorema dell'impossibilità di Kleinberg


17

Ho pensato di scrivere un post sul blog su questa interessante analisi di Kleinberg (2002) che esplora la difficoltà del clustering. Kleinberg delinea tre desideri apparentemente intuitivi per una funzione di raggruppamento e quindi dimostra che tale funzione non esiste. Esistono molti algoritmi di clustering che soddisfano due dei tre criteri; tuttavia, nessuna funzione può soddisfare tutti e tre contemporaneamente.

In breve e in modo informale, i tre desiderati che delinea sono:

  • Invarianza di scala : se trasformiamo i dati in modo che tutto sia distribuito equamente in tutte le direzioni, il risultato del clustering non dovrebbe cambiare.
  • Coerenza : se allunghiamo i dati in modo tale che le distanze tra i cluster aumentino e / o le distanze all'interno dei cluster diminuiscano, il risultato del clustering non dovrebbe cambiare.
  • Ricchezza : la funzione di clustering dovrebbe teoricamente essere in grado di produrre qualsiasi partizione / clustering arbitrario di punti dati (in assenza di conoscere la distanza a coppie tra due punti qualsiasi)

Domande:

(1) Esiste una buona intuizione, un'immagine geometrica che può mostrare l'incoerenza tra questi tre criteri?

(2) Ciò si riferisce ai dettagli tecnici del documento. Dovrai leggere il link sopra per capire questa parte della domanda.

Nel documento, la prova del teorema 3.1 è un po 'difficile per me da seguire in alcuni punti. Sono bloccato a: "Sia f una funzione di cluster che soddisfa la Coerenza. Sosteniamo che per qualsiasi partizione ΓRange(f) , esistono numeri reali positivi a<b tali che la coppia (a,b) è Γ - costringendo ".

Non vedo come questo possa essere il caso ... La partizione sotto un esempio non è in cui a>b (ovvero la distanza minima tra i cluster è maggiore della distanza massima all'interno dei cluster)?

controesempio?

Modifica: questo chiaramente non è un controesempio, mi stavo confondendo (vedi risposte).


Altre carte:


Per quanto riguarda la "coerenza": questa caratteristica è intuitivamente desiderata solo quando i cluster sono già ben separati. Quando non lo sono, c'è un problema sul numero di cluster nei dati: per l'analisi, poiché non è sottoposto a supervisione, è una domanda. Quindi è abbastanza normale aspettarsi che man mano che si aggiunge gradualmente la distanza tra i cluster (come sono stati generati da te), l'analisi modifica le assegnazioni che svolge durante il processo di clustering.
ttnphns,

Per quanto riguarda la "ricchezza": mi dispiace non aver capito cosa significhi (almeno come l'hai detto). Gli algoritmi di clustering sono molti, come puoi aspettarti che obbediscano a qualche particolare requisito?
ttnphns,

Rispetto alla tua immagine: sono necessari speciali metodi di clustering per riconoscere tale schema. I metodi di raggruppamento tradizionali / originali derivano dalla biologia e dalla sociologia, in cui i cluster sono "isole" più o meno densamente sferoidali, non anelli di atollo. Questi metodi non possono richiedere di far fronte ai dati sull'immagine.
ttnphns,

Potrebbe interessarti anche: Estivill-Castro, Vladimir. "Perché tanti algoritmi di clustering: un position paper." Newsletter di esplorazioni ACM SIGKDD 4.1 (2002): 65-75.
Anony-Mousse - Restituisci Monica il

Non ho letto il giornale. Ma in molti algoritmi di clustering hai una certa soglia di distanza (ad esempio DBSCAN, clustering gerarchico). Se si ridimensionano le distanze, è necessario ridimensionare la soglia di conseguenza. Pertanto, non sono d'accordo con il suo requisito di invarianza di scala. Sono anche in disaccordo con la ricchezza. Non tutte le partizioni devono essere una soluzione valida per ogni algoritmo. Ci sono milioni di partizioni casuali.
Anony-Mousse - Restituisci Monica il

Risposte:


11

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

due serie da 270 punti

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

impostare 1 con lo zoom

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

impostare 2 con lo zoom

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):

raggruppamento di {gatto, cane, topo} contro {Tom, Spike, Jerry}

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:SSd(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 ) .dii(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 serie di punti nel piano e due rotazioni di esso

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:

  1. l'algoritmo che assegna ad ogni metrica su la partizione discreta, in cui ogni cluster è costituito da un singolo punto,S

  2. 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ΓdSd(x,y)=1xySΓΓ(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 distanza1 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)dS1dΓ(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 ΓdS1Γ(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.


7

Questa è l'intuizione che mi è venuta in mente (uno snippet dal mio post sul blog qui ).

inserisci qui la descrizione dell'immagine

d1d2d3d2d3d1d1d3d2d3


Intendi in basso a sinistra per d2? Una cosa bella del diagramma è che mostra come la coerenza non sia una proprietà generalmente desiderabile (o che sia formulata in modo troppo approssimativo).
xan,

Sì in basso a sinistra, modificato la risposta di conseguenza. Grazie!
Alex Williams,

Prima di comprendere appieno la tua risposta, mi è venuta in mente una logica che risulta essere la doppia della tua: iniziare con un cluster in cui tutti i punti si trovano nello stesso cluster. Trasformalo in qualsiasi altra disposizione restringendolo in una versione in miniatura di qualsiasi altra disposizione e ridimensionandolo fino a una versione a grandezza naturale dell'altra disposizione.
xan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.