Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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]
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;
Na sessão a seguir será apresentado o algoritmo Bisecting K-means, uma das variações
do K-means.
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
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.
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.
6. Agradecimentos
Agradecemos à Fundação de Apoio à Ciência e Tecnologia do Espírito Santo (FAPES)
pelo apoio dado às pesquisas apresentadas neste artigo.