Você está na página 1de 10

APRENDIZADO DE MÁQUINA

Prof. Leonel da Rocha

UNIDADE VI – ALGORITMOS DE AGRUPAMENTO

SUMÁRIO

OBJETIVOS DE APRENDIZAGEM
INTRODUÇÃO...........................................................................................................................
1 PARTICIONAIS.......................................................................................................................
1.1 Funcionamento do Agrupamento Particional
2 HIERÁRQUICOS....................................................................................................................
3 BASEADOS EM GRIDS E GRAFOS..................................................................................
CONSIDERAÇÕES FINAIS.....................................................................................................
UNIDADE VI – ALGORITMOS DE AGRUPAMENTO

OBJETIVOS DE APRENDIZAGEM

Proporcionar ao aluno os conceitos básicos dos algoritmos de agrupamento


que têm por objetivo particionar um conjunto de objetos em agrupamentos. Os
objetos são descritos e agrupados, normalmente, usando um conjunto de atributos e
valores, não existindo nenhuma informação sobre a classe ou categoria deles.
Apresentar o objetivo dos algoritmos de agrupamento ao aluno, que é colocar os
objetos similares em um mesmo grupo e objetos não similares em grupos diferentes.
Analisar os algoritmos de agrupamento, entender sobre o estudo de métodos e
algoritmos de agrupamento, cujo objetivo é organizar objetos em grupos de acordo
com suas características. Verificar que os objetos do mesmo grupo têm um alto grau
de similaridade e objetos de grupos distintos apresentam um alto grau de
dissimilaridade.
INTRODUÇÃO

O agrupamento é um método de aprendizagem de máquinas que engloba o


agrupamento de pontos de dados. Analisando um conjunto de vários pontos de
dados, é possível utilizar um algoritmo de agrupamento para categorizar ou
classificar cada ponto de dados em um grupo particular. Os pontos de dados
presentes no mesmo grupo apresentam características ou propriedades
semelhantes. E, consequentemente, os pontos de dados em grupos separados
contêm características ou propriedades distintas. Agrupamento não utiliza rótulos
com identificação a priori, conhecidos como rótulos de classe, e por isso o
agrupamento, que é um tipo de aprendizagem não supervisionada, difere da
classificação ou análise discriminante, que é um tipo de aprendizagem
supervisionada.
Os algoritmos de agrupamento são importantes para se descobrir
agrupamentos inatos entre predefinições de dados não rotulados. Embora não exista
critérios para destacar um bom agrupamento, são sobretudo as preferências
individuais, os requisitos e o que for preciso para atender as necessidades do
sistema em questão.
Por exemplo, existe interesse em descobrir representantes de grupos
homogêneos, para a redução de dados em clusters naturais, e em definir as suas
propriedades desconhecidas. Outro interesse é encontrar objetos de dados não
rotineiros e outros agrupamentos adequados. Independentemente da situação, esse
algoritmo faz várias suposições que constituem semelhanças entre vários pontos.
Além disso, cada suposição faz novos, mas igualmente bem fundamentados,
agrupamentos.
1 PARTICIONAIS

Agrupamento Particional é um método na área de agrupamento de dados.


Esse tipo de agrupamento tem como objetivo dividir, ou particionar, os objetos de um
conjunto de dados em k grupos. Os agrupamentos são obtidos de forma a minimizar
ou maximizar uma função. A ideia principal é verificar o ganho dessa função ao se
passar de k para k + 1 grupos. O gráfico do número de grupos contra a função
objetivo permitirá uma visualização da perda ou ganho da função conforme o
número de grupos é aumentado. Como o número de grupos é uma informação que
está diretamente ligada à estrutura do conjunto de dados, nem todos os valores de k
podem levar a partições naturais dos dados. Assim, uma das maneiras de investigar
o número k de grupos não conhecidos a priori é obter várias partições para diversos
valores de k e avaliando as partições por meio de algum critério numérico ou até
mesmo por especialistas.
O agrupamento Particional tem uma vantagem em relação às técnicas de
agrupamento hierárquicas, que é quando a aplicação envolve um conjunto de dados
com um número grande de objetos, em que a construção de dendrogramas é
praticamente impossível. E a desvantagem está exatamente na escolha do correto
número de grupos no conjunto de dados onde essa informação é desconhecida.

1.1 Funcionamento do Agrupamento Particional

Os algoritmos particionais dividem a base de dados em k-grupos, onde o


