Estudo de Técnicas de Redução de Dimensionalidade

Propaganda
1
Estudo de Técnicas de Redução de Dimensionalidade
Davis Une Miyashiro, Maria Camila Nardini Barioni
Centro de Matemática, Computação e Cognição – CMCC/UFABC
Santa Adélia, 166 – Bairro Bangu, CEP 09210-170, Santo André - SP
Resumo: Técnicas e algoritmos de busca de dados que se mostram interessantes para conjuntos de dados pequenos podem não ser
adequados quando o volume de dados é escalado para volumes que são de ordens de grandeza maiores, tanto em número de atributos
(dimensões) envolvidos, quanto em número de itens tratados. No contexto do processo de Mineração de Dados, escalabilidade refere-se
tanto à complexidade computacional sobre o número de tuplas numa relação, quanto sobre o número de atributos envolvidos no
processo. Sendo assim, a redução de dimensionalidade é importante para diversas técnicas empregadas nesse processo, como as de
aprendizado de máquina, indexação de dados multimídia, detecção de agrupamentos e visualização de dados. As abordagens e técnicas
de redução de dimensionalidade são os objetos de estudo desse trabalho.
Palavras Chave — Mineração de Dados, Redução de Dimensionalidade.
I. INTRODUÇÃO E MOTIVAÇÃO
O progresso tecnológico ocorrido nas últimas décadas
possibilitou que a quantidade de dados coletados e
armazenados aumentasse rapidamente. Isso foi devido a
diversos fatores como: a disponibilização de dispositivos
baratos e com grande capacidade de armazenamento; a
proliferação do uso e padronização dos sistemas gerenciadores
de banco de dados (SGBD) e ao aumento da utilização de
sistemas computacionais em diversas transações comerciais,
científicas e governamentais [Han and Kamber, 2001].
Esse crescimento explosivo da quantidade de dados
armazenados fez com que pessoas e organizações se
deparassem com o problema de fazer uso desses dados de
maneira a auxiliar no processo de tomada de decisão. Isso
gerou a necessidade do desenvolvimento de novas técnicas e
ferramentas que pudessem transformar, de maneira inteligente
e automática, os dados processados em informações úteis e
conhecimento. O desenvolvimento dessas novas técnicas tem
sido explorado pela área de pesquisa denominada Descoberta
de Conhecimento em Banco de Dados (Knowledge Discovery
in Databases - KDD) que integra técnicas e conceitos de
diversas áreas – como Aprendizado de Máquina, Banco de
Dados, Estatística, Reconhecimento de Padrões, Inteligência
Artificial e Visualização de Dados – para realizar a
transformação dos dados em conhecimento útil (tarefa
conhecida como Mineração de Dados ou Data Mining)
[Fayyad et al., 1996].
Um dos grandes desafios na Mineração de Dados é o
desenvolvimento de algoritmos que consigam identificar
mudanças na evolução de dados, um problema dificultado
quando os dados são representados em espaços de alta
dimensão. Nessas situações, algoritmos de mapeamento e
seleção que produzem uma representação dos dados em
dimensões menores podem ser aplicados. Existem diversos
algoritmos como o Multidimensional Scaling [Kruskal and
Wish, 1978], MetricMap [Wang et al, 1999] e o FastMap
[Faloutsos and Lin, 1995] que cumprem bem esse papel,
dentre eles o algoritmo FastMap foi escolhido como objeto de
estudo nesse trabalho por apresentar baixo custo
computacional e boa precisão.
O restante deste trabalho é apresentado da seguinte forma.
Na Seção 2 é feita uma breve descrição de conceitos
importantes associados aos assuntos envolvidos neste artigo,
incluindo o funcionamento do algoritmo FastMap. A Seção 3
descreve a aplicação desenvolvida para estudo do tema deste
trabalho, com um exemplo demonstrando seu funcionamento.
A Seção 4 apresenta a conclusão do trabalho e trabalhos
futuros.
II. FUNDAMENTAÇÃO
A redução de dimensionalidade é uma das mais importantes
formas de regressão, pois permite eliminar subconjuntos de
atributos – dos processos de análise subseqüentes – do
conjunto original de atributos, muitas vezes de alta dimensão,
que descrevem os objetos do banco de dados [Hair et al.,
1995]. O grande número de dimensões dos conjuntos de dados
aumenta a complexidade das técnicas de manipulação e
degrada o desempenho dos algoritmos de mineração de dados.
Para diminuir esses efeitos, as técnicas de redução de
dimensionalidade têm por objetivo representar um conjunto de
dados de dimensão E em outro espaço de dimensão menor que
E, procurando manter as características do conjunto.
Os processos de redução de dimensionalidade podem ser
divididos em processos de extração de atributos e processos de
seleção de atributos. Não há um consenso na literatura para o
uso dos termos extração de atributos e seleção de atributos.
Neste artigo, utilizaremos o termo extração de atributos para
os métodos que alteram os valores dos atributos e agrupam a
informação em um número de dimensões menor que a
original, e usaremos seleção de atributos para os métodos que
escolhem atributos do conjunto de dados indicando-os como
mais significativos.
Um processo de extração de atributos busca alterar a
representação de um conjunto de dados, de maneira que a
nova representação apresente uma dimensão menor do que a
representação original, procurando manter as características
inerentes da informação armazenada [Hair et al., 1995]. Um
2
processo de seleção de atributos escolhe uma ou mais
dimensões do conjunto que se julga serem mais importantes.
Existem na literatura diversas técnicas para redução de
dimensionalidade. São exemplos de técnicas de extração de
atributos a Análise de Componentes Principais (Principal
Component Analysis - PCA) [Hair et al., 1995, Han and
Kamber, 2001], a Escala Multidimensional (Multidimensional
Scaling - MDS) [Kruskal and Wish, 1978, Han and Kamber,
2001] e o FastMap [Faloutsos and Lin, 1995]. Dentre as
técnicas de seleção de atributos estão as embutidas em
algoritmos de aprendizado de máquina [Huei, 2000,
Baranaukas, 2001], as baseadas no cálculo de dimensão fractal
[Sousa et al., 2007] e wrapper [Figueiredo et al., 2003].
Para o desenvolvimento do trabalho descrito neste artigo,
foi escolhido o algoritmo FastMap, o qual efetua o
mapeamento de dados de espaços em altas dimensões para
espaços de dimensões menores preservando o máximo
possível as distâncias entre os objetos. Esse algoritmo tem se
mostrado robusto para aplicações em geral, além disso,
nenhum método
que
apresente
um desempenho
significativamente melhor foi desenvolvido, mesmo em
aplicações especiais [Hristescu and Farach-Colton, 2000]
[Traina et al., 2001].
A.
Algoritmo FastMap
O algoritmo FastMap [Faloutsos and Lin, 1995] se baseia
na projeção dos n objetos de um conjunto de dados em um
espaço dimensional E, formado por um conjunto de eixos
onde cada eixo é definido por um par de objetos chamados
pivôs obtidos do conjunto de dados. O algoritmo exige que as
distâncias entre os objetos no espaço original sejam
computadas usando uma função de distância definida pelo
usuário.
A aplicação da função de distância Euclidiana permite que
as projeções dos objetos possam ser calculadas utilizando a
Lei dos Cossenos. A Figura 1 ilustra a projeção do objeto Oi
sobre a distância entre os pivôs Oa e Ob, onde xi é a distância
projetada entre o objeto Oi e o pivô Oa.
Intuitivamente, o método trata cada distância entre pares de
objetos como uma mola, tentando rearranjar as posições dos n
objetos de forma a minimizar as “deformações” na mola.
Os pivôs são os pares de objetos mais afastados entre si e
próximos aos “limites” do conjunto de dados. O algoritmo
precisa de um par de pivôs para cada dimensão do espaço
mapeado, de forma a aproximar o eixo a um espaço ortogonal.
Para encontrar os objetos mais afastados entre si, seria
necessário computar as distâncias entre cada par de objetos,
resultando num algoritmo de complexidade O(n2) pelo número
de cálculos de distância. O algoritmo utiliza uma heurística
para encontrar os pares de objetos cujas distâncias são
próximas àquelas dos objetos mais distantes, levando a um
algoritmo de complexidade O(n).
III. DESCRIÇÃO DA APLICAÇÃO DESENVOLVIDA
A aplicação desenvolvida é constituída por três
componentes principais:
1)
Leitura dos dados de arquivos no formato ARFF;
2)
Aplicação do algoritmo FastMap;
3)
Escrita no formato ARFF e no formato PLT do
resultado da aplicação do algoritmo.
A aplicação fornece uma interface gráfica e foi
desenvolvida em linguagem JAVA, permite a leitura de
arquivos no formato ARFF e grava nos formatos ARFF e PLT.
A leitura dos dados é feita a partir de arquivos no formato
ARFF e seu conteúdo é exposto numa das janelas do
aplicativo. O usuário pode escolher o número de dimensões a
que deseja reduzir o arquivo original e optar pela saída no
formato ARFF ou PLT.
Após a aplicação do algoritmo FastMap sobre o conjunto de
dados original, o resultado é exibido no aplicativo, tendo o
usuário a possibilidade de gravação do mesmo em arquivo.
O formato ARFF foi escolhido por ser o mesmo utilizado
pela ferramenta Weka [Weka, 2009], que provê uma coleção
de algoritmos para diversas tarefas de Mineração de Dados
[Witten and Frank, 2005], visualização e comparação de
resultados, o que possibilita a comparação das performances
dos algoritmos contidos nas duas aplicações. Já a escrita de
arquivos script do tipo ASCII no formato PLT possibilita a
visualização dos dados mapeados utilizando o gnuplot
[gnuplot, 2009], um aplicativo de domínio público que
constrói gráficos em 2D e 3D. O arquivo vem formatado com
comandos do aplicativo assim como os conjuntos de dados.
A. Exemplo de Utilização
Fig1. Projeção do objeto Oi sobre a linha OaOb.
Após o mapeamento de k=1 (onde k é o número de
dimensões do espaço final), as dimensões (E-k) restantes são
projetadas no hiper-plano dimensional (E-k) que intercepta a
linha OaOb para então mapear os objetos neste hiper-plano.
A implementação foi testada utilizando vários conjuntos de
dados, dentre eles, o conjunto Iris do site Machine Learning
Repository da Universidade da Califórnia em Irvine [Asuncion
and Newman, 2007] que foi escolhido por ser freqüentemente
referenciado neste tipo de aplicação. Esse conjunto de dados é
constituído por cento e cinqüenta registros divididos em três
classes, onde cada classe representa um tipo da planta.
3
O aplicativo possui interface simples e intuitiva, após a
abertura do conjunto Iris, a conversão para um espaço de duas
dimensões no formato PLT pode ser vista na Figura 2.
citadas oferece interessantes formas de aproveitamento da
técnica.
É importante notar que, conforme mencionado
anteriormente, o resultado da redução de dimensionalidade
também pode ser gravado no formato ARFF. Isso possibilita
que o arquivo resultante possa ser utilizado como entrada para
os diversos algoritmos de mineração de dados na ferramenta
Weka.
Dentre os trabalhos futuros está prevista a realização de um
estudo comparativo de desempenho do algoritmo FastMap
com outros algoritmos de redução de dimensionalidade.
REFERÊNCIAS
[1]
[2]
[3]
Fig.2 – Exemplo de Utilização do aplicativo
Após a gravação do resultado em arquivo PLT, a criação do
gráfico pelo gnuplot utilizando os dados mapeados pode ser
conferida na Figura 3. Essa possibilidade de visualização é
interessante pois permite que o usuário explore sua capacidade
de interpretar grandes quantidades de dados visualmente para
analisar os resultados da aplicação do algoritmo FastMap.
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
Fig.3 – Gráfico do conjunto Iris após aplicação do Fastmap
[12]
O desenvolvimento da aplicação foi realizada utilizando o
software IDE NetBeans versão 6.5 em Windows XP.
[13]
IV. CONCLUSÕES E TRABALHOS FUTUROS
As técnicas de redução de dimensionalidade baseadas em
extração de atributos são empregadas extensivamente tanto na
mineração de dados, em relação à análise de agrupamentos e
visualização de dados multidimensionais [Jain et al., 1999,
Faloutsos and Lin, 1995, Traina et al., 2001, Barioni et al.,
2002], quanto em ferramentas que manipulam grandes
volumes de dados complexos, como bibliotecas digitais e
ferramentas de arquivamento e de distribuição de imagens em
ambientes hospitalares [Marques et al., 2000]. A redução de
dimensionalidade mostrou grande eficiência nos dados
testados e a possibilidade de sua aplicação nas diversas áreas
[14]
[15]
[16]
[Asuncion and Newman, 2007] Asuncion, A. and Newman, D. (2007).
UCI machine learning repository.
[Baranaukas, 2001] Baranaukas, J. A. (2001). Extração Automática de
Conhecimento por Múltiplos Indutores. Tese de Doutorado, ICMC/USP,
São Carlos, 183 p.
[Faloutsos and Lin, 1995] Faloutsos, C. and Lin, K.-I. D. (1995).
FastMap: A Fast Algorithm for Indexing, Data-Mining and Visualization
of Traditional and Multimedia Datasets. In ACM Int’l Conference on
Data Management (SIGMOD), pages 163–174, Zurich, Switzerland.
Morgan Kaufmann.
[Fayyad et al., 1996] Fayyad, U. M., Piatetsky-Shapiro, G., and Smyth,
P. (1996). From data mining to knowledge discovery: An overview. In
Advances in Knowledge Discovery and Data Mining, pages 1–34.
AAAI/MIT Press.
[Figueiredo et al., 2003] Figueiredo, M. A. T., Jain, A. K., and Law, M.
H. (2003). A feature selection wrapper for mixtures. LNCS Pattern
Recognition and Image Analysis, 2652(1-2):229–237.
[gnuplot, 2009] gnuplot Homepage, 2009. Disponível em:
<http://www.gnuplot.info/documentation.html>. Acesso em: 16 set.
2009.
[Hair et al., 1995] Hair, J. F. J., Anderson, R. E., Tatham, R. L., and
Black, W. C. (1995). Multivariate Data Analysis. Prentice Hall, New
Jersey, 5a edition.
[Han and Kamber, 2001] Han, J. and Kamber, M. (2001). Data mining:
Concepts and techniques. Academic Press, San Diego, CA, USA.
[Huei, 2000] Huei, D. L. (2000). Seleção e Construção de Features
Relevantes para o Aprendizado de Máquina. Dissertação de Mestrado,
ICMC/USP, São Carlos, 95 p. 6
[Jain et al., 1999] Jain, A., Murty, M., and Flynn, P. (1999). Data
clustering: A review. ACM Computing Surveys, 31(3):264–323. DOI:
http://doi.acm.org/10.1145/331499.331504.
[Kruskal and Wish, 1978] Kruskal, J. B. and Wish, M. (1978).
Multidimensional Scaling. Bervely Hills and London: SAGE
Publications.
[Marques et al., 2000] Marques, P. M. d. A., Santos, A. C., Júnior, J. E.,
Goes, W. M., and Castro, C. R. (2000). Implantação de um Sistema de
Informação em Radiologia em Hospital Univeristário. Radiologia
Brasileira, 33:155–160.
[Sousa et al., 2007] Sousa, E. P. M., Traina Jr, C., Traina, A. J. M., Wu,
L., and Faloutsos, C. (2007). A fast and effective method to find
correlations among attributes in databases. Data Mining and Knowledge
Discovery, 14:367–407.
[Traina et al., 2001] Traina, A. J. M., Traina, Caetano, J., Barioni, M. C.
N., Botelho, E., and Bueno, R. (2001). Visualização de dados em
sistemas de bancos de dados relacionais. In Simpósio Brasileiro de
Banco de Dados (SBBD), pages 95–109, Rio de Janeiro, RJ. SBC.
[Weka, 2009] Weka 3: Data Mining Software in Java. Developed by
Machine Learning Project at the Department of Computer Science of
The University of Waikato, 2008. Apresenta informações sobre a
ferramenta Weka e assuntos relacionados. Disponível em:
<http://www.cs.waikato.ac.nz/~ml/weka/arff.html>. Acesso em: 16 set.
2009.
[Witten and Frank, 2005] Witten, I. H. and Frank, E. (2005). Data
Mining: Practical machine learning tools and techniques. Morgan
Kaufmann, San Francisco, 2a edition.
Download