Как я узнаю, что мой алгоритм кластеризации k-средних страдает проклятием размерности?


12

Я считаю, что название этого вопроса говорит само за себя.


3
Я думаю, вам придется уточнить для нас, что вы подразумеваете под симптомом.
mdewey

Если «симптом» - это вариант «теста», который можно отменить вручную, то, возможно, вы могли бы взять подвыборки вашего набора данных - возможно, 66% от размера выборки, выполнить анализ (kmeans, в вашем случае), а затем посмотреть, насколько нервен результаты есть. Например, вы могли видеть, как часто конкретные наблюдения присваиваются одному кластеру. Опять же, это может не стоить усилий. Если вы беспокоитесь о возможности проблемы размерности, скорее всего, у вас есть. Вы могли бы рассмотреть другие подходы кластеризации, которые несколько уменьшают размерность.
generic_user

@generic_user, если бы этот комментарий был ответом, я бы
посчитал

1
Этот вопрос достаточно ясен, чтобы оставаться открытым, ИМО.
gung - Восстановить Монику

1
Довольно часто вы сталкиваетесь с гораздо более серьезными проблемами k-средних раньше, чем «проклятие размерности». k-means может работать на 128-мерных данных (например, цветовых векторах SIFT), если атрибуты имеют хороший характер. В некоторой степени это может даже работать на 10000-мерных текстовых данных иногда. Теоретическая модель проклятия никогда не верна для реальных данных. Большими проблемами являются несопоставимые функции, редкость и невозможность визуализировать и перепроверить результаты.
ВЫЙТИ - Anony-Mousse

Ответы:


18

Это помогает подумать о том, что такое проклятие размерности . На CV есть несколько очень хороших тем, которые стоит прочитать. Вот с чего начать: Объясните «Проклятие размерности» ребенку .

Отмечу, что вас интересует, как это относится к кластеризации средних. Стоит знать, что k -means - это стратегия поиска, позволяющая минимизировать (только) квадрат Евклидова расстояния. В свете этого стоит подумать о том, как евклидово расстояние относится к проклятию размерности (см. Почему евклидово расстояние не является хорошей метрикой в ​​больших измерениях? ). kk

Короткий ответ из этих тем состоит в том, что объем (размер) пространства увеличивается с невероятной скоростью по сравнению с количеством измерений. Даже измерений (которые не кажутся мне слишком «многомерными») могут навлечь проклятие. Если ваши данные были равномерно распределены по всему пространству, все объекты становятся приблизительно равноудаленными друг от друга. Однако, как отмечает @ Anony-Mousse в своем ответе на этот вопрос, это явление зависит от того, как данные располагаются в пространстве; если они не одинаковы, у вас не обязательно возникнет эта проблема. Это приводит к вопросу о том, являются ли однородно распределенные многомерные данные вообще очень распространенными (см .: действительно ли существует «проклятие размерности» в реальных данных? ). 10

10kk

[0, 1][0, D]

kkКак понять недостатки К-средних )


Оказывается, уже есть метка для изучения многообразия (следовало бы посмотреть первым!). Подводя итог, можно сказать, что для тех, кто не знает, идея состоит в том, что хотя многомерные данные имеют тенденцию быть скудными по всему пространству, они могут быть плотными на некоторой гиперповерхности в этом пространстве.
GeoMatt22

+1 за отличный ответ. Не могли бы вы рассказать подробнее о части собственных значений? Если эффективная размерность мала, рекомендуется ли вам делать PCA и сохранять только первые несколько баллов с высокими собственными значениями?
DataD'oh

@ DataD'o, это, конечно, одна возможность, но я говорю, что тебе не нужно этого делать. По сути, данные не являются многомерными (когда только первые несколько собственных векторов имеют высокие собственные значения), поэтому вам не нужно ничего делать - проклятие размерности просто не будет применяться.
gung - Восстановить Монику

@gung Я отправил новый вопрос . Я надеюсь, что это не слишком тривиально.
DataD'oh

7

Мой ответ не ограничен К средним, но проверьте, есть ли у нас проклятие размерности для любых методов, основанных на расстоянии. К-среднее основано на измерении расстояния (например, евклидово расстояние)

N0.5N(N1)

Если у нас есть проклятие проблемы размерности, вы увидите, что эти значения очень близки друг к другу. Это кажется очень нелогичным, потому что это означает, что каждый находится близко или далеко от каждого, а мера расстояния в основном бесполезна.


16xi=01xj=01(xixj)2dxidxjrunifrnorm

Вот симуляция для измерения от 1 до 500, особенности равномерного распределения от 0 до 1.

plot(0, type="n",xlim=c(0,0.5),ylim=c(0,50))
abline(v=1/6,lty=2,col=2)
grid()

n_data=1e3
for (p in c(1:5,10,15,20,25,50,100,250,500)){
    x=matrix(runif(n_data*p),ncol=p)
    all_dist=as.vector(dist(x))^2/p
    lines(density(all_dist))
}

введите описание изображения здесь


1
P
амеба

1
Я проголосовал из-за демонстрации явления евклидовой усадки при больших размерах. Но ответ не демонстрирует страдания кластеризации k-средних от проклятия. Страдание будет означать, что в больших измерениях достаточно хорошо разнесенные кластеры (а не однородные случайные данные, подобные вашим) могут не быть обнаружены так же успешно, как в низких измерениях. Вы не касались этой темы.
ttnphns

P

@ttnphns спасибо за ваш комментарий и отзыв. Я посмотрю, смогу ли я добавить один абзац, чтобы обсудить влияние на k средств.
Haitao Du
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.