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.