Blog

Postado em em 20 de dezembro de 2022

Base Teórica do K-Means – Aprendizado não Supervisionado

Você conhece o K-means? Nesta aula vamos falar sobre a base teórica do K-Means, um algoritmo de aprendizado não supervisionado!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala impressionadores! Você sabe o que é o aprendizado não supervisionado? Conhece a base teórica do K-Means?

Para começar a explicar sobre aprendizado não supervisionado e K-means podemos antes responder a uma pergunta muito comum.

Como as máquinas aprendem? Quais são os passos que ela segue?

Para explicar isso vamos usar como exemplo um bebê.

Exemplo.
Exemplo.

Como o bebê aprende?

Os bebês são expostos a situações e percebem que essas situações repetidamente geram um mesmo resultado.

Por exemplo:

  • Se eu comer toda a minha comida, meus pais ficam felizes;
  • Se eu chorar, alguém vem me ver.
  • Se eu fizer toda a minha tarefa, ganho doces.

Dessa forma ele consegue perceber uma relação entre algo que ele faz e o resultado que gera.

Baseado nesses padrões, o bebê cria seus modelos de comportamento.

O aprendizado de máquinas é algo muito semelhante a isso.

Dados.
Dados.

A diferença é que no aprendizado de máquinas nós vamos inserir os dados que serão analisados por um modelo de aprendizagem de máquinas.

Este algoritmo vai gerar padrões e esses padrões vamos colocar dentro de modelos.

O que são os modelos?

Esses modelos são basicamente um conjunto de regras que servem tanto para identificar se um animal é um gato ou um cachorro quanto para identificar se há uma fraude em transações de cartão de crédito.

Quando estamos dando os primeiros passos para aprender, devemos começar pelo simples, como um bebê que aprende a diferenciar um gato de um cachorro.

O bebê consegue reconhecer um cachorro porque toda vez que ele vê um, os pais avisam que se trata de um cachorro ou de um gato.

Base Teórica do K-Means
Referência.

Após ver vários cachorros e vários gatos, o bebê passa a ser um ótimo diferenciador do que é um cachorro e do que é um gato.

Como o meu algoritmo de Machine Learning pode aprender?

O algoritmo de Machine Learning aprende à medida que inserimos dados, colocamos características de um cachorro ou de um gato, e ele começa a associar padrões, assim como o bebê do exemplo.

Características.
Características.

Nós separamos os animais com o nariz maior e a orelha mais baixa do animal com o nariz menor, com a orelha mais para cima.

Essas separações vão identificar padrões e formar grupos:

Base Teórica do K-Means
Grupos.

Obs. Essas imagens estão considerando apenas duas variáveis, porém normalmente são várias variáveis que vão fazer parte deste padrão.

Após analisar muitos padrões teremos os grupos formados, um grupo de gato e o de cachorros.

Previsão.
Previsão.

Observe o ponto com a interrogação na imagem acima, o animal deste ponto tem o nariz menor comparado ao cachorro e as orelhas podem não ser tão pontudas.

Neste caso, a previsão vai considerar este ponto como um gato também, graças a proximidade que o ponto tem dos demais gatos.

Base Teórica do K-Means
Previsão.

Nesta previsão nós temos tanto a imagem do gato quanto o nome dele, temos a classificação “gato” e “cachorro”.

Quando nós temos tanto a imagem quando o nome da imagem, nós dizemos que temos tanto o features quanto o target.

Features e target.
Features e target.

Quando já temos os dois dizemos que estamos em um aprendizado supervisionado

Aprendizado supervisionado.
Aprendizado supervisionado.

Neste tipo de aprendizado é como se estivéssemos falando para o bebê que ele está vendo um gato ou que ele está vendo um cachorro.

Aprendizado não supervisionado – Base teórica do K-Means:

É sempre isso que acontece? Sempre sabemos qual é o animal que estamos vendo?

Não, nem sempre nós sabemos, mas mesmo sem saber o nome do animal, pelas características dele, ainda podemos dizer se é um mamífero, se é uma ave, se ele nada ou tem bico, ainda podemos trazer inteligência para a nossa análise.

Ainda podemos identificar!

Base Teórica do K-Means
Grupos sem nome

Dessa forma ainda conseguimos agrupar os dados em categorias mesmo sem saber o nome.

Grupos sem nome
Grupos sem nome

Por que isso é importante?

Para explicar melhor a base teórica do K-Means vamos partir para um exemplo mais comum, com clientes.

Na tabela abaixo temos pessoas que compram muitos itens de carro, outras que compram muitos itens de esporte e outras que estão dispersas e não entendemos ainda seu comportamento.

Gráfico de dispersão.
Gráfico de dispersão.

Não é importante aqui, saber o nome do grupo do cliente e sim entender se existe relação entre eles.

Relacionando os pontos.
Relacionando os pontos
Base Teórica do K-Means
Relação.