número k é fornecido pelo usuário, sendo este um ponto negativo do método, pois
essa informação não é conhecida em muitas aplicações. Inicialmente, o algoritmo
escolhe k objetos como sendo os centros dos k clusters (agrupamentos).
Os objetos são divididos entre os k clusters de acordo com a medida de
similaridade adotada, de modo que cada objeto fique no cluster que forneça o menor
valor de distância entre o objeto e o centro. A partir dessa divisão, o algoritmo utiliza
uma estratégia de controle para determinar quais objetos devem mudar de cluster,
de forma que a função objetivo usada seja otimizada. Depois da primeira divisão,
existem duas possibilidades na escolha do “elemento” que vai representar o centro
do cluster e que será a referência para o cálculo da medida de similaridade: ou é
utilizada a média dos objetos que pertencem ao cluster em questão, também
chamada de centro de gravidade do cluster, técnica que é conhecida como k-means;
ou poderá ser utilizado como representante o objeto que se encontra mais próximo
ao centro de gravidade do cluster, técnica essa conhecida como k-medoids, sendo o
elemento mais próximo do centro chamado de medoid.
O k-means é o mais conhecido, utilizado e simples algoritmo particional. K-
means foi descoberto e utilizado em diferentes campos científicos, e mesmo tendo
sido proposto há mais de 50 anos, ainda é um dos algoritmos mais utilizados para
agrupamento, devido principalmente à sua facilidade de implementação, sua
simplicidade e sua eficiência, além de possuir várias extensões desenvolvidas em
várias plataformas.
Ao contrário dos métodos hierárquicos, que produzem uma série de
agrupamentos relacionados, os métodos particionais produzem agrupamentos
simples. Autores da área destacam que esses algoritmos serão efetivos quando o
número de clusters k puder ser razoavelmente estimado. Também destacam a
importância de os clusters serem de forma convexa e possuírem tamanho e
densidade similares. Também o há consenso de que os métodos particionais devem
fazer os k clusters tão compactos e separados quanto possível, e que eles devem
trabalhar bem quando os clusters são compactos, densos e bastante separados uns
dos outros. Porém, há destaque quanto à sua falta de eficiência quando existem
grandes diferenças nos tamanhos e geometrias dos diferentes clusters. Há
observações relativas aos mais conhecidos e geralmente usados métodos de
particionamento, que são o k-means, o K-medoids e suas variações.

2 HIERÁRQUICOS

Agrupamento Hierárquico é uma técnica tradicional de agrupamento de


dados que estabelece uma hierarquia entre os grupos formados ao longo das
sucessivas iterações. Esse tipo de agrupamento pode ser subdividido em duas
abordagens: Agrupamento Hierárquico Divisivo e Agrupamento Hierárquico
Aglomerativo.

O Agrupamento Hierárquico Aglomerativo inicia o agrupamento por meio de


um objeto, realizando sucessivas aglomerações de acordo com algum critério de
dissimilaridade, e, no final do processo, todos os objetos que pertencem a um grupo
estarão juntos, resultando em uma hierarquia de aglomerações. Por outro lado, o
Agrupamento Hierárquico Divisivo inicia agrupando todos os objetos em um único
grupo e realiza sucessivas partições de acordo com algum critério de
dissimilaridade, de modo que, ao final do processo de divisão, cada objeto
semelhante esteja no mesmo grupo, gerando assim uma hierarquia de partições.

Na Figura 1 é possível observar um conjunto de N = 30 objetos


bidimensionais formado por 4 grupos visivelmente separados, enquanto na Figura 2
é possível visualizar um dendograma que mostra o agrupamento hierárquico
aglomerativo, em que o eixo vertical indica a distância entre as ligações e a base do
dendograma e os 30 grupos compostos por um único objeto para cada grupo. Nos
níveis superiores é possível verificar como os grupos tendem à fusão até formar-se
um único agrupamento. Ainda observando Figura 2, no ponto de parada (21),
verifica-se a indicação de que há formação de exatamente k = 4 grupos.

Figura 1 – Conjunto de 30 objetos bidimensionais.

Fonte: www.ppgbea.ufrpe.br

Figura 2 – Dendograma resultante de um algoritmo Hierárquico.


Fonte: www.ppgbea.ufrpe.br

A representação habitual do agrupamento Hierárquico é feita por meio de


dendrogramas, que são estruturas gráficas em forma de árvore, utilizadas para
representar as junções, conhecidas como Hierárquico Aglomerativo, ou as divisões,
que são conhecidas como Hierárquico Divisivo, que ocorreram a partir de valores
provenientes da matriz de distâncias.

Algoritmos Hierárquicos de agrupamento de dados são utilizados em grande


escala. A maioria das aplicações de agrupamento de dados nas áreas de Zoologia e
Biologia utilizam técnicas hierárquicas aglomerativas. Essa técnica é uma das
preferidas nessas áreas, pois animais e plantas podem ser hierarquicamente
agrupados em relação a características genéticas. Porém essa técnica se torna
inviável para grandes conjuntos de dados, onde a utilização de métodos particionais
são mais utilizadas por apresentarem em geral menor custo computacional.

Autores que trabalham com os métodos Hierárquicos descrevem vantagens


e desvantagens da utilização deles. Citam como vantagens a fácil manipulação de
qualquer medida de similaridade/dissimilaridade, fácil visualização dos objetos por
meio de dendrogramas e aplicabilidade de qualquer tipo de atributo. E as
desvantagens seriam as dificuldades de escolha do correto critério de parada e a
não relocação de objetos entre grupos já divididos ou aglomerados durante o
processo de hierarquização dos objetos.
Os algoritmos Hierárquicos criam uma hierarquia de relacionamentos entre
os objetos do conjunto de dados. Existem duas versões: aglomerativa e divisiva. A
aglomerativa cria grupos a partir de elementos isolados, conhecidos como
singletons, e a cada iteração junta dois grupos com base na distância entre eles. A
divisiva, ao contrário, inicia com um grande grupo formado por todos os elementos
do conjunto de dados e vai dividindo os grupos até chegar a elementos isolados. A
versão aglomerativa funciona de acordo com os seguintes critérios:

• Formar um grupo para cada elemento (singletons);

• Encontrar os pares de grupos mais similares, de acordo com uma medida de


distância e o método escolhidos;

• Aglomerar os pares de grupos em um grupo maior e recalcular a distância desse


grupo para todos os outros elementos;

• Repetir o segundo e terceiro passos até formar um único cluster.

3 BASEADOS EM GRIDS E GRAFOS

Os métodos de Clusterização baseados em grade usam uma estrutura de


dados em grade de multiresolução. Eles discretizam o espaço de objetos em um
número finito de células que formam uma estrutura de grade na qual todas as
operações de clusterização, ou junção, são efetuadas. A principal vantagem dessa
abordagem é a grande rapidez no seu tempo de processamento, que não depende
do número de objetos de dados, porém depende do número de células em cada
dimensão no espaço discretizado.
Os algoritmos de clusterização baseados em grafos, que são conjuntos
cujos elementos são unidos por arcos, buscam representar um conjunto de dados
em um grafo, onde cada vértice representará um elemento do conjunto de dados e a
existência de uma aresta conectando dois vértices será feita com base na
proximidade entre os dois dados. O jeito mais simples de estabelecer as ligações
entre os vértices é conectar cada vértice aos vértices restantes, onde o peso indica a
similaridade entre os dois dados e um cluster é definido como um subgrafo do grafo
inicial. Para a realização do processo, é adotada uma medida de similaridade no
processo de agrupamento, o que pode acarretar alguma dificuldade do algoritmo em
determinar clusters de formas variadas. Os algoritmos de clusterização baseados
em grafos são relacionados de uma maneira forte com os algoritmos hierárquicos e
particionais, significando, portanto, que o resultado obtido pode ser uma partição ou
uma hierarquia de partições.
CONSIDERAÇÕES FINAIS

O aprendizado não supervisionado ou agrupamento busca extrair


informações relevantes de dados não rotulados. Existem vários algoritmos de
agrupamento de dados para serem utilizados no mercado, sendo necessário
pesquisar e encontrar o mais adequado para cada tipo de necessidade. Lembrando
que diferentes escolhas de atributos, medidas de proximidade, critérios de
agrupamento e algoritmos de agrupamento levam a resultados totalmente diferentes.
Portanto, isso também precisa ser analisado quando do planejamento de um
agrupamento.
Diversas aplicações podem ser encontradas na área de negócios. O
agrupamento pode ajudar a descobrir, por exemplo, grupos distintos nas bases de
clientes, com seus hábitos de consumo. E isso pode proporcionar e caracterizar os
grupos de clientes com base nos padrões de compras.
O agrupamento de dados também é uma técnica aplicada em diferentes
áreas, como na biologia, estatística, psicologia, engenharia, medicina, análise de
mercado, tecnologia da informação – resumindo, nas mais diversas áreas da
sociedade. Porém, encontrar soluções não é uma tarefa fácil e encontrar a
configuração perfeita para os dados é um problema NP-Completo. A utilização de
algoritmos supervisionados tem um ponto interessante: basear-se em uma massa de
dados para treinamento já classificados, em que, em determinados casos, é
necessária uma forma de classificação automática, já que a classificação de dados
para treinamento pode ser uma tarefa complicada e até mesmo impossível. Sendo
assim, algoritmos de agrupamento têm um papel importante na classificação de
dados semelhantes.

Você também pode gostar