O que é clustering?

Quando você está tentando aprender sobre alguma coisa, como música, uma abordagem pode ser procura grupos ou coleções significativas. É possível organizar as músicas por gênero, enquanto seu amigo pode organizar as músicas por décadas. A escolha do agrupamento de itens ajuda a entender mais sobre eles como músicas individuais. Você pode descobrir que tem uma afinidade profunda com o punk rock e dividir o gênero em diferentes abordagens ou músicas de diferentes locais. Por outro lado, seu amigo pode ver música dos anos 1980 e ser capaz de entender como a música entre gêneros naquela época foi influenciada pelo clima sociopolítico. Em ambos os casos, você e seu amigo aprenderam algo interessante sobre música, mesmo que você tenha usado abordagens diferentes.

Em machine learning também, nós geralmente agrupamos exemplos como a primeira etapa para entender um assunto (conjunto de dados) em um sistema de machine learning. O agrupamento de exemplos sem rótulos é chamado de clustering.

Como os exemplos não têm rótulo, o clustering depende de machine learning não supervisionado. Se os exemplos forem rotulados, o clustering vai se tornar classificação. Para uma discussão mais detalhada sobre os métodos supervisionados e não supervisionados, consulte Introdução ao enquadramento de problemas de machine learning.

Um gráfico mostrando três clusters
Figura 1: exemplos sem rótulos agrupados em três clusters.

Antes de agrupar exemplos semelhantes, é necessário encontrar exemplos semelhantes. Você pode medir a semelhança entre os exemplos ao combinar os dados de recursos deles em uma métrica, chamada medida de semelhança. Quando cada exemplo é definido por um ou dois atributos, fica fácil medir a semelhança. Por exemplo, é possível encontrar livros parecidos pelos autores. Com o aumento do número de atributos, criar uma medida de semelhança se torna mais complexo. Veremos como criar uma medida de semelhança em diferentes cenários.

Quais são os usos do clustering?

O clustering tem uma infinidade de usos em diversos setores. Alguns aplicativos comuns para clustering incluem:

  • segmentação de mercado
  • análise de rede social
  • agrupamento de resultados da pesquisa
  • imagem médica
  • segmentação de imagens
  • Detecção de anomalias

Após o clustering, cada cluster recebe um número chamado de ID do cluster. Agora é possível condensar todo o conjunto de recursos de um exemplo no ID do cluster. A representação de um exemplo complexo por um ID de cluster simples torna o clustering eficiente. Ampliar a ideia, o clustering de dados pode simplificar grandes conjuntos de dados.

Por exemplo, você pode agrupar itens por recursos diferentes, como demonstrado nos exemplos a seguir:

Exemplos
  • Agrupar estrelas por brilho.
  • Agrupar organismos por informações genéticas em uma taxonomia.
  • Agrupe documentos por tópico.

Os sistemas de machine learning podem usar IDs de cluster para simplificar o processamento de grandes conjuntos de dados. Portanto, a saída do clustering serve como dados de recursos para sistemas downstream de ML.

No Google, o clustering é usado para generalização, compactação de dados e preservação de privacidade em produtos como vídeos do YouTube, apps do Google Play e músicas.

Generalização

Quando alguns exemplos em um cluster têm dados de recurso ausentes, é possível inferir os dados ausentes de outros exemplos no cluster.

Exemplo
O conteúdo menos conhecido pode ser agrupado com outros mais acessados para melhorar as recomendações.

Compactação de dados

Como discutido, os dados de recursos de todos os exemplos em um cluster podem ser substituídos pelo ID do cluster relevante. Essa substituição simplifica os dados do recurso e economiza armazenamento. Esses benefícios tornam-se significativos quando escalonados para grandes conjuntos de dados. Além disso, os sistemas de machine learning podem usar o ID do cluster como entrada em vez de todo o conjunto de dados de atributos. Reduzir a complexidade dos dados de entrada facilita o treinamento do modelo de ML e faz com que ele seja mais rápido.

Exemplo
Os dados dos recursos de um único vídeo do YouTube podem incluir:
  • dados dos espectadores sobre localização, hora e informações demográficas
  • Dados de comentários com carimbos de data/hora, texto e IDs de usuário
  • tags de vídeo
O clustering de vídeos do YouTube permite substituir esse conjunto de recursos por um único ID de cluster, compactando seus dados.

Preservação da privacidade

Você pode preservar a privacidade agrupando usuários e associando dados do usuário a IDs de cluster em vez de usuários específicos. Para garantir que não seja possível associar os dados do usuário a um usuário específico, o cluster precisa agrupar um número suficiente de usuários.

Exemplo
Digamos que você queira adicionar o histórico de vídeo dos usuários do YouTube ao seu modelo. Em vez de depender do ID do usuário, você pode agrupar usuários e confiar no ID do cluster. Agora, seu modelo não pode associar o histórico de vídeo a um usuário específico, mas apenas a um ID de cluster que representa um grande grupo de usuários.