Clustering contínuo

9

Portanto, tenho um problema que estou enfrentando em relação ao cluster com dados ao vivo e continuamente em fluxo contínuo. Como tenho um conjunto de dados sempre crescente, não tenho certeza de qual é a melhor maneira de executar um cluster eficiente e eficaz. Eu vim com algumas soluções possíveis, incluindo:

  1. A definição de um limite de quantos pontos de dados é permitido, portanto, sempre que o limite for atingido quando outro ponto de dados chegar, o ponto mais antigo será removido. Essencialmente, isso sugere que os dados mais antigos não são mais relevantes o suficiente para que possamos cuidar do que estamos perdendo ao jogá-los fora.

  2. Quando houver dados suficientes para criar um bom cluster, considere isso "a configuração" e, à medida que novos pontos chegarem, em vez de agrupar novamente todos os dados, basta descobrir em qual centro de cluster o novo ponto está mais próximo e adicioná-lo a ele. O benefício aqui é que você pode evitar ter que se agrupar novamente em cada novo ponto e não precisará armazenar todos os outros pontos, apenas os centros de cluster, considerando esse cluster "bom o suficiente". A desvantagem é que reexecutar o algoritmo com todos os pontos de dados desde o início pode ser mais preciso.

Embora essas sejam algumas soluções potenciais que invadi o cérebro, gostaria de saber se existem técnicas mais conhecidas para enfrentar esse problema. Eu acho que sites como o Google tiveram que lidar com isso de alguma forma (e espero que "adicione mais memória ram, servidores e processadores" ou "expanda continuamente seus data centers" não sejam as únicas respostas disponíveis).

Suresh Venkat
fonte

Respostas:

9

Há bastante trabalho no clustering de fluxo (que é um pouco diferente dos métodos on-line, mas é essencialmente o que você deseja). A referência acima de Guha et al é muito boa e, para uma perspectiva mais geral sobre quais tipos de técnicas funcionam e quais métodos foram usados ​​no passado (heurísticos e precisos), você pode consultar minha pesquisa no armazenamento em cluster em fluxos .

Suresh Venkat
fonte
7

Você também pode dar uma olhada nas notas da Aula 14 e Aula 15 do meu curso sobre algoritmos de fluxo de dados.

Piotr
fonte
4

Gosto da pesquisa de Suresh acima e resume diferentes abordagens no clustering de fluxo. Você não solicitou isso, mas é possível em alguns casos, o problema é que os dados contínuos são vistos pelos servidores distribuídos, é preciso manter um cluster no centro e não ter que mover muitos dados. Veja aqui .

eu também
fonte
bem vindo, Muthu!
Suresh Venkat