Você está na página 1de 8

Aplicações Práticas dos Algoritmos de Clusterização K-

means e Bisecting K-means


Felipe Cesar Stanzani Fonseca, Walber Antonio Ramos Beltrame

Departamento de Informática – Universidade Federal do Espírito Santo (UFES) Av.


Fernando Ferrari, 514 – Vitória – ES – Brasil
stanzani@gmail.com, walber.beltrame@gmail.com

Abstract. In this paper are presented the clustering algorithms K-means and
one of his best-known variations, the bisecting K-means. Are shown the
differences between both algorithms, and the advantages of K-means in
comparison to hierarchical clustering algorithms. Two articles that relate
these algorithms to the education area are presented too.

Resumo. Neste artigo são apresentado os algoritmos de clusterização K-


means (K-médias) e uma de suas variações mais conhecidas, o Bisecting K-
means. São apresentadas as diferenças entre ambos os algoritmos, e as
vantagens do K-means em relação a algoritmos de clusterização hierárquica.
São apresentados também dois artigos que relacionam estes algoritmos a área
de educação.

1. Introdução
Os algoritmos de clusterização são utilizados com muita freqüência em aplicações que
necessitem de busca por padrões, como por exemplo, data mining e análise de dados.
“Algoritmos de Clusterização dividem os dados em grupos úteis ou
significativos, chamados clusters, nos quais a similaridade intra-cluster
é maximizada e a similaridade inter-cluster é minimizada. Estes
clusters descobertos podem ser usados para explicar as características
da distribuição dos dados subjacentes e assim servir como base para
várias técnicas de análise e mineração de dados. As aplicações de
clusterização incluem caracterização de diferentes grupos de clientes
baseado nos padrões de compra, categorização de documentos na
World Wide Web, agrupamento de genes e proteínas que possuem
funcionalidades similares, agrupamento de localizações geográficas
propensas a terremotos através de dados sismológicos, etc.” [Cluto,
2010]
Existem diversas técnicas de clusterização, e cada uma possui suas vantagens e
desvantagens. De acordo com Steinbach et. al. (2000), clusterização hierárquica é
retratada como a técnica de clusterização de melhor qualidade, sendo limitada pela sua
complexidade quadrática, já o K-means e suas variações possuem complexidade de
tempo linear, mas produzem clusters de qualidade inferior.
Uma variação de grande importância do K-means é o Bisecting K-means. Este algoritmo
é tão eficiente quanto o K-means original, mas gera clusters de qualidade igual ou
superior aos algoritmos de clusterização hierárquica.
“Entretanto, durante o curso de nossos experimentos descobrimos que
uma variação simples e eficiente do K-means, o ‘bisecting’ K-means,
pode produzir clusters de documentos que são melhores que os
produzidos pelo K-means ‘normal’ e tão boas ou melhores que aquelas
produzidas pelas técnicas de aglomeração hierárquicas.” [Steinbach et.
al., 2000]
Na próxima sessão será apresentado o algoritmo K-means e seu funcionamento.

2. O algoritmo K-means
O algoritmo de clusterização K-means poder ser também chamado de K-médias.
Segundo Jain et. al. (1999) o algoritmo K-means é popular devido a sua facilidade de
implementação e sua ordem de complexidade O(n), onde n é o número de padrões.
De acordo com Fontana e Naldi (2009), K-means utiliza o conceito de centróides como
protótipos representativos dos grupos, onde o centróide representa o centro de um
grupo, sendo calculado pela média de todos os objetos do grupo.
“K-means é uma técnica que usa o algoritmo de agrupamento de dados
por K-médias (K-means clustering). O objetivo deste algoritmo é
encontrar a melhor divisão de P dados em K grupos Ci, i = 1, ... K, de
maneira que a distância total entre os dados de um grupo e o seu
respectivo centro, somada por todos os grupos, seja minimizada.”
[Pimentel et. al., 202920292]
Jain et. al. (1999) afirmam que, um dos maiores problemas do algoritmo K-means é que
o mesmo é sensível à seleção da partição inicial e pode convergir a um mínimo local do
valor da função de critério se a partição inicial não for devidamente escolhida. Um
exemplo desse problema também é apresentado a seguir:
“A Figura 1(grifo nosso) mostra sete padrões bidimensionais. Se
iniciarmos com os padrões A, B, e C como as médias iniciais em torno
das quais os três clusters são construídos, então nós finalizamos com a
partição {{A}, {B, C}, {D, E, F, G}} mostrada pelas elipses. O valor
do critério de erro dentro dos retângulos é muito maior para esta
partição que para a melhor partição {{A, B, C}, {D, E}, {F, G}}
mostrada pelos retângulos, que engloba o valor global mínimo da
função critério de erro que está nos retângulos para um agrupamento
contendo três clusters. A solução de três clusters correta é obtida
escolhendo, por exemplo, A, D, e F como as médias de cluster iniciais.”
[Jain et. al., 1999]

