Que grande pergunta - é uma chance de mostrar como se poderia inspecionar os inconvenientes e suposições de qualquer método estatístico. A saber: crie alguns dados e tente o algoritmo nele!
Consideraremos duas de suas suposições e veremos o que acontece com o algoritmo k-means quando essas suposições são quebradas. Manteremos os dados bidimensionais, pois é fácil de visualizar. (Graças à maldição da dimensionalidade , a adição de dimensões adicionais provavelmente tornará esses problemas mais graves, e não menos). Trabalharemos com a linguagem de programação estatística R: você pode encontrar o código completo aqui (e a postagem no blog aqui ).
Desvio: Quarteto de Anscombe
Primeiro, uma analogia. Imagine alguém argumentando o seguinte:
Li algum material sobre as desvantagens da regressão linear - que ela espera uma tendência linear, que os resíduos são normalmente distribuídos e que não há discrepâncias. Mas tudo o que a regressão linear está fazendo é minimizar a soma dos erros ao quadrado (SSE) da linha prevista. Esse é um problema de otimização que pode ser resolvido, independentemente da forma da curva ou da distribuição dos resíduos. Assim, a regressão linear não requer suposições para funcionar.
Bem, sim, a regressão linear funciona minimizando a soma dos resíduos ao quadrado. Mas isso por si só não é o objetivo de uma regressão: o que estamos tentando fazer é desenhar uma linha que serve como um preditor confiável e imparcial de y com base em x . O teorema de Gauss-Markov nos diz que minimizar o SSE cumpre esse objetivo - mas esse teorema se apóia em algumas suposições muito específicas. Se esses pressupostos estão quebrados, você ainda pode minimizar o SSE, mas não pode fazerqualquer coisa. Imagine dizer "Você dirige um carro pressionando o pedal: dirigir é essencialmente um 'processo de pressionar o pedal' '. O pedal pode ser pressionado, não importa a quantidade de gasolina no tanque. Portanto, mesmo que o tanque esteja vazio, você ainda pode pressionar o pedal e dirigir o carro ".
Mas falar é barato. Vamos olhar para os dados frios e rígidos. Ou, na verdade, dados inventados.
Na verdade, esses são meus dados inventados favoritos : o quarteto de Anscombe . Criada em 1973 pelo estatístico Francis Anscombe, essa mistura deliciosa ilustra a loucura de confiar cegamente nos métodos estatísticos. Cada um dos conjuntos de dados tem a mesma inclinação de regressão linear, interceptação, valor-p e - e, no entanto, de relance, podemos ver que apenas um deles, I , é apropriado para a regressão linear. Em II , sugere a forma incorreta; em III , é distorcida por um único erro externo - e em IV não há claramente nenhuma tendência!R2
Pode-se dizer que "a regressão linear ainda está funcionando nesses casos, porque está minimizando a soma dos quadrados dos resíduos". Mas que vitória pirra ! A regressão linear sempre desenhará uma linha, mas se for uma linha sem sentido, quem se importa?
Portanto, agora vemos que apenas porque uma otimização pode ser realizada não significa que estamos cumprindo nossa meta. E vemos que criar dados e visualizá-los é uma boa maneira de inspecionar as suposições de um modelo. Segure-se a essa intuição, vamos precisar dela em um minuto.
Suposição quebrada: dados não esféricos
Você argumenta que o algoritmo k-means funcionará bem em clusters não esféricos. Aglomerados não esféricos como ... estes?
Talvez não seja o que você esperava, mas é uma maneira perfeitamente razoável de construir clusters. Olhando para esta imagem, nós, humanos, reconhecemos imediatamente dois grupos naturais de pontos - não há como confundi-los. Então, vejamos como o k-significa funciona: as atribuições são mostradas em cores, os centros imputados são mostrados como Xs.
Bem, isso não está certo. K-means estava tentando encaixar um pino quadrado em um buraco redondo - tentando encontrar bons centros com esferas limpas ao seu redor - e falhou. Sim, ainda está minimizando a soma de quadrados dentro do cluster - mas, como no Quarteto de Anscombe acima, é uma vitória pirânica!
Você pode dizer "Esse não é um exemplo justo ... nenhum método de agrupamento pode encontrar corretamente clusters que são estranhos". Não é verdade! Experimente o cluster hierárquico de ligação única :
Acertou em cheio! Isso ocorre porque o cluster hierárquico de ligação única faz as suposições corretas para esse conjunto de dados. (Existe toda uma outra classe de situações em que falha).
Você pode dizer "Esse é um caso único, extremo e patológico". Mas isso não! Por exemplo, você pode tornar o grupo externo um semicírculo em vez de um círculo, e verá que o k-means ainda funciona muito (e o cluster hierárquico ainda funciona bem). Eu poderia criar outras situações problemáticas facilmente, e isso é apenas em duas dimensões. Quando você agrupa dados em 16 dimensões, existem todos os tipos de patologias que podem surgir.
Por fim, devo observar que o k-means ainda é salvável! Se você começar a transformar seus dados em coordenadas polares , o cluster agora funcionará:
É por isso que compreender as suposições subjacentes a um método é essencial: ele não apenas informa quando um método apresenta desvantagens, mas também como corrigi-las.
Suposição Quebrada: Clusters de Tamanho Desigual
E se os clusters tiverem um número desigual de pontos - isso também quebra o k-significa cluster? Bem, considere este conjunto de clusters, dos tamanhos 20, 100, 500. Eu gerei cada um de um gaussiano multivariado:
Parece que o k-means provavelmente poderia encontrar esses clusters, certo? Tudo parece ser gerado em grupos limpos e arrumados. Então, vamos tentar k-means:
Ai. O que aconteceu aqui é um pouco mais sutil. Em sua busca para minimizar a soma de quadrados dentro do cluster, o algoritmo k-means dá mais "peso" a clusters maiores. Na prática, isso significa que é um prazer deixar esse pequeno cluster acabar longe de qualquer centro, enquanto usa esses centros para "dividir" um cluster muito maior.
Se você brincar um pouco com esses exemplos ( código R aqui! ), Verá que pode construir muito mais cenários em que o k-means faz com que seja embaraçosamente errado.
Conclusão: Sem almoço grátis
Há uma construção encantadora no folclore matemático, formalizada por Wolpert e Macready , chamada "Teorema do almoço grátis". Provavelmente, é o meu teorema favorito na filosofia de aprendizado de máquina, e eu aprecio qualquer chance de trazê-lo à tona (mencionei que amo essa pergunta?). A idéia básica é declarada (sem rigor) como se segue: " todo algoritmo executa igualmente bem ".
Parece contra-intuitivo? Considere que, para todos os casos em que um algoritmo funciona, eu poderia construir uma situação em que ele falha terrivelmente. A regressão linear assume que seus dados caem ao longo de uma linha - mas e se seguir uma onda sinusoidal? Um teste t assume que cada amostra provém de uma distribuição normal: e se você lançar um valor externo? Qualquer algoritmo de subida de gradiente pode ficar preso nos máximos locais, e qualquer classificação supervisionada pode ser levada a sobreajuste.
O que isto significa? Isso significa que as suposições são de onde vem o seu poder! Quando a Netflix recomenda filmes para você, supõe-se que, se você gosta de um filme, gosta de filmes semelhantes (e vice-versa). Imagine um mundo onde isso não era verdade e seus gostos são perfeitamente aleatórios, espalhados aleatoriamente entre gêneros, atores e diretores. Seu algoritmo de recomendação falharia terrivelmente. Faria sentido dizer "Bem, ainda está minimizando algum erro ao quadrado esperado, para que o algoritmo ainda esteja funcionando"? Você não pode fazer um algoritmo de recomendação sem fazer algumas suposições sobre os gostos dos usuários - assim como você não pode criar um algoritmo de cluster sem fazer algumas suposições sobre a natureza desses clusters.
Portanto, não aceite essas desvantagens. Conheça-os para que eles possam informar sua escolha de algoritmos. Entenda-os, para que você possa ajustar seu algoritmo e transformar seus dados para resolvê-los. E ame-os, porque se o seu modelo nunca estiver errado, isso significa que nunca estará certo.