Uso de Redes Neurais Artificiais na Descoberta de Conhecimento a

Propaganda
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
Download