Figura 1. Sensibilidade do K-means à partição inicial

O algoritmo K-means pode ser descrito pelos passos a seguir (Figuras 2, 3 e 4), de
acordo com Fontana e Naldi (2009):
1. Atribuem-se valores iniciais para os protótipos seguindo algum critério, por
exemplo, sorteio aleatório desses valores dentro dos limites de domínio de cada
atributo;
2. Atribui-se cada objeto ao grupo cujo protótipo possua maior similaridade com o
objeto;
3. Recalcula-se o valor do centróide (protótipo) de cada grupo, como sendo a
média dos objetos atuais do grupo;
4. Repete-se os passos 2 e 3 até que os grupos se estabilizem;

Figura 2. Exemplo do Algoritmo K-means – parte 1.

Figura 3. Exemplo do Algoritmo K-means – parte 2.


Figura 4. Exemplo do Algoritmo K-means – parte 3.

Na sessão a seguir será apresentado o algoritmo Bisecting K-means, uma das variações
do K-means.

3. O algoritmo Bisecting K-means


Há diversas variações do algoritmo K-means de clusterização, e tais variações utilizam
diferentes estratégias e técnicas. Jain et. al. (1999) afirmam que algumas técnicas tentam
selecionar uma boa partição inicial afim de tornar mais provável encontrar o valor
mínimo global, e outra variação permite repartir e unir clusters resultantes. Explicam
ainda que há outra variante que envolve selecionar um valor de função de critério
completamente diferente, que busca obter a aproximação de clusters através da
formulação do problema no framework de estimativa de probabilidade máxima.
O algoritmo Bisecting k-means consiste em uma variação hierárquica do algoritmo k-
means, que em cada iteração, seleciona um grupo e o divide, de forma a gerar uma
hierarquia [Fontana e Naldi, 2009].
O algoritmo Bisecting K-means pode ser descrito da seguinte forma [Steinbach et. al.,
2000]:
1. Selecionar um cluster para dividir;
2. Encontrar 2 sub-clusters usando o algoritmo K-means básico;
3. Repetir o passo 2 por uma quantidade fixa de vezes e escolher a divisão que
produzir o cluster com a maior similaridade global. (Para cada cluster, sua
similaridade é a similaridade média de pares de documentos
4. Repetir os passos 1, 2 e 3 até que o número desejado de clusters seja alcançado.
Fontana e Naldi (2009) exemplificam o algoritmo Bisecting K-means de acordo com as
figuras 5 e 6.
Figura 5. Exemplo do Algoritmo Bisecting K-means – parte 1.

Figura 5. Exemplo do Algoritmo Bisecting K-means – parte 2.

Na próxima
s sessão serão apresentadas soluções na área de educação que utilizam o
algoritmos Biscting K-means.
2
4. Trabalhos Relacionados
2

Os problemas da área de educação no âmbito computacional são relacionados a


aplicações da informática para auxílio no ensino e aprendizagem, detecção e
mapeamento de perfis, ou de conhecimento, entre outros. A seguir serão mostrados
alguns exemplos de aplicações dos algoritmos K-means e Bisecting K-means na
educação.

4.1. A identificação de grupos de aprendizes no ensino presencial utilizando


técnicas de clusterização
No artigo “A identificação de grupos de aprendizes no ensino presencial utilizando
técnicas de clusterização” [Pimentel et. al., 2003] é apresentada uma experiência de
categorização de alunos através de clusterização. Nesta experiência o objetivo foi
encontrar alunos com perfis semelhantes, separá-los em grupos homogêneos, e tentar
ajudar os alunos com dificuldade de aprendizado.
São utilizados no referido trabalho os algoritmos K-means e Self-Organizing Maps
(SOM).
Segundo Pimentel et. al. (2003) como estudo de caso foram escolhidas turmas de
graduação em cursos de Informática de duas instituições de ensino superior, e como
entrada de dados foi utilizado um questionário com 68 questões, onde os alunos
atribuíam uma nota de 0 a 5 em relação ao próprio conhecimento no tópico, para assim
!identificar o grau de confiança dos alunos em cada tópico das disciplinas utilizadas. !

Para obtenção dos resultados do experimento foram utilizados dois tipos de conjuntos de
dados de entrada, um envolvendo cada um dos itens do questionário e outro contendo as
médias " das # $ % &!respostas
' ! ( ! ) * + , - * . por
/ ! 0 1! 2 grupos
/ 3 ! $ 4 &/ - de
% ) ! 2 /acordo
5 2 % 5 6 - 4 7 com
/ ) ! % 5 6 - uma
% ! 8 9: ! %ontologia
! 0 90 ! que foi previamente
criada utilizando o Protege. Pimentel et. al. (2003) afirmam
" # $ % &! ; ! ( ! ) * + , - * . / ! : 1! 2 / 3 ! 3 * <6 / ) ! $ 4 &/ - % ) ! . - = > <3 / ) ! 7 % ! : ! que apesar da utilização do
primeiro conjunto parecer a mais correta, a viabilidade foi maior utilizando o segundo
! ? ! @ 4 + % &4 ! A ! 4 . - % ) % 5 6 4 ! 4 ! $ <) B / ! . 4 - 2 <4 &! 7 % ! * 3 ! 4 , - * . 4 3 % 5 6 / ! C/ - 3 4 7 / ! . % &/ ! 4 &, / - <6 3 / ! D E 3 % 4 5 ) ! 5 4 !
conjunto por haver uma menor quantidade de variáveis para serem comparadas.
6 * - 3 4 ! F 0 ? 9! G * 4 5 7 / ! ) % ! 2 / 3 . 4 - 4 ! 4 ) ! 3 % ) 3 4 ) ! 2 / &* 5 4 ) ! 7 % 5 6 - / ! 7 / ! 3 % ) 3 / ! , - * . / 1! H ! . / ) ) # $ % &! / + ) % - $ 4 - ! 4 !
.Pelo
- / > <3 fato
<7 4 7 % da ! 7 / ) seleção
! $ 4 &/ - % ) ! 7 inicial
% 3 / 5 ) 6 - do
4 5 7 / algoritmo
! 4 ) ) <3 ! 4 ! 2 / % ser
- I 5 2 <4aleatória,
! 7 / ) ! 4 , - * . 4os
3 % resultados
5 6 / ) ! C / - 3 4 7 / obtidos
) ! J $ <7 % ! 4 ! K em
- % 4 ! %cada
)2* -4!
5execução
4 ! 6 4 + % &4 ! A 1! - do
% C% - %K-means
5 6 % ! 4 / ! , - * . / são
! 8 L 9! diferentes, para tanto a ferramenta utilizada executa o
algoritmo várias vezes e escolhe a solução cujas distancias seja e menor.

