Так или иначе, каждый алгоритм кластеризации опирается на некоторое понятие «близости» точек. Интуитивно понятно, что вы можете использовать либо относительное (масштабно-инвариантное) понятие, либо абсолютное (согласованное) понятие близости, но не оба .
Сначала я попытаюсь проиллюстрировать это на примере, а затем расскажу, как эта интуиция согласуется с теоремой Клейнберга.
Наглядный пример
Предположим, у нас есть два набора и S 2 по 270 точек каждый, расположенных в плоскости следующим образом:S1S2270
Вы можете не увидеть точек на этих фотографиях, но это только потому, что многие точки очень близки друг к другу. Мы видим больше точек, когда мы увеличиваем:270
Вы, вероятно, спонтанно согласитесь, что в обоих наборах данных точки расположены в трех кластерах. Однако оказывается, что при увеличении любого из трех кластеров вы увидите следующее:S2
Если вы верите в абсолютное представление о близости или согласованности, вы все равно будете утверждать, что, независимо от того, что вы только что видели под микроскопом, состоит только из трех кластеров. Действительно, единственная разница между S 1 и S 2 заключается в том, что в каждом кластере некоторые точки теперь находятся ближе друг к другу. Если, с другой стороны, вы верите в относительное понятие близости или в масштабную инвариантность, вы будете склонны утверждать, что S 2 состоит не из 3, а из 3 × 3 = 9 кластеров. Ни одна из этих точек зрения не ошибочна, но вы должны сделать выбор так или иначе.S2S1S2S233×3=9
Случай изометрической инвариантности
Если вы сравните приведенную выше интуицию с теоремой Клейнберга, вы обнаружите, что они немного расходятся. Действительно, теорема Кляйнберга говорит о том, что вы можете достичь масштабной инвариантности и согласованности одновременно, если вам не важно третье свойство, называемое богатством. Однако богатство - не единственное свойство, которое вы теряете, если одновременно настаиваете на неизменности масштаба и последовательности. Вы также теряете другое, более фундаментальное свойство: изометрия-инвариантность. Это свойство, которым я не хотел бы жертвовать. Поскольку этого нет в статье Кляйнберга, я остановлюсь на этом на мгновение.
Короче говоря, алгоритм кластеризации является изометрическим инвариантом, если его выходные данные зависят только от расстояний между точками, а не от какой-либо дополнительной информации, такой как метки, которые вы прикрепляете к своим точкам, или от порядка, который вы накладываете на свои точки. Я надеюсь, что это звучит как очень мягкое и очень естественное состояние. Все алгоритмы, обсуждаемые в статье Клейнберга, являются изометрическими инвариантами, за исключением алгоритма одиночной связи с условием остановки кластера. Согласно описанию Кляйнберга, этот алгоритм использует лексикографическое упорядочение точек, поэтому его вывод может действительно зависеть от того, как вы их пометите. Например, для набора из трех равноотстоящих точек вывод алгоритма одиночной связи с 2k2- условие остановки кластера даст разные ответы в зависимости от того, помечаете ли вы свои три точки как «кошка», «собака», «мышь» (c <d <m) или как «Tom», «Spike», «Jerry» (J <S <T):
Это неестественное поведение, конечно, можно легко исправить, заменив условие остановки кластера на «условие остановки ( ≤ k ) -кластера». Идея состоит в том, чтобы просто не разрывать связи между равноотстоящими точками, а также прекратить слияние кластеров, как только мы достигнем не более k кластеров. Этот отремонтированный алгоритм будет все еще производить k кластеров большую часть времени, и он будет инвариантным по изометрии и инвариантным по масштабу. В соответствии с приведенной выше интуицией, однако, она больше не будет последовательной.k(≤k) kk
Для точного определения изометрической инвариантности напомним, что Клейнберг определяет алгоритм кластеризации на конечном множестве как отображение, которое присваивает каждой метрике на S разбиение S :
Γ : { метрики на S } → { разбиения S }SSS изометрией я между двумя метрики d и d ' на S является перестановкой я : S → S такоечто d ' ( я ( х ) , я ( у ) ) = г ( х , у ) для всех точки х и у в S .
Γ:{metrics on S}→{partitions of S}d↦Γ(d)
idd′Si:S→Sd′(i(x),i(y))=d(x,y)xyS
Γdd′ii(x)i(y)Γ(d′)xyΓ(d)
SSS
Вариант теоремы Клейнберга
Приведенная выше интуиция уловлена следующим вариантом теоремы Клейнберга.
Теорема: не существует нетривиального изометрически-инвариантного алгоритма кластеризации, который был бы одновременно согласованным и масштабно-инвариантным.
Здесь под тривиальным алгоритмом кластеризации я подразумеваю один из следующих двух алгоритмов:
S
S
Утверждается, что эти глупые алгоритмы являются единственными двумя алгоритмами, инвариантными к изометрии, которые являются согласованными и масштабно-инвариантными.
SΓd₁Sd₁(x,y)=1x≠ySΓΓ(d₁)Γ(d₁)Γ(d₁)Γ(d₁)dS≥1dΓ(d)=Γ(d₁)ΓΓ(d₁)dS≤1Γ(d)=Γ(d₁)Γ
Конечно, это доказательство очень близко по духу к доказательству Маргаретой Акерман исходной теоремы Клейнберга, обсужденной в ответе Алекса Уильямса.