Algoritmos de clustering - Visão geral
Introdução ao Clustering
Os métodos de agrupamento são um dos métodos de ML não supervisionados mais úteis. Esses métodos são usados para encontrar similaridade, bem como os padrões de relacionamento entre as amostras de dados e, em seguida, agrupar essas amostras em grupos com similaridade com base em recursos.
O agrupamento é importante porque determina o agrupamento intrínseco entre os dados não rotulados presentes. Eles basicamente fazem algumas suposições sobre os pontos de dados para constituir sua similaridade. Cada suposição construirá clusters diferentes, mas igualmente válidos.
Por exemplo, abaixo está o diagrama que mostra o sistema de cluster agrupado o tipo semelhante de dados em diferentes clusters -
Métodos de formação de cluster
Não é necessário que os aglomerados sejam formados na forma esférica. A seguir estão alguns outros métodos de formação de cluster -
Baseado em densidade
Nestes métodos, os clusters são formados como a região densa. A vantagem desses métodos é que eles têm boa precisão, bem como boa capacidade de mesclar dois clusters. Ex. Clustering Espacial Baseado em Densidade de Aplicativos com Ruído (DBSCAN), Pontos de Ordenação para identificar a estrutura de Clustering (OPTICS) etc.
De base hierárquica
Nestes métodos, os clusters são formados como uma estrutura do tipo árvore baseada na hierarquia. Eles têm duas categorias, a saber, aglomerativa (abordagem de baixo para cima) e divisiva (abordagem de cima para baixo). Ex. Clustering usando representantes (CURE), Clustering iterativo balanceado por redução usando hierarquias (BIRCH) etc.
Particionamento
Nestes métodos, os clusters são formados dividindo os objetos em k clusters. O número de clusters será igual ao número de partições. Ex. K-means, agrupando grandes aplicativos com base em pesquisa aleatória (CLARANS).
Rede
Nestes métodos, os clusters são formados como uma estrutura tipo grade. A vantagem desses métodos é que todas as operações de clustering feitas nessas grades são rápidas e independentes do número de objetos de dados. Ex. Grade de informações estatísticas (STING), Clustering in Quest (CLIQUE).
Medindo o desempenho do clustering
Uma das considerações mais importantes sobre o modelo de ML é avaliar seu desempenho ou você pode dizer a qualidade do modelo. No caso de algoritmos de aprendizagem supervisionada, avaliar a qualidade do nosso modelo é fácil porque já temos rótulos para todos os exemplos.
Por outro lado, no caso de algoritmos de aprendizagem não supervisionados, não somos muito abençoados porque lidamos com dados não rotulados. Mas ainda temos algumas métricas que dão ao praticante uma visão sobre o acontecimento de mudança nos clusters dependendo do algoritmo.
Antes de mergulharmos profundamente nessas métricas, devemos entender que essas métricas apenas avaliam o desempenho comparativo dos modelos entre si, em vez de medir a validade da previsão do modelo. A seguir estão algumas das métricas que podemos implantar em algoritmos de agrupamento para medir a qualidade do modelo -
Análise de Silhueta
Análise de silhueta usada para verificar a qualidade do modelo de agrupamento medindo a distância entre os agrupamentos. Basicamente, nos fornece uma maneira de avaliar os parâmetros como o número de clusters com a ajuda deSilhouette score. Essa pontuação mede a proximidade de cada ponto em um cluster de pontos nos clusters vizinhos.
Análise da pontuação da silhueta
O intervalo da pontuação do Silhouette é [-1, 1]. Sua análise é a seguinte -
+1 Score - Perto de +1 Silhouette score indica que a amostra está longe de seu cluster vizinho.
0 Score - 0 Silhouette score indica que a amostra está no ou muito perto do limite de decisão que separa dois clusters vizinhos.
-1 Score & menos -1 Silhouette score indica que as amostras foram atribuídas aos clusters errados.
O cálculo da pontuação do Silhouette pode ser feito usando a seguinte fórmula -
= (-) / (,)
Aqui, = distância média para os pontos no cluster mais próximo
E, = distância média intra-cluster para todos os pontos.
Índice Davis-Bouldin
O índice DB é outra boa métrica para realizar a análise de algoritmos de agrupamento. Com a ajuda do índice DB, podemos entender os seguintes pontos sobre o modelo de cluster -
Se os aglomerados estão bem espaçados uns dos outros ou não?
Quão densos são os clusters?
Podemos calcular o índice DB com a ajuda da seguinte fórmula -
$$ DB = \ frac {1} {n} \ displaystyle \ sum \ limits_ {i = 1} ^ n max_ {j \ neq {i}} \ left (\ frac {\ sigma_ {i} + \ sigma_ {j }} {d (c_ {i}, c_ {j})} \ right) $$Aqui, = número de clusters
σ i = distância média de todos os pontos no cluster do centróide do cluster.
Menos o índice do banco de dados, melhor é o modelo de clustering.
Índice Dunn
Ele funciona da mesma forma que o índice DB, mas existem os seguintes pontos em que ambos são diferentes -
O índice de Dunn considera apenas o pior caso, ou seja, os clusters que estão próximos, enquanto o índice DB considera a dispersão e separação de todos os clusters no modelo de clustering.
O índice de Dunn aumenta à medida que o desempenho aumenta, enquanto o índice DB fica melhor quando os clusters são bem espaçados e densos.
Podemos calcular o índice de Dunn com a ajuda da seguinte fórmula -
$$ D = \ frac {min_ {1 \ leq i <{j} \ leq {n}} P (i, j)} {mix_ {1 \ leq i <k \ leq n} q (k)} $$Aqui, ,, = cada índices para clusters
= distância inter-cluster
q = distância intra-cluster
Tipos de algoritmos de clustering de ML
A seguir estão os algoritmos de clustering de ML mais importantes e úteis -
Clustering K-means
Este algoritmo de agrupamento calcula os centróides e itera até encontrar o centróide ideal. Ele assume que o número de clusters já é conhecido. Também é chamado de algoritmo de agrupamento simples. O número de clusters identificados a partir de dados por algoritmo é representado por 'K' em K-médias.
Algoritmo de Desvio Médio
É outro algoritmo de agrupamento poderoso usado na aprendizagem não supervisionada. Ao contrário do agrupamento K-means, ele não faz suposições, portanto, é um algoritmo não paramétrico.
Agrupamento hierárquico
É outro algoritmo de aprendizagem não supervisionado que é usado para agrupar os pontos de dados não rotulados com características semelhantes.
Discutiremos todos esses algoritmos em detalhes nos próximos capítulos.
Aplicações de Clustering
Podemos achar o agrupamento útil nas seguintes áreas -
Data summarization and compression- O clustering é amplamente usado nas áreas onde também exigimos sumarização, compactação e redução de dados. Os exemplos são processamento de imagem e quantização vetorial.
Collaborative systems and customer segmentation - Como o clustering pode ser usado para localizar produtos semelhantes ou mesmo tipo de usuários, ele pode ser usado na área de sistemas colaborativos e segmentação de clientes.
Serve as a key intermediate step for other data mining tasks- A análise de cluster pode gerar um resumo compacto de dados para classificação, teste, geração de hipóteses; portanto, também serve como uma etapa intermediária chave para outras tarefas de mineração de dados.
Trend detection in dynamic data - O clustering também pode ser usado para detecção de tendências em dados dinâmicos, criando vários clusters de tendências semelhantes.
Social network analysis- O clustering pode ser usado na análise de redes sociais. Os exemplos geram sequências em imagens, vídeos ou áudios.
Biological data analysis - Clustering também pode ser usado para fazer clusters de imagens, vídeos, portanto, pode ser usado com sucesso na análise de dados biológicos.