Eu acredito que o título desta pergunta diz tudo.
Eu acredito que o título desta pergunta diz tudo.
Respostas:
Ajuda a pensar sobre o que é a maldição da dimensionalidade . Existem vários tópicos muito bons no CV que valem a pena ler. Aqui está um ponto de partida: Explique a “maldição da dimensionalidade” para uma criança .
Observo que você está interessado em como isso se aplica ao cluster mean. Vale a pena estar ciente de que -eans é uma estratégia de busca para minimizar (apenas) a distância euclidiana ao quadrado. À luz disso, vale a pena pensar em como a distância euclidiana se relaciona com a maldição da dimensionalidade (ver: Por que a distância euclidiana não é uma boa métrica em grandes dimensões? ). k
A resposta curta desses encadeamentos é que o volume (tamanho) do espaço aumenta a uma taxa incrível em relação ao número de dimensões. Até dimensões (o que não me parece muito "dimensional") podem trazer a maldição. Se seus dados foram distribuídos uniformemente por todo esse espaço, todos os objetos se tornam aproximadamente equidistantes um do outro. No entanto, como @ Anony-Mousse observa em sua resposta a essa pergunta, esse fenômeno depende de como os dados são organizados no espaço; se eles não são uniformes, você não necessariamente tem esse problema. Isso leva à questão de saber se os dados de alta dimensão uniformemente distribuídos são muito comuns (consulte: “A maldição da dimensionalidade” realmente existe em dados reais? ).
Eu argumentaria que o que importa não é necessariamente o número de variáveis (a dimensionalidade literal de seus dados), mas a dimensionalidade efetiva de seus dados. Sob a suposição de que dimensões são 'muito altas' para médias, a estratégia mais simples seria contar o número de recursos que você possui. Mas se você quiser pensar em termos da dimensionalidade efetiva, poderá executar uma análise de componentes principais (PCA) e observar como os valores próprios diminuem. É bastante comum que a maior parte da variação exista em algumas dimensões (que geralmente abrangem as dimensões originais do seu conjunto de dados). Isso implicaria que é menos provável que você tenha um problema com significa no sentido de que sua dimensionalidade efetiva é realmente muito menor. k k
Uma abordagem mais envolvida seria examinar a distribuição das distâncias aos pares em seu conjunto de dados, ao longo das linhas sugeridas por hxd1011 em sua resposta . Observar distribuições marginais simples dará a você uma dica da possível uniformidade. Se você normalizar todas as variáveis para ficarem dentro do intervalo , as distâncias em pares devem estar dentro do intervalo . Distâncias altamente concentradas causarão problemas; por outro lado, uma distribuição multimodal pode ser esperançosa (você pode ver um exemplo na minha resposta aqui: Como usar variáveis binárias e contínuas juntas no clustering? ).[ 0 , √
No entanto, se significa 'funcionará' ainda é uma questão complicada. Sob a suposição de que existem agrupamentos latentes significativos em seus dados, eles não existem necessariamente em todas as suas dimensões ou em dimensões construídas que maximizam a variação (isto é, os principais componentes). Os clusters podem estar nas dimensões de menor variação (consulte: Exemplos de PCA em que PCs com baixa variação são “úteis” ). Ou seja, você pode ter clusters com pontos próximos e bem separados entre apenas algumas de suas dimensões ou em PCs de menor variação, mas não são remotamente semelhantes em PCs de alta variação, o que causaria médias para ignorar os clusters que você procura e escolher clusters falsos (alguns exemplos podem ser vistos aqui:kComo entender as desvantagens do K-means ).
Minha resposta não se limita a K significa, mas verifique se há maldição de dimensionalidade para métodos baseados em distância. O K-significa é baseado em uma medida de distância (por exemplo, distância euclidiana)
Antes de executar o algoritmo, podemos verificar a distribuição da métrica de distância, ou seja, todas as métricas de distância para todos os pares de dados. Se você tiver pontos de dados, deverá ter métricas de distância de . Se os dados forem muito grandes, podemos verificar uma amostra disso.0,5 ⋅ N ⋅ ( N - 1 )
Se temos o problema da maldição da dimensionalidade, o que você verá é que esses valores estão muito próximos um do outro. Isso parece muito contra-intuitivo, porque significa que todos estão próximos ou distantes de cada um e a distância é basicamente inútil.
Aqui está uma simulação para mostrar esses resultados contra-intuitivos. Se todos os recursos forem distribuídos uniformemente e se houver muitas dimensões, todas as métricas de distância deverão estar próximas a , que vem de . Sinta-se livre para alterar a distribuição uniforme para outras distribuições. Por exemplo, se mudarmos para a distribuição normal (mudar para ), ela convergirá para outro número com grandes dimensões numéricas. ∫ 1 x i = 0 ∫ 1 x j = 0 (xi-xj)2dxidxjrunif
rnorm
Aqui está a simulação para a dimensão de 1 a 500, os recursos são de distribuição uniforme de 0 a 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))
}