O documento apresenta uma introdução ao clustering em machine learning, incluindo: (1) uma definição de clustering e como ele difere de classificação; (2) os principais algoritmos de clustering, como K-means, que identifica instâncias ao redor de centróides; (3) aplicações de clustering como segmentação de clientes e sistemas de recomendação.
O único agrupamento possível: O que é clustering em Machine Learning
1. O único agrupamento
possível: O que é clustering
em Machine Learning
Por Ludimila Gonçalves
E-mail: ludigoncalves.11@gmail.com
Linkedin: www.linkedin.com/in/ludimilagonçalves
Github: github.com/ludigoncalves
2. Bio
Uma Humaitaense em Cape
Town!
● Bacharel em Ciência da Computação -
UFAM
● Mestre em Informática - UFAM
○ Ênfase em Sistemas de Recomendação
● Pesquisa em Detecção de Rotina
● Atuando em Data Science desde 2017 e
em Machine Learning desde 2011!
● AI Engineer na Bemol Digital <3
2
6. Machine Learning
TIPO DE
APRENDIZADO
Supervisionado
Não-supervisionado
O que é?
● Algoritmo aprende a partir de
dados rotulados
Tarefa?
● Classificação (i.e. e-mail é
spam?)
O que é?
● Algoritmo aprende a partir de
dados sem rótulos
Tarefa?
● Clustering
● Detecção de anomalia
● Redução de dimensionalidade
● Regras de associação 6
7. Machine Learning
TIPO DE
APRENDIZADO
Supervisionado
Não-supervisionado
Semi-supervisionado
O que é?
● Algoritmo aprende a partir de
dados rotulados
Tarefa?
● Classificação (i.e. e-mail é
spam?)
O que é?
● Algoritmo aprende a partir de
dados sem rótulos
Tarefa?
● Clustering
● Detecção de anomalia
● Redução de dimensionalidade
● Regras de associação
O que é?
● Algoritmo aprende a partir de
dados parcialmente rotulados
Tarefa?
● Em geral, algoritmos são
combinação de não-
supervisionado e
supervisionado
7
8. Machine Learning
TIPO DE
APRENDIZADO
Supervisionado
Não-supervisionado
Semi-supervisionado
Reforço
O que é?
● Algoritmo aprende a partir de
dados rotulados
Tarefa?
● Classificação (i.e. e-mail é
spam?)
O que é?
● Algoritmo aprende a partir de
dados sem rótulos
Tarefa?
● Clustering
● Detecção de anomalia
● Redução de dimensionalidade
● Regras de associação
O que é?
● Algoritmo aprende a partir de
dados parcialmente rotulados
Tarefa?
● Em geral, algoritmos são
combinação de não-
supervisionado e
supervisionado
O que é?
● Sistema observa o ambiente,
seleciona e executa ações e
recebe recompensas em retorno
Tarefa?
● i.e. Carro autônomo
8
9. Machine Learning
TIPO DE
APRENDIZADO
Supervisionado
Não-supervisionado
Semi-supervisionado
Reforço
O que é?
● Algoritmo aprende a partir de
dados rotulados
Tarefa?
● Classificação (i.e. e-mail é
spam?)
O que é?
● Algoritmo aprende a partir de
dados sem rótulos
Tarefa?
● Clustering
● Detecção de anomalia
● Redução de dimensionalidade
● Regras de associação
O que é?
● Algoritmo aprende a partir de
dados parcialmente rotulados
Tarefa?
● Em geral, algoritmos são
combinação de não-
supervisionado e
supervisionado
O que é?
● Sistema observa o ambiente,
seleciona e executa ações e
recebe recompensas em retorno
Tarefa?
● Carro autônomo
9
10. Clustering
O objetivo: Identificar indivíduos similares e atribuí-los a grupos (clusters)
10
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
14. E o que clustering tem de
diferente de classificação?
14
15. Classificação vs. Clustering
Dados rotulados Dados não rotulados
Rótulos
15
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
17. Estratégias de clustering
Algoritmos que identificam instâncias ao
redor de um ponto particular (centroid)
17
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
18. Estratégias de clustering
Algoritmos que identificam instâncias ao
redor de um ponto particular (centroid)
Algoritmos que procuram por regiões
densas: regiões podem ter qualquer forma
18
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
19. Estratégias de clustering
Algoritmos que identificam instâncias ao
redor de um ponto particular (centroid)
Algoritmos que procuram por regiões
densas: regiões podem ter qualquer forma
19
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
20. K-Means
● Rápido e eficiente para esse
formato de conjunto de dados
20
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
21. K-Means
● Rápido e eficiente para esse
formato de conjunto de dados
● K-Means identifica instâncias
ao redor de um ponto
particular (centroid)
21
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
22. K-Means
● Rápido e eficiente para esse
formato de conjunto de dados
● K-Means identifica instâncias
ao redor de um ponto
particular (centroid)
22
Parâmetro do Modelo
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
23. K-Means: o algoritmo
23
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
24. K-Means: o algoritmo
24
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
25. K-Means: o algoritmo
25
Limites de decisão
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
26. K-Means: o algoritmo
26
Limites de decisão
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
27. K-Means: o algoritmo
27
Limites de decisão
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
31. K-Means: o algoritmo
31
Limites de decisão
SOLUÇÃO FINAL
Executa m vezes e
guarda o modelo com a
melhor inertia (métrica
de avaliação)
32. K-Means
Mas então, como encontrar o melhor k? Inertia?
32
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
33. K-Means
Mas então, como encontrar o melhor k? Inertia?
R: MAIS OU MENOS!
33
Inertia = 653.2 Inertia = 119.1
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
34. K-Means
Mas então, como encontrar o melhor k?
34
Plotando inertia em função de k
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
35. K-Means
Mas então, como encontrar o melhor k?
35
Silhouette Score
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
36. K-Means
Mas então, como encontrar o melhor k?
36
Silhouette Score
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
37. K-Means
Mas então, como encontrar o melhor k?
37
Silhouette Score
Relação entre distância
média intra-cluster e
distância média para
instâncias do cluster
mais próximo
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
38. K-Means
Mas então, como encontrar o melhor k?
38
Silhouette Score
Relação entre distância
média intra-cluster e
distância média para
instâncias do cluster
mais próximo
> Próximo a +1 = instância
corretamente posicionada
> Próxima a -1 = instância
talvez posicionada erradamente
> Próxima a 0 = instância
próxima a limite
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
39. K-Means
Mas então, como encontrar o melhor k?
39
Silhouette Score
Relação entre distância
média intra-cluster e
distância média para
instâncias do cluster
mais próximo
> Próximo a +1 = instância
corretamente posicionada
> Próxima a -1 = instância
talvez posicionada erradamente
> Próxima a 0 = instância
próxima a limite
Melhor ponto
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
40. K-Means
E isso serve pra quê já?
Segmentação de usuário/cliente
40
* Desafio que a autora realizou em segmentação utilizando a base de dados Online Retail <https://www.kaggle.com/hellbuoy/online-retail-customer-clustering>.
Estágio da
jornada
Comportamento
de compra
Satisfação Interesses Nível de
engajamento
41. K-Means
E isso serve pra quê já?
Segmentação de usuário/cliente
41
* Desafio que a autora realizou em segmentação utilizando a base de dados Online Retail <https://www.kaggle.com/hellbuoy/online-retail-customer-clustering>.
Estágio da
jornada
Comportamento
de compra
Satisfação Interesses Nível de
engajamento
42. K-Means
E isso serve pra quê já?
Sistemas de Recomendação
42
Abordagem simples: Recomendar produtos
com base em usuários similares (pertencentes ao
mesmo cluster).
* Imagem retirada de pesquisa no Google.
43. K-Means
E isso serve pra quê já?
Aprendizado semi-supervisionado
43
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
MNIST dataset
44. K-Means
E isso serve pra quê já?
Aprendizado semi-supervisionado
44
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
MNIST dataset
Processo
1. Executa k-means
2. Encontra as instâncias representativas
3. Propaga os rótulos
45. K-Means
E isso serve pra quê já?
Aprendizado semi-supervisionado
45
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
MNIST dataset
Processo
1. Executa k-means
2. Encontra as instâncias representativas
3. Propaga os rótulos
46. K-Means
Tudo tem limites nessa vida, até no K-Means!
Problemas
● Executar muitas vezes para evitar soluções ruins
● Especificar o número de clusters
● Não desempenha bem com clusters de diferentes tamanhos, densidades ou formas não
esféricas
46
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
47. K-Means
Tudo tem limites nessa vida, até no K-Means!
Problemas
● Executar muitas vezes para evitar soluções ruins
● Especificar o número de clusters
● Não desempenha bem com clusters de diferentes tamanhos, densidades ou formas não
esféricas
47
Inertia menor, porém
solução ruim
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
48. K-Means
Tudo tem limites nessa vida, até no K-Means!
Problemas
● Executar muitas vezes para evitar soluções ruins
● Especificar o número de clusters
● Não desempenha bem com clusters de diferentes tamanhos, densidades ou formas não
esféricas
48
Inertia menor, porém
solução ruim
* Imagem retirada do livro Hands-on Machine Learning with Scikit-Learn, Keras, and Tensorflow.
Modelos de mistura
Gaussiana (GMM) são
bons para esse tipo de
cluster.
49. Outros algoritmos de clustering
● DBSCAN, HDBSCAN
● Versões otimizadas do k-means
● BIRCH
● Agglomerative clustering
49