Quando conseguimos entender essa relação, percebemos o que eles têm em comum, e vamos conseguir sugerir um produto ou serviço mais específico as necessidades desses clientes.

Relação.
Relação.

Observando o comportamento dos clientes eu consigo saber o que eles necessitam e a partir daí consigo também nomear intuitivamente o grupo.

Perceba que, da mesma forma que explicamos anteriormente, podemos não saber o nome de cada cliente, mas, desde que saibamos suas necessidades, já conseguimos classificar o grupo de uma forma inteligente.

Base Teórica do K-Means
Nomeando os grupos.

Após classificar vamos oferecer para os grupos que fazem mais sentido entre si um determinado produto ou uma promoção.

Veja, estes dois grupos têm algo em comum, sendo compradores prováveis de um mesmo produto.

Produtos específicos
Produtos específicos

Cada produto será oferecido aos grupos com a maior probabilidade de sucesso na venda.

Lembrando que essa venda não está 100% certa, estamos trabalhando com estatísticas, mas, mesmo assim, estamos direcionando o nosso foco para os clientes que são prováveis de comprar e isso faz toda a diferença.

Base Teórica do K-Means
Produtos específicos

Mas, e se acharmos que esses dois grupos, o de fórmula 1 e o piloto são, na verdade, um grupo só.

Somando grupos.
Somando grupos.

Se percebermos que existe muita semelhança entre dois grupos, podemos transformá-los em um grupo só sem problemas.

Somando grupos.
Somando grupos.

Quando temos esses casos em que conseguimos fazer os agrupamentos mesmo sem saber o nome ou rótulo daquela categoria, nós chamamos esse tipo de análise de aprendizado não supervisionado.

Aprendizado não supervisionado.
Aprendizado não supervisionado.
Base Teórica do K-Means
Aprendizado não supervisionado.

Dentro deste aprendizado temos a clusterização.

Aprendizado não supervisionado.
Aprendizado não supervisionado.

Clusterização:

Nosso objetivo é agrupar dados semelhantes em um mesmo cluster, ou seja, queremos que os grupos do mesmo cluster sejam o mais semelhante possível um do outro e que tenham uma diferença importante de outro cluster (grupos) dessa forma conseguimos fazer um marketing muito mais direcionado e eficaz com o maior alcance possível.

Clusterização
Clusterização

Não precisamos saber quais os tipos de pássaros, apenas saber suas características e assim conseguir separá-los em grupo.

Clusterização
Clusterização

Anomalia:

Nessa separação em grupos podemos notar um comportamento que não se encaixa em nenhum outro grupo.

Esse comportamento pode ser um cliente insatisfeito? Pode ser alguém querendo sair da empresa?

Quando observamos essas anomalias temos uma oportunidade, podemos estudá-las e levantar dados para melhorar nossa análise.

Base Teórica do K-Means
Clusters

Podemos notar dois clusters na figura acima, eles estão próximos entre si e distantes um do outro.

Clusters
Clusters

Algoritmo K-means:

Vamos analisar o mesmo grupo agora usando o algoritmo K-means, observe que a divisão foi feita de forma diferente.

Análise com K-Means
Análise com K-Means

Por que o algoritmo analisou desta forma?

Base Teórica do K-Means
Análise com K-Means

Para entender o porquê deste resultado é preciso saber como este algoritmo funciona.

A primeira pergunta que podemos refutar é:

O algoritmo não funcionou para este dataset?

Sim, funcionou, só precisamos entender melhor como ele funciona.

Análise com K-Means
Análise com K-Means

Base Teórica do K-Means – Como o K-Means funciona? Por que classificou dessa forma?

Primeiro vamos definir o K, isso é importante!

Obs. k significa o número de grupo que queremos separar.

Se temos o k = 2, como ele começa a classificar os nossos dados?

Definição do K
Definição do K
Base Teórica do K-Means
Seleção aleatória

O k agora é o centro dos nossos clusters (grupos), vamos calcular a distância de cada ponto do k.

Base Teórica do K-Means
Calculando a distância.
Calculando as distâncias
Calculando as distâncias

Feito isso, cada ponto será atribuído ao k mais próximo a ele:

Atribuindo os pontos ao centro mais próximo
Atribuindo os pontos ao centro mais próximo
Atribuindo os pontos ao centro mais próximo
Atribuindo os pontos ao centro mais próximo

Assim conseguimos classificar todos os pontos de acordo com essa proximidade:

Primeira classificação.
Primeira classificação.

Agora vamos calcular um ponto central (centróide) para cada grupo.

Centróide.
Centróide.

Agora com o centróide definido, o algoritmo torna a fazer a classificação dos pontos, dessa vez em relação ao centróide.

Base Teórica do K-Means
Reclassificação.

Esse processo se repete até a convergência do modelo, ou seja, quando o centróide para de se movimentar.

Base Teórica do K-Means
Convergência do modelo

É por este motivo que o nosso algoritmo classificou o ponto mostrado na imagem abaixo como amarelo, apesar de estar próximo dos pontos roxos, comparado aos centróides ele está mais próximo do centróide amarelo e por isso foi classificado como amarelo.

Distância - avaliação
Distância – avaliação

Vamos para mais um exemplo.

E se escolhêssemos pontos aleatórios? Como o K-means faria a classificação?

Pontos aleatórios.
Pontos aleatórios.

Neste caso primeiro o algoritmo classificaria somente dois pontos em roxo, porque ele está neste primeiro momento classificando em relação ao ponto escolhido e ainda não temos o centróide formado.

Primeira classificação.

Logo em seguida o algoritmo vai definir os centróides:

Definição dos centróides.
Definição dos centróides

Após definir o centróide ele vai reclassificar os pontos em relação à distância do centróide e fazendo isso fica nítido que dois pontos verdes estão mais próximos ao centróide roxo.

Segunda avaliação.
Segunda avaliação.

Assim, ele faz a reclassificação e chega no mesmo resultado da análise anterior.

Reclassificação dos pontos.
Reclassificação dos pontos.

Isso significa que sempre vai dar certo?

Não, não significa…

Nem sempre isso vai dar certo e por isso podemos selecionar o parâmetro init, por padrão o algoritmo já usa este parâmetro que serve para evitar pegar como base pontos muitos próximos, isso, além de evitar problemas ainda vai fazer com que o nosso algoritmo execute a convergência mais rápido.

Base Teórica do K-Means
Init.

Quantos pontos k devemos usar?

Temos um método para isso chamado método do cotovelo (Elbow Method), quando achamos o que chamamos de cotovelo é como se encontrássemos o nosso k ideal.

É importante dizer que não existe o k ideal, isso vai depender do modelo de negócio, dos testes que vamos fazer, mas este k do cotovelo é sim um bom direcionamento quando não temos ainda noção dos dados do projeto que vamos analisar.

Elbow Method
Elbow Method

Não precisamos fazer este cálculo porque temos o k-means, mas se fosse para explicar vamos dizer que:

Se tivermos o k bem no centro, ele vai estar distante de todos os pontos certo?

Base Teórica do K-Means
k=1

Com isso ele gera um resultado alto de inertia_(103.875).

Inertia com 1 k
Inertia com 1 k

Observe na imagem:

O cluster_centers vai ser a coordenadas de cada um dos centróides e a inertia_ vai ser a dispersão.

k=1 - valor da inertia
k=1 – valor da inertia

Quando eu utilizo o k igual a 2 perceba que a inertia já diminui, porque estou dividindo meus dados deixando-os mais próximos dos seus centróides.

k=2
k=2

Quanto maior a quantidade de k menor o valor da inertia.

Inertia com k = 2
Inertia com k = 2

A partir de 7 k:

Base Teórica do K-Means
k = 7
Base Teórica do K-Means
k = 8

Com 8 k conseguimos ficar tão próximos dos dados que os centróides ficaram em cima dos nossos pontos.

Isso significa que conseguimos criar grupos tão específicos que cada ponto é um único grupo.

Isso é interessante para nós?

Não, embora seja bem específico, não é isso que queremos, nós precisamos saber a relação entre os clientes desse grupo, então não adianta ter tantos grupos porque vamos perder informações.

Isso apenas dificultaria muito o trabalho, imagine ter que propor opções para 50 grupos de pessoas diferentes!

Falando de marketing, por exemplo, seria inviável fazer propagandas diferentes para 50 grupos.

Por este motivo temos que ter um equilíbrio entre reduzir a inertia e entre a quantidade de grupos ideais que estamos criando para não cair em uma situação tão específica que praticamente não terá validade nenhuma…

Por isso é importante usar o método do cotovelo!

Método - cotovelo.
Método – cotovelo.

Ele nos mostra um valor que corresponde a este equilíbrio que devemos ter.

Com isso nós fechamos essa aula!

Se você quer sair do zero em ciências de dados ou rever conceitos básicos. Clique no link!

Conclusão – Base Teórica do K-Means

Nosso objetivo nessa aula foi explicar a Base Teórica do K-Means, como ele funciona para que você entenda a lógica por trás do algoritmo.

Agora que não temos os rótulos como no aprendizado supervisionado, temos uma abstração muito maior e por isso é importante entender a lógica dos resultados que o nosso algoritmo está gerando.

Nós vamos ter mais aulas explicando detalhadamente o uso do algoritmo, mas antes é importante que esta aula mais conceitual seja absorvida.

Eu fico por aqui! Espero ter ajudado! Até mais,

Hashtag Treinamentos

Para acessar outras publicações de Ciência de Dados, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador