Aprendizado não-supervisionado

Tenho trazido exemplos que envolvem aprendizado supervisionado, por isso hoje vou diversificar um pouco e tratar de uma tarefa de aprendizado não-supervisionado. Relembrando: aprendizado não-supervisionado é aquele em que os dados não possuem rótulos ou classes, e tentamos extrair informações ao relacionar esses dados com eles mesmos.

 

Para captar a ideia, faremos um exercício simples. Já pensaram como nós identificamos o gênero de uma música? O primeiro passo é ouvir a música e perceber seus detalhes, analisando ela e relacionando com o que já ouvimos antes. Observamos a batida, a intenção, o tom… Por meio dessas características, e de outras mais, conseguimos dizer que as músicas dos Beatles são muito mais parecidas com as dos Rolling Stones do que com as do Raça Negra, por exemplo. Nós captamos as “similaridades” entre as músicas, e assim temos a sensibilidade de dizer quais se parecem ou possuem características em comum. Somos aptos para agrupar Beatles e Rollings Stones por serem parecidos e não por serem do mesmo gênero, o nome do gênero é dado por nós após encontrar um grupo de músicas semelhantes, que compartilham características em comum.

 

A tarefa de agrupamento (ou “Clusterização”) é exatamente quando a máquina realiza a identificação desses grupos para nós. Podemos supor uma situação em que um mercado queira descobrir os seus perfis de cliente. Rodando um algoritmo como o K-Means, os usuários são comparados entre si e, ao final do processamento, podemos analisar os grupos gerados e descobrir quais são as características que conectam as pessoas desses grupos. O que geralmente é prezado em algoritmos que realizam essa tarefa é a integridade que os grupos possuem internamente e a diferença entre os grupos, ou seja, os clientes de um mesmo grupo precisam ser bem parecidos entre si, e os perfis que os grupos representam precisam ser bem diferentes uns dos outros.

 

Um ponto importante é que muitas vezes esses algoritmos são utilizados em uma etapa de descoberta, rodamos eles para tentar extrair informações contidas nos dados, mas que não são facilmente identificáveis. Sendo assim, uma vez que o algoritmo se encerra, precisamos nos debruçar em cima dos resultados e entender o que o computador utilizou para definir os agrupamentos.

 

Por Otávio Parraga, desenvolvedor do #TimeUbots.