N7 % 5 6 <C<2 4 O B M / 5 2 % <6 / ) ! J G * % ) 6</ 5 K - </ L !


R S T UV !
/ ! 7 / ! 4 &* 5 / ! ? ! P ! M! ' ! ; ! Q!
WW8 X W! Y 1A ! Y 1Z ! : 1: ! : 1: ! : 1: ! : 1: : !
WW8 [ [ ! 0 1A ! A 1: ! 0 1[ ! 8 18 ! : 1: ! : 1: : !
WW8 A : ! Y 1A ! A 10 ! A 1: ! A 18 ! Y 1Y ! A 1[ 8!
WW8 A X ! Y 1Y ! A 1X ! A 1: ! Y 1[ ! A 1[ ! A 1: 8!
WW8 8 A ! Y 10 ! A 1A ! [ 1: ! A 10 ! A 1X ! A 1[ 8!
WW8 Y A ! A 1[ ! A 10 ! [ 1: ! 0 1Z ! A 1\ ! A 1[ 8!
WW8 8 [ ! A 18 ! A 1X ! [ 1: ! A 1\ ! [ 1: ! [ 1: 8!
WW8 A Y ! 8 1Z ! Y 1: ! Y 1: ! : 1\ ! : 1: ! Y 1[ 0!
WY 8 X X ! 0 10 ! 8 1Y ! 0 1: ! 8 18 ! : 1[ ! 8 1[ 0!
WW8 : A ! 8 10 ! 8 1W ! 0 1Y ! : 1Z ! : 1X ! 8 1: 0!
WW8 X \ ! 8 10 ! 8 1W ! 0 1Y ! 8 1Y ! : 1X ! 0 1: 0!
WW8 : [ ! 0 1A ! Y 18 ! 0 1Y ! 8 1A ! : 1\ ! 0 1[ 0!
Tabela 1. Visão dos grupos formados pelo K-means.

UA4 - 4Tabela
! / + 6% 5 O B 1/ ! 7apresenta
/ ) ! - % ) * &6 4 7 / os) ! C / grupos
<! * 6<&<] 4 7 /encontrados
! / ! ) / C6^ 4 - % ! F Vpelo _ ` U ?K-means.
D ! 7 % ) % 5 $ / &$Segundo
<7 / ! . % &4 ! % osa * <. autores
%! b F V _ !
U(Pimentel
- / , - 4 3 3 <5 , et. c ! 7 / al.,
! d 4 + /2003)
- 4 6 = - </ ! para
7 % ! M / 3 verificar
. * 64 O B / ! % ! os
M <I 5 resultados,
2 <4 ) ! 7 4 ! N5 C / - 3 solicitou-se
4 O B / ! 7 4 ! T 5 <$ %que
- ) <7 4 7 um
% ! 7 % ! professor
@ % 2 5 / &/ , <4 !
7 % ! e % &) <5 f <! g D / h / 5 % 5 ! % 6 ! 4 &! 8 Z Z X i 9!
analisasse os resultados obtidos pelo algoritmo em relação a própria turma, e o professor
$
afirmou que teria feito o mesmo agrupamento, e que os erros encontrados foram
causados por respostas equivocadas dos alunos.
Foi observado pelos autores que os resultados obtidos utilizando o K-means foram
próximos aos resultados humanos. Os testes e resultados com o SOM não serão
comentados pois não foram relevantes e não são o foco deste trabalho.

4.2. Um QAsystem para Interação de Alunos em Avaliações Somativas a Distância


O artigo apresenta um sistema de perguntas e respostas que retornará uma resposta
adequada para um aluno caso exista uma resposta compatível à pergunta realizada, e
para isso é utilizada clusterização automática para verificar a similaridade entre as
perguntas [Oliveira et. al., 2009].
No artigo é utilizado como objeto de estudo uma ferramenta de avaliação somativa
online do processo de ensino-aprendizagem de classificação bibliográfica em cursos de
Biblioteconomia, o SOAD.
O SOAD tem como objetivo aferir, através de provas online, a qualidade de um processo
de ensino-aprendizagem e possivelmente apontar competências de alunos. A avaliação
somativa do SOAD foi projetada para ser realizada após as avaliações diagnósticas e
formativas do sistema SOAC [Oliveira 2009].
De acordo com Oliveira et. al. (2009) no artigo é proposta uma abordagem de QAsystem
livre de gramática, que aplica a clusterizacão automática para reconhecer perguntas
semelhantes através de medidas tradicionais de similaridade de textos. Para tanto é
utilizado o Cluto, um pacote de clusterização de dados, sendo utilizado neste artigo o
algoritmo Bisecting K-means.
Na metodologia do artigo apresentado o trabalho foi dividido em etapas [Oliveira et. al.
2009]:
 Escolha do Conjunto de dados – onde foram selecionadas perguntas de uma base
na língua inglesa, que contem perguntas semanticamente iguais e sintaticamente
diferentes.
 Pré-processamento de dados – eliminação de palavras que se repetem no idioma,
como conjunções coordenativas, e indexação de palavras em uma matriz para
medir a freqüência das mesmas.
Oliveira et. al. (2009) afirmam que os resultados da clusterização com Bisecting K-
means para o agrupamento de perguntas semelhantes foi superior a 85% nas principais
métricas de clusterização automática.
“Os resultados de clusterização automática obtidos (Tabela 1) mostram
que as medidas de similaridade não-híbridas como cos e corr superam
os resultados das medidas de similaridade, também não-híbridas, de
jaccard e TF-IDF apresentados por [Achananuparp et al. 2008],
conforme a Figura 6 (grifo nosso). No entanto, os resultados de
clusterização automática não superam a maioria das abordagens
híbridas, isto é, de combinação de medidas de similaridades,
propostas por [Achananuparp et al. 2008]... Ainda assim,
concluímos que a clusterização automática, com medidas de
similaridades de sentenças livres de gramática, pode ser um bom
método para construção de QAsystems e menos complexo que as
abordagens híbridas de [Achananuparp et al. 2008].” [Oliveira et.
al., 2009]
Figura 6. Resultados de medidas de similaridades aplicadas à base de perguntas.
Figura 5. Resultados de medidas de similaridades aplicadas à base TREC-9. Fonte:
[Achananuparp et al. 2008]
4. Considerações finais
Através dos artigos
[Achananuparp et al.analisados foi possível
2008], conforme constatar
a Figura 5. Noqueentanto,
a utilização dos algoritmos
os resultados de
de cluste-
clusterização é extremamente útil para automatizar os processos de classificação
rização automática não superam a maioria das abordagens híbridas, isto é, de combinação e
categorização
de medidas dede informações.propostas por [Achananuparp et al. 2008].
similaridades,
Os algoritmos
Ainda abordados, K-means eque
assim, concluimos Bisecting K-means, apresentam
a clusterização automática,tanto
comganhos de
medidas
performance, quantodeganhos
de similaridades de qualidade
sentenças livres se
de comparados
gramática, aos algoritmos
pode ser umde bom
clusterização
método
hierárquica.
para construção de QAsystems e menos complexo que as abordagens híbridas de
Em certos casoset oal.ganho
[Achananuparp 2008].foi na simplicidade da solução, trazendo alternativas para
soluções complexas.
5. Consideraçõesfinais
Seria interessante que trabalhos que foram feitos utilizando o algoritmo K-means clássico
Apresentamos
fossem refeitosneste trabalho,
utilizando como parte
o Biscting integrante
K-means, do os
já que sistema
ganhosde do
avaliação
mesmosomativa
não se
SOAD, um
resumem de seus
apenas principais recursos
ao desempenho, que é àum
mas também QAsystem
qualidade dospara responder
resultados automatica-
obtidos.
mente às perguntas feitas por alunos sobre objetos de classificação em questões de provas
Referencias
online. O objetivo de um QAsystem no SOAD é ajudar alunos a chegarem às respostas
certas desde
Fontana, A.,que saibam
Naldi, M. fazer as perguntas
C. Estudo certas.
de Comparação de Métodos para Estimação de
Números
Para de Grupos
validar em Problemas
o QAsystem de Agrupamento
baseado em clusterizaçãode Dados. 2009.realizamos
automática, Universidade de
alguns
São Paulo. ISSN - 0103-2569
experimentos sob uma base de perguntas e respostas internacionalmente reconhecida para
Jain, QAsystem
testesA.deK., Murty,sM. [Achananuparp
N., and Flynn,et al.
P. 2008]. Esses
J. (1999). experimentos
Data clustering: foram realizados
a review. ACM
Comput. Surv., 31(3):264–323.
aplicando-se a clusterização automática para formação de agrupamentos de perguntas
similares.M.OsG.,resultados
Oliveira, Oliveira, alcançados foram superiores
E., and Marchesi, a 85%
M. Z. (2009). Um nas principais
QAsystem paramétricas de
Interação
avaliação
de Alunos de clusterização
em Avaliaçõesautomática.
Somativas a Distância. In Anais do Simpósio Brasileiro de
Informática na Educação,
Concluimos, dessa forma, Florianópolis, SC. SBC. pode ser um método eficaz para a
que a clusterização
formação de
Pimentel, E. um QAsystem
P, França, V.noF.,sistema SOAD.N.O (2003).
and Omar, próximoApasso de nossas de
identificação pesquisas
grupos será
de
realizar esses experimentos
aprendizes sobre umautilizando
no ensino presencial base de perguntas
técnicas de língua portuguesa.
clusterização. In Anais do
Simpósio Brasileiro de Informática na Educação, Rio de Janeiro, RJ. SBC.
Em resumo, este trabalho se propõe a oferecer como contribuição para cursos a
Steinbach, M., Karypis,
distância online G., and Kumar,
uma possibilidade V. (2000).
de maior A comparison
interatividade of document
em provas online declustering
forma a
techniques.
ajudar o aluno KDD workshop
a construir on text
caminhos mining.
para chegar às soluções de questões de provas.

6. Agradecimentos
Agradecemos à Fundação de Apoio à Ciência e Tecnologia do Espírito Santo (FAPES)
pelo apoio dado às pesquisas apresentadas neste artigo.

XX Simpósio Brasileiro de Informática na Educação (2009)

Você também pode gostar