Uso de Redes Neurais Artificiais na Descoberta de Conhecimento a partir de Dados e Imagens de Sensores Clodis Boscarioli1,2, Leandro Augusto da Silva2, Emílio Del Moral Hernandez2 {boscarioli, leandro, emilio}@lsi.usp.br 1 Universidade Estadual do Oeste do Paraná – Cascavel – PR – Brasil 2 Escola Politécnica – Universidade de São Paulo – São Paulo – SP – Brasil Resumo Este trabalho apresenta uma visão geral de Redes Neurais Artificiais aplicadas à análise de dados de sensores nas tarefas de classificação (rede MLP) e agrupamento de dados (rede SOM), discutindo o processo de descoberta de novos conhecimentos, e evidenciando como essas técnicas podem efetivamente serem utilizadas para prover subsídios à tomada de decisão. Palavras-chave: Redes Neurais Artificiais, Análise de dados de sensores, reconhecimento de padrões. Abstract This paper presents an overview of Artificial Neural Networks applied to sensors data analysis in classification (MLP neural network) and data clustering (network SOM) tasks, discussing the process of new knowledge discovery, and showing how these techniques can effectively be used to provide subsidies for making-decision. Keywords: Artificial Neural Network, Sensors Data Analysis, Pattern Recognition. quantidade de dados, de natureza distribuída e de alta dimensionalidade. A descoberta de conhecimento em bases de dados (Knowledge Discovery in Databases - KDD) é um processo que visa a extração não-trivial de padrões necessariamente implícitos, previamente desconhecidos e potencialmente úteis, a partir o relacionamento entre os registros de uma base de dados, ou seja, enfatiza o conhecimento como o "produto final" de uma descoberta direcionada aos dados [3]. Esse processo, interativo e iterativo, envolve, basicamente, duas grandes fases, de preparação e de mineração de dados [6]. A preparação de dados está focada na limpeza, remoção de dados espúrios e valores ausentes, melhorando a qualidade dos dados. A mineração de dados consiste em aplicar algoritmos de análise e descoberta de dados, sob limitações de eficiência computacional aceitável, que produzam uma enumeração particular de padrões (ou modelos) sobre os dados [4]. 1. Introdução O uso de sensores em atividades diversas, como de monitoramento da qualidade do ar ou qualidade da água, são bastante importantes por questões econômicas e de impacto ambiental. Muitos dados têm sido coletados por sensores, no intuito de compreender certos fenônemos naturais. Sistemas integrados de sensores com uso de inteligência computacional têm papel cada vez mais notáveis na implementação de estratégias de automação e gestão, uma vez que os dados coletados pelos sensores devem ser processados e disponibilizados a usuários finais, não necessariamente especialistas no uso destas tecnologias, para interpretação e uso. No entanto, extrair conhecimentos úteis de dados brutos provindo de sensores não é uma tarefa fácil. Ferramentas convencionais de análise dados podem não ser adequadas ao manuseio de grande 629 As principais tarefas de um processo de mineração de dados são Estimativa, Regras de Associação, Classificação e Agrupamento de Dados, todas com possíveis aplicações de análise em dados coletados por sensores. Diversos algoritmos de reconhecimento de padrões podem ser empregados como análise de componentes principais, redes neurais artificiais, árvores de decisão, e muitos outros. Dentre as várias técnicas utilizadas para mineração e análise, o escopo deste trabalho está na utilização de Redes Neurais 1 (RNAs) para descoberta de Artificiais conhecimento, nas tarefas de Classificação e Análise de Agrupamentos de dados de sensores. As RNAs são modelos matemáticos que tentam representar, como devidas limitações, algumas tarefas do neurônio biológico, como associar, classificar e agrupar informações. Tais tarefas são realizadas por aprendizado, que é feito com a apresentação de um conjunto de amostras – ou padrões, que descrevem o universo de uma aplicação. No contexto de RNA, o aprendizado será a adaptação de parâmetros livres, chamados de pesos sinápticos. Existem duas formas de aprendizagem. Na primeira, chamada de aprendizado supervisionado, o padrão e a resposta desejada (ou rótulo) são apresentados à rede para que os pesos se ajustem. O aprendizado supervisionado mais conhecido é o Error-Back Propagation, geralmente aplicado em redes de arquitetura chamada de Perceptrons de Múltiplas Camadas, ou MLP, Multi-Layer Perceptrons. Já na segunda forma de aprendizado, chamado de não-supervisionado, o padrão é apresentado sem rótulo. O aprendizado mais conhecido é o chamado competitivo, aplicado em redes de arquitetura Mapas Auto-Organizados (SOM – SelfOrganizing Maps). Este trabalho está focado na utilização de Redes Neurais Artificiais para descoberta de conhecimento em bases de dados de sensores, e está organizado como segue: Nas próximas Seções, 2 e 3, serão discutidas, respectivamente, as arquiteturas MLP e SOM em função de seu aprendizado, com exemplos de aplicação em dados de sensores. Por fim, são apresentadas as conclusões sobre a utilização de RNAs como ferramenta analítica. 2. Perceptrons de Múltiplas Camadas (MLP) As redes neurais de arquitetura MLP tipicamente consistem de uma especificação do número de camadas, tipo de função de ativação de cada unidade e pesos de conexões entre as diferentes unidades que devem ser definidas para a construção desta arquitetura neural. A Figura 1 ilustra uma arquitetura do tipo MLP com múltiplas entradas e múltiplas saídas. As entradas e saídas podem abarcar valores analógicos e digitais. A saída depende das funções de transferência dos pesos sinápticos (wij) que serão ajustados pelo algoritmo de aprendizado, que busca um mapeamento “Entrada Saída” desejado. Figura 1. Arquitetura de uma rede MLP. O aprendizado ocorre com o uso de um conjunto de padrões, conjunto de pares de entrada e saída (X;y) que definem, através de exemplos, o sistema a modelar. Na prática, o sistema a modelar não pode ser observado em todas as infinitas situações possíveis para as entradas X, somente em “casos”, ou seja, valores isolados de X e seus correspondentes em y. Esses casos isolados, supostamente muitos e representativos, formam o conjunto de treinamento, ou seja, um retrato resumido do sistema real. O aprendizado inicia-se com a apresentação de X à entrada da rede, que se propaga até a saída. Quando ocorre um erro no reconhecimento de uma entrada, ou seja, quando a saída desejada não é igual a saída apresentada pela rede, ajustes sinápticos são necessários. Esses ajustes procuram corrigir os pesos de modo que se produza uma melhor saída diante da entrada apresentada. Esse ajuste se dá pela soma ou subtração de pequenas parcelas “Δw” aos pesos atuais w, visando melhorar o valor do peso, no que concerne o desempenho da rede em gerar a saída esperada. Tal processo é repetido várias vezes para cada caso (X;y). Ao final desse processo iterativo, o conhecimento da rede neural passa a residir nos pesos sinápticos. 1 Indica-se [5] como uma boa bibliografia para aprofundamento em Redes Neurais Artificiais. 630 O ajuste sináptico típico, em aprendizado supervisionado, envolve 3 elementos, como visto na Figura 2. onde µ identifica um de M exemplos de treinamento. O erro da rede deve ser dissolvido entre todos os pesos da rede. A regra de atualização é baseada no método do gradiente descendente que caminha na direção da minimização do erro: Δw ji = -η Figura 2. Elementos de um ajuste sináptico. O aprendizado, ou seja, o ajuste usual dos pesos para a rede MLP é o error backpropagation. A Figura 3 traz uma arquitetura de rede MLP com três camadas, entrada (X={x1,x2,x3}), com uma camada escondida (A,B) e um neurônio na saída (C). ∂Eqm ∂w ji Passo na direção oposta ao gradiente. Sendo o fator η a taxa de aprendizado ou adaptação de pesos, se ela for muito alta, pode haver dificuldades em localizar o ponto de mínimo de Eqm, pois pode ocorrer oscilação na sua busca. O delta da atualização será: Δw ji = ηδ j yi onde δ é o gradiente local que será calculado considerando se o neurônio está na saída da rede ou em sua camada escondida: Se o neurônio está na saída: δ j = (d j - y j )ϕ ' (v j ) Figura 3. Arquitetura MLP com vetor de entrada, pesos e saídas. Se o escondida: Ao introduzir o padrão X na entrada, o cômputo da propagação até a saída da rede será: neurônio está na camada δ j = ϕ ′ ( v j )∑ δ k w kj k∈C A etapa “calcular erro” é obtida pela Regra Delta, traduzida como: Escrevendo a equação propagação de entrada: geral wi (n + 1) = wi(n) + Δwji da → ⎛ NO ⎛ NE ⎞⎞ yrede ( X ) = ϕ ⎜⎜ ∑ v j ⋅ ϕ ⎜⎜ ∑ w ji xi + b0 ⎟⎟ ⎟⎟ ⎝ i =1 ⎠⎠ ⎝ j =1 2.1. Aplicações das Redes MLPs A rede MLP é a mais aplicada em problemas de classificação, de natureza analógica ou digital, com alta dimensionalidade e padrões não-linearmente separáveis. A Figura 3 ilustra duas classes, A e B, não-linearmente separáveis. Os eixos desse exemplo ilustram que os padrões podem ter dimensões baixas ou elevadas. Esse exemplo ilustra um caso típico de problemas que usa redes MLP. Dentre os vários exemplos de aplicação serão ilustrados dois exemplos de classificação de padrões de línguas eletrônicas e classificação de padrões patológicos. Sendo φ a função de transferência, em geral a tangente hiperbólica, v é o campo induzido, ou a saída de um único neurônio, wji, o peso sináptico, bo o bias, N0 o número de neurônios na camada escondida e Ne, o número de neurônios na camada de entrada. O erro quadrático médio, Eqm, será calculado entre a saída da rede e a saída desejada: (2) 631 características (features) que representam uma patologia maligna ou benigna, por exemplo, forma, cor e textura (Figura 5). De 5 a 20 medidas são definidas. Estas características (X) e seus “rótulos” (y=maligno/benigno) são usados para treinar o MLP. Figura 3. Exemplo de padrões bidimensionais (no caso real eles são de dimensões elevadas) não-linearmente separáveis. A língua eletrônica (Figura 4) é constituída por um array de sensores usados para classificar padrões como tipo de vinho, tipo de café e outros. A natureza de medida pode ser, por exemplo, a classe do café A e a classe do café B. Em redes neurais, as medidas dos sensores são as entradas da rede, ou seja, o número de sensores define a dimensão do padrão de entrada da rede. A classe do padrão a ser reconhecido, define a saída da rede, por exemplo, A e B. De 50 a 100 sensores são usados. Estas medidas (X) e seus “rótulos” (y=A/B) são usados para treinar a MLP. Figura 5. Exemplos de regiões de interesse de nódulos benignos e tumores malignos de mama. 3. Self-Organizing Maps (MLP) A rede SOM é baseada em um mapa de neurônios, cujos pesos são adaptados às entradas de vetores semelhantes presentes em um conjunto de treinamento [7]. Durante o treinamento, SOM comporta-se como uma rede flexível, a qual se dobra dentro das nuvens formadas pelos vetores de dados envolvidos no treinamento. Devido à relação de vizinhança, neurônios vizinhos são “arrastados” para a mesma direção, indicando que os vetores protótipos dos neurônios vizinhos tornam-se similares (próximos espacialmente) durante o processo de aprendizado. Para cada neurônio é computado seu respectivo valor, a partir de uma função de proximidade ao dado de entrada. A Figura 6 ilustra a arquitetura de SOM, com vetores de dados de dimensão p na camada de entrada e um conjunto de unidades u (neurônios) arranjados na forma de um mapa em 2D na camada de saída. Cada neurônio u tem associado um vetor de pesos wu = [wu1, wui2,..., wup] sendo p a dimensão desse vetor, ou seja, a mesma dos vetores de dados de entrada. Figura 4. Figura ilustrativa de uma língua eletrônica. Em outras aplicações, por exemplo, reconhecimento de padrões patológicos, a entrada da rede pode não ser de dados brutos, como no exemplo anterior, onde as medidas dos sensores são as próprias entradas da rede. Em imagens de mamografia, por exemplo, a dimensão de uma imagem é muito alta, (1024x1024). Apresentar imagens desse tipo à rede exigiria que a mesma capturasse naturezas não esperadas por um médico. Para tanto, faz-se necessário um préprocessamento das imagens. O pré-processamento constitui uma préseleção das regiões de interesse pelo médico, seguida pela aplicação de técnicas de processamento de imagens que capturam 632 A regra para a atualização dos vetores protótipos da unidade u é dada por: wu(t+1) = wu (t) + α (t) hbmu(t) [x - wu(t)] onde t é o número de época, α (t) é a taxa de aprendizado e hbmu (t) é o kernel da vizinhança centrado no neurônio vencedor. O kernel pode ser Gaussiano, como: hbmu (t ) = e Figura 6. Arquitetura de uma rede SOM 2D. − || rbmu − ru || 2 2σ 2 ( t ) onde rbmu e ru são as posições do neurônio vencedor BMU e do neurônio u no mapa do SOM e σ(t) é o raio da vizinhança. Conforme a distância entre o BMU e u aumenta e t também aumenta, hbmu → 0. A taxa de aprendizado α(t) e o raio da vizinhança σ(t) diminuem monotonicamente com o tempo. Inicialmente, o vetor protótipo deve ser inicializado com algum valor. Comumente define-se a inicialização como sendo randômica, mas há outras formas de se fazer essa inicialização [7]. O algoritmo de treinamento do SOM é um processo iterativo, também chamado de competitivo. Em cada passo do processo (ou época), uma amostra x é randomicamente escolhida do conjunto de treinamento. A distância, geralmente euclidiana, entre x e todos os vetores protótipos w é calculada. A unidade com menor distância, chamada de bmu (best-matching unit) é o u com protótipo w mais próximo à x: 3.1. Aplicações das Redes SOM A Figura 8 esquematiza o uso de SOM na análise de dados, onde, pelo SOM se faz a redução do conjunto de dados para vetores protótipos, os quais serão utilizados por outras técnicas, sejam de visualização ou de agrupamento dos dados. ||x - wbmu|| = arg min || x-wu|| u A seguir, os vetores protótipos são atualizados. O bmu e sua vizinhança topológica são movidos para próximos à x, como se fosse um “arraste”, como mostra a Figura 7, que ilustra a atualização do neurônio vencedor (bmu) e sua vizinhança em direção a x. Os círculos em preto e cinza correspondem às situações antes e depois da atualização, respectivamente. As linhas mostram a relação da vizinhança. Figura 8. Esquema da análise de dados a partir de SOM. Além da redução do conjunto de dados para análise, outra vantagem de SOM é que não é necessário recomputar o mapa para cada novo dado de entrada, pois, se as estatísticas podem ser assumidas como estacionárias, um novo dado pode ser diretamente mapeado ao vetor protótipo representante do item de dados mais próximo no modelo antigo. Deve-se deixar claro que, com exceção de abordagens que sobre SOM aplicam um algoritmo de segmentação, a saída de um mapa SOM fornece apenas a representação dos dados via organização x bmu Figura 7. Atualização do neurônio vencedor Extraída de [11]. 633 topológica dos neurônios. Este resultado nem sempre é passível de uma análise visual direta, sendo, portanto, difícil sugerir a estrutura de grupos existente, haja vista esse mapeamento topologicamente ordenado do SOM não ser suficiente para realizar uma análise de agrupamentos, o que remete à aplicação de outras técnicas sobre o SOM para que os resultados sejam de alguma forma, observáveis. Para se ter informações sobre agrupamentos é necessário um processamento sobre os neurônios BMUs. Para tal, existem diversas abordagens, destacando-se a construção da Matriz U e a aplicação de técnicas de agrupamento sobre os neurônios. Um dos objetivos de SOM é representar padrões de entrada de alta dimensionalidade com vetores protótipos, para que possam ser visualizados, de forma facilitada, em um mapa de dimensão menor, geralmente di=2, uma vez que o número limitado de dimensões visuais é um dos problemas da visualização de dados multidimensionais. Como uma ferramenta de auxílio à análise visual, uma técnica conhecida por U-Matrix [10] foi proposta para, a partir de um mapa treinado, detectar visualmente informações intrínsecas dos vetores protótipos, como a relação de vizinhança e o número de grupos. Para casos onde existam rótulos previamente definidos, é factível a interpretação de existência de grupos. No entanto, sem a existência desses rótulos, ou mesmo quando os grupos não são linearmente separáveis, não é possível afirmar que neurônios, muito embora vizinhos, representam dados que estejam contidos em um mesmo grupo, e nem sequer a quantidade de grupos presentes. O algoritmo SOM tem sido, há alguns anos, utilizado como base para o desenvolvimento de vários algoritmos para análise de agrupamento de dados. Em [8], um SOM em duas camadas foi proposto, para agrupar dados. A segunda camada do SOM toma como entrada os protótipos topologicamente ordenados na primeira camada. Nesta abordagem, o número de neurônios no segundo mapa é igual ao número de grupos desejados. Há trabalhos, como o de [1], que propõe a utilização de SOM unidimensional como substituto ao algoritmo K-means, um algoritmo clássico de particionamento de dados, assumindo que cada unidade do mapa auto-organizado será o centro de um grupo. Alguns trabalhos que especificamente ocupam-se da tarefa de agrupamento de dados via SOM sem conhecimento prévio do número de grupos desejados, como as metodologias de [11] e [2], que trabalham tem duas fases: primeiro utilizam SOM e após, aplicam algoritmos de particionamento sobre o mapa, para agrupar os dados. A seguir, são apresentadas 270 amostras, dispostas igualmente em três classes, A, B e C, coletadas por um dispositivo com vários sensores. Deseja-se observar a ordenação topológica (vizinhança) desses dados. A Figura 9 ilustra um mapa SOM treinado, que aproxima os neurônios ao espaço dos vetores de dados de entrada, de forma que neurônios vencedores representem esses dados. Neste caso, onde se sabe as classes dos dados, pode-se observar no mapeamento final, qual classe é representada por cada neurônio, bem como o número dos dados por ele representados (histograma de freqüência). Figura 9. Exemplo Mapa SOM bidimensional rotulado. A Figura 10 apresenta uma segmentação do mapa da Figura 9, a partir da metodologia de [2], onde cada cor representa um grupo, perfazendo um total de três grupos. Caso não se conhecesse, a priori, o rótulo (classe) dos dados, estes últimos poderiam ser apresentados à rede, e agrupados como nesta figura, onde, as cores serviriam de classificação inicial. Após, novos dados poderiam ser apresentados à rede e classificados nos grupos gerados. 634 5. Referências [1] Bação, F., Lobo, V., Painho, M. (2005) Selforganizing maps as substitutes for k-means clustering. Proceedings of the International Conference on Computational Science, Springer-Verlag, Berlin, p.476-483. [2] Boscarioli, C. (2008) Análise de Agrupamentos baseada na topologia dos dados e em mapas auto-organizáveis. Tese de Doutorado. Escola Politécnica. Universidade de São Paulo, São Paulo, Brasil. [3] Fayyad, U., Piatetsky-Shapiro, G., Smyth, P. (eds) (1996) From data mining to knowledge discovery: an overview. Cambridge: MIT Press. Figura 10. Exemplo segmentação por cores de um Mapa SOM. [4] Han, J., Kamber, M. (2006) Data Mining: Concepts and Techniques, 2nd ed. The Morgan Kaufmann Series in Data Management Systems, Jim Gray, Series Editor. ISBN 155860-901-6. 4. Conclusões Nos últimos anos, registrou-se um interesse crescente na aplicação de técnicas de análise de dados de forma eficiente processar grandes volumes de dados [9]. O resultado dos métodos de descoberta de conhecimento permite a identificação e categorização de aromas de frutas, perfumes em narizes eletrônicos [6], ou de sabores em línguas eletrônicas, bem como colaborar na tomada de decisão em atividades humanas ligadas a monitoramento. Redes Neurais Artificiais podem ser usadas em diversas aplicações de reconhecimento de padrões e processamento de sinais, sendo eficiente em aplicações onde os dados possuam alguma relação entre si, podendo desta forma, ser classificados. Uma RNA pode ser utilizada em dados de sensores, e em qualquer aplicação que evidencie segmentação de dados sem conhecimento explícito, ou sobre a classificação dos dados, como Planejamento territorial, SIG (Sistema de Informação Geográfico), língua e/ou nariz eletrônicos. As diversas aplicações proporcionadas pela utilização de sensores constituem-se em grande motivação para aplicações de técnicas como MLP e SOM, exploradas neste trabalho. Como trabalho futuro, sugere-se a aplicação e análise do resultado das técnicas citadas neste artigo em outros tipos de dados advindos de sensores e biosensores, na tarefa de agrupamento de dados. [5] Haykin, S. (1999). Neural Networks - A Compreensive Foundation. Prentice-Hall, New nd Jersey, 2 edition. [6] Hirji, K. K. (2001) Exploring data mining implementation. Journal Communications of ACM, v. 44 n.7, p. 87-93, New York, USA. [7] Kohonen, T. (2001) Self-Organizing Maps. Springer Series in Information Sciences, v. 30, 3trd edition. Springer-Verlag, Berlin, Heidelberg, New York. [8] Lampinem, J., Oja, E. (1992) Clustering properties of hierarchical self-organizing maps. Journal of Mathematical Imaging and Vision, v. 2, n. 2-3, p. 261-272. [9] Proc 1st International Workshop on Data Mining in Sensor Networks, Disponível em: http://www.public.asu.edu/~huanliu/dmml_pres entation/sdm-Sensor-Networks.pdf , 2005. [10] Ultsch, A. (1992) Self-organizing neural networks for visualization and classification. Information and Classification, SpringerVerlag, Dortmund, Alemanha, p. 307-313. [11] Vesanto, J., Alhoniemi, E. (2000) Clustering of the self-organizing map. IEEE Transactions on Neural Networks, v. 11, n. 3, maio, p. 586-600. 635