Вы находитесь на странице: 1из 100

Estudo sobre abordagens de extrao, classicao e

predio de comportamento de processos


Evgueni Dodonov Rodrigo Fernandes de Mello
12 de maio de 2008
Those who control the past, control the future
George C. Orwell
Resumo
A rea de predio do comportamento de processos tm despertado ateno nas ltimas
dcadas, resultando em novas abordagens, tcnicas e aplicaes.
Este relatrio tcnico tem como o objetivo introduzir e descrever diversas tcnicas que
podem ser utilizadas para determinar e avaliar o comportamento de processos e predizer suas
operaes futuras.
Enquanto este material voltado predio do comportamento de processos em sistemas
distribudos, as tcnicas estudadas podem ser aplicadas em diversas reas computacionais.
Sumrio
1 Introduo 4
2 Estado da arte e trabalhos relacionados 6
2.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Avaliao do comportamento de processos distribudos . . . . . . . . . . . . . 6
2.3 Avaliaes e comparaes entre as tcnicas . . . . . . . . . . . . . . . . . . . 8
2.4 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Extrao do comportamento de aplicaes 11
3.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Organizao e representao do comportamento de processos . . . . . . . . . . 11
3.2.1 Tcnicas de extrao de comportamento . . . . . . . . . . . . . . . . . 13
3.2.2 Representao do comportamento de processos . . . . . . . . . . . . . 13
3.2.3 Ferramentas para extrao do comportamento . . . . . . . . . . . . . . 14
3.2.4 Ferramentas para avaliao de aplicaes MPI . . . . . . . . . . . . . 15
3.3 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Classicao de padres 18
4.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Tcnicas estocsticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Modelo de k-mdias . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2.2 Clusterizao fuzzy de c-mdias . . . . . . . . . . . . . . . . . . . . . 19
4.2.3 Algoritmo de clusterizao QT . . . . . . . . . . . . . . . . . . . . . . 21
4.2.4 Classicao linear: SVM (Support Vector Machines) . . . . . . . . . . 22
4.3 Tcnicas baseadas em redes neurais . . . . . . . . . . . . . . . . . . . . . . . 23
4.3.1 Mapas auto-organizveis SOM . . . . . . . . . . . . . . . . . . . . . 26
4.3.2 Redes neurais auto-expansveis . . . . . . . . . . . . . . . . . . . . . 28
4.3.3 Cascade-Correlation Learning Architecture . . . . . . . . . . . . . . . 29
4.3.4 Growing Cell Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.5 Growing Neural Gas . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.6 Growing Self-Organizing Maps . . . . . . . . . . . . . . . . . . . . . 31
4.3.7 Restricted Coulomb Energy . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.8 Contextual Layered Associative Memory . . . . . . . . . . . . . . . . . 31
4.3.9 Growing When Required . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.10 Adaptive Resonance Theory . . . . . . . . . . . . . . . . . . . . . . . 34
1
4.3.11 Rede neural SONDE . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3.12 Radial Basis Function . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.13 Redes neurais separadoras . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Predio do comportamento de processos 44
5.1 Consideraes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2 Tcnicas baseadas no estado atual . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.1 Cadeias de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2.2 Modelo Markov escondido . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2.3 Modelo HMM Hierrquico . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.4 Modelo HMM em nveis . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3 Tcnicas auto-regressivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3.1 Auto-regresso linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.2 Modelos no-lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.3 Auto-correlao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4 Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4.1 Modelo de Kalman suavizado: Kalman Smoother . . . . . . . . . . . . 53
5.4.2 Filtro de Kalman estendido . . . . . . . . . . . . . . . . . . . . . . . . 55
5.5 Redes neurais recorrentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.5.1 Rede LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.5.2 Rede neural de Hopeld . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.5.3 Tcnica de Simulated annealing . . . . . . . . . . . . . . . . . . . . . 64
5.5.4 Mquinas de Boltzmann . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.6 Redes Associativas Competitivas . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.6.1 Modelo SOM temporal . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.6.2 Modelo SOM auto-regressivo . . . . . . . . . . . . . . . . . . . . . . 66
5.6.3 Rede neural VQTAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.7 Predio por meio de atrasos no tempo: TDNN . . . . . . . . . . . . . . . . . 68
5.8 Aprendizado supervisionado: Reservoir computing . . . . . . . . . . . . . . . 69
5.9 Aprendizado controlado: SRNN . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.10 Aprendizado Bayesiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.11 Teoria de informao e entropia . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.12 Computao bio-inspirada: algoritmos genticos . . . . . . . . . . . . . . . . 77
5.13 Consideraes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6 Concluses 79
2
Lista de Figuras
3.1 Organizao do comportamento dos processos . . . . . . . . . . . . . . . . . . 12
4.1 Classicao de acordo com o modelo de k-mdias . . . . . . . . . . . . . . . 20
4.2 SVM separao entre as classes . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3 Componentes de uma rede neural . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Funes de ativao de neurnios . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 Topologia de rede neural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6 SOM: agrupamento de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.7 ART: classicao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.8 Arquitetura da rede ART 2A . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.9 Rede neural RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.10 Arquitetura da rede RBF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.11 ICA: decomposio de sinais . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1 Exemplo de cadeia de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2 Exemplo de HMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Exemplo de HHMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4 Exemplo de LHMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.5 Exemplo de ltro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.6 Exemplo de uma rede neural recorrente . . . . . . . . . . . . . . . . . . . . . 56
5.7 Rede neural de Elman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.8 Clula de memria de LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.9 Exemplo de LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.10 Rede TDNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.11 Arquitetura de Reservoir Computing . . . . . . . . . . . . . . . . . . . . . . . 70
5.12 Spiral Recurrent Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.13 Exemplo de rede Bayesiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.14 Exemplo de rvore de dependncias da 2a ordem . . . . . . . . . . . . . . . . 74
5.15 Cadeia de Markov para clculo de entropia . . . . . . . . . . . . . . . . . . . . 76
3
Captulo 1
Introduo
A disponibilidade de microprocessadores de baixo custo e a evoluo das redes de compu-
tadores motivou o desenvolvimento de sistemas distribudos, possibilitando a realizao de
um mesmo trabalho computacional sobre elementos de processamento (EPs), interconectados
por meio de uma rede computacional [35]. Diversos conceitos de sistemas distribudos tm
sido adotadas desde a dcada de 1980 para a resoluo de tais problemas, uma vez que este
tipo de sistemas pode oferecer alto desempenho a um custo menor, quando comparado com
super-computadores ou mquinas paralelas. Com isso, novas tcnicas voltadas para a execuo
eciente de aplicaes distribudas foram concebidas, tais como mecanismos de distribuio
eciente de tarefas pela rede (balanceamento de carga e migrao de processos) [18, 50, 15],
acesso eciente a dados distribudos (protocolos de baixa latncia e dispositivos de hardware
especcos) [68, 101, 124] e mecanismos de otimizao de trfego (pr-busca e mecanismos
de caching) [12, 68].
Entretanto, a necessidade da adaptao de aplicaes paralelas arquiteturas, bibliotecas
ou ambientes especcos tm sido um dos maiores problemas para a utilizao de aplicaes
legadas em tais ambientes de forma eciente. Para isso, a tecnologia conhecida como imagem
nica do sistema (SSI Single System Image) foi introduzida, que visa representar um sistema
distribudo como sendo um local, deixando a distribuio de dados e execuo transparente
para as aplicaes do usurio [15].
Com isso, a possibilidade da utilizao de ambientes distribudos para aplicaes conven-
cionais tornou-se mais vivel, uma vez que o sistema, de forma transparente, pode distribuir
e realizar as tarefas computacionais dos usurios automaticamente. Ambientes de balancea-
mento de carga e migrao de processos, tais como PBS [18], Cosmic [50], TUI [208] e Mo-
six[15], e sistemas de memria compartilhada distribuda (DSM - Distributed Shared Memory)
[22, 134, 8, 88] possibilitam a execuo e comunicao transparente de aplicaes sobre um
ambiente distribudo, geralmente composto por mquinas homogneas e pr-conguradas para
a execuo das aplicaes especcas dos usurios.
Diversos fatores inuenciam na utilizao eciente desses ambientes, tais como as polti-
cas de escalonamento e balanceamento de carga [169, 93, 199], protocolos de baixa latncia
[64, 73] e mecanismos de entrada e sada [104, 68], mencionados anteriormente. A dependn-
cia desses fatores das caractersticas especcas de cada aplicao, como utilizao de recursos
computacionais, memria, acessos a disco e rede, motivou estudos para distribuir e predizer o
comportamento de aplicaes [199, 198, 110, 32, 179, 203]. Esses estudos demonstraram que
a predio do comportamento futuro das aplicaes tem um grande potencial para a otimiza-
4
o do desempenho do sistema, tendo aplicaes em todas as reas de computao distribuda
mencionados acima [72, 71].
Diversas tcnicas foram propostas para predizer o comportamento futuro de aplicaes,
variando entre abordagens estatsticas, modelos matemticos, redes neurais e computao bio-
inspirada.
Este trabalho tem como o objetivo a descrio de principais conceitos e tcnicas que podem
ser utilizadas para extrair, classicar e predizer o comportamento de aplicaes, e organizado
da seguinte forma: captulo 2 apresenta alguns dos trabalhos relacionados rea de predio do
comportamento de processos e suas aplicaes em ambientes distribudos. As principais abor-
dagens de extrao do comportamento de processos so apresentadas no captulo 3. Tcnicas
de classicao e predio do comportamento so apresentadas nos captulos 4 e 5. Finalmente,
captulo 6 conclui este trabalho.
5
Captulo 2
Estado da arte e trabalhos relacionados
2.1 Consideraes iniciais
A predio do comportamento de aplicaes tem o potencial de aumentar signicativamente o
desempenho de diversas reas de computao [72, 71, 101], podendo auxiliar no balanceamento
de carga, escalonamento de processos e leitura antecipada de dados, resultando em elaborao
de diversos trabalhos, abordando as mais variveis tticas de predio.
Este captulo visa apresentar alguns dos trabalhos relacionados classicao e predio do
comportamento de processos em ambientes distribudos, ilustrando os diversos caminhos e de-
cises tomadas pelos seus autores, demonstrando as suas aplicaes, avaliaes e comparaes
com as abordagens atuais.
O captulo organizado em seguintes sees. A seo 2.2 aborda os trabalhos que avaliamo
comportamento de processos distribudos para realizao de tarefas computacionais. Trabalhos
referentes a avaliaes e comparaes entre diversas tcnicas de classicao e predio so
apresentados na seo 2.3. E, nalmente, algumas aplicaes prticas de tcnicas de predio
do comportamento so apresentados na seo 2.4.
2.2 Avaliao do comportamento de processos distribudos
Diversos trabalhos tem sido desenvolvidos com o objetivo de determinar e predizer futuras
aes de processos com base na avaliao estatstica do seu comportamento.
Estudos sobre as caractersticas de acesso ao sistema de arquivos em sistemas multipro-
cessados so apresentados em [150, 181]. Nesses trabalhos, so avaliados as caractersticas
de acessos a dados por todos os processos no sistema durante um perodo de duas semanas.
Baseando-se nos resultados obtidos, foi demonstrado que a maioria de acessos ocorre de ma-
neira repetitiva, possibilitando predizer e antecipar acessos futuros observando a freqncia e
taxa de acessos a dados. Com isso, o trabalho demonstra que a utilizao de um mecanismo de
predio conjunto com sistema de caching pode otimizar signicativamente o desempenho do
sistema [150].
Diversos trabalhos relacionados predio de acessos so de autoria de Cortes et al [60,
58, 59, 56, 55, 57]. Os trabalhos utilizam um sistema de arquivos paralelo PAFS [60, 57],
aplicando diversas tcnicas de predio de acessos em tcnicas de cache e prefetching. No
sistema, os mecanismos de cache so organizados em dois nveis uma srie de caches locais
6
para cada elemento de processamento do sistema, e um cache global que consiste de um espao
de memria nico e compartilhado. A consistncia de caches mantida utilizando tokens
repassados entre caches distintos.
Cortes et al. estendem a discusso do PAFS em [58], avaliando diferentes tipos de acesso
ao cache local cache hit, remote cache hit e global cache hit. A utilizao de servidores
dedicados para cache (cache servers) apresentada e discutida no trabalho. Visando manter a
consistncia entre diversos caches e diminuir a comunicao entre servidores, introduzido um
mecanismo de hashing para determinar de maneira nica a localizao de um bloco de dados
em diversos servidores de cache. No sistema, a predio de acessos feita por meio de tcnica
de cadeias de Markov, avaliando a taxa e freqncia de acessos a diversos caches para arquivos
independentes.
Uma outra avaliao do modelo estocstico de Markov apresentada em [204]. Diferente-
mente de outros trabalhos, o trabalho visa predizer a ordem de acessos a arquivos independen-
tes, e no aos blocos de dados dentro de um mesmo arquivo. Os autores introduzem apresentam
quatro abordagens para a determinao do padro de acesso arquivos First Successor, Last
Successor, Stable Successor e Best-k-out-of-m. O objetivo das tcnicas estudadas o agrupa-
mento de arquivos acessados concorrentemente. Como resultado das avaliaes, os autores
armam que possvel antecipar at 80% de todos os acessos a arquivos.
Um estudo de predio de acessos em bases de dados distribudas realizado em [232],
apresentando um modelo analtico para a predio de acessos a buffers por meio de avaliaes
estocsticas. Como concluses do trabalho, os autores armam que a predio de acesso a
buffers pode aumentar signicativamente a quantidade de transaes por segundo realizados.
Entre os trabalhos relacionados predio de comportamento de processos por meio da
avaliao do histrico de operaes passadas possvel destacar os trabalhos de Kots et al.,
que tratam da avaliao e predio do comportamento de aplicaes em sistemas distribudos,
com o objetivo de extrair diversos padres de acesso [147, 146, 149, 151, 145, 152, 150, 181].
Diversas tcnicas de reconhecimento de padres seqenciais de acesso so apresentados
em [146, 147], apresentando padres de acesso tais como one-block look-ahead, innite-block
look-ahead e portion recognition. O algoritmo predictor introduzido pelo trabalho com o
objetivo de detectar automaticamente do tipo de acesso atual da aplicao.
Tratando-se da predio e antecipao de acessos a dados, de grande importncia o traba-
lho de Cao et al. [38], que discute as possveis implementaes dos mecanismos de predio,
avaliando os algoritmos de prefetching agressivo e passivo, apresentando as vantagens e des-
vantagens de cada abordagem. Nesse trabalho, as principais abordagens para a implementao
de um mecanismo de prefetching so discutidas, denindo as regras bsicas para um meca-
nismo de leitura antecipada eciente Optimal Prefetching, Optimal Replacement, Do No
Harm e First Opportunity [38, 68].
Tpicos de grande relevncia para a rea de antecipao de acessos a dados so apresen-
tados em [227, 138, 139]. Os trabalhos introduzem o termo prefetching, denindo-o como
mecanismo para a reduo do tempo ocioso por meio de predio e antecipao de acessos,
e avaliam diversos algoritmos de predio e leitura antecipada de dados, tais como forestall,
xed horizon, aggressive e reverse aggressive. De acordo com os experimentos realizados, a
predio e antecipao de acessos aos dados possibilitam aumentar signicativamente o de-
sempenho do sistema, diminuindo a latncia dos acessos. Os trabalhos introduzem um sistema
de predio e antecipao de acessos para memria global PGMS (Prefetching Global Memory
System) um sistema que integra os caches locais de cada servidor em um cache global, visvel
7
para todos os servidores, facilitando a troca de informaes entre os EPs.
De acordo com Soloviev et al. [211], possvel utilizar a predio de acessos para me-
lhorar o desempenho de discos rgidos, analisando e re-organizando os acessos paralelos de
acordo com a estrutura fsica do disco. Abordagem similar aplicada em sistemas de arquivos
paralelos por Aranachalam et el. [10].
Barve et al. [19] avalia dois mecanismos de predio de acessos por meio de prefetching
NOM e GREED. O algoritmo NOM avalia constantemente o look-ahead global do sistema
distribudo enquanto o GREED utiliza o look-ahead local para determinar os prximos blocos
da seqncia a serem lidos. De acordo com a previso do algoritmo, a seqncia de acessos a
blocos re-ordenada, diminuindo o nmero de requisies e melhorando a latncia de acessos
aos dados.
Um outro algoritmo de otimizao de acessos aos dados apresentado em [130], que fun-
ciona associando prioridades diferentes para todas as requisies de leitura de dados previstas,
resultando em melhor desempenho das operaes de entrada e sada por meio de reorganizao
das requisies.
A aplicao de mecanismos de predio em sistemas de memria distribuda discutida em
[24, 25]. Os trabalhos apresentam os algoritmos de predio B+ e Adaptive++, que utilizam o
histrico de acessos memria e as invalidaes dos blocos em cache para determinar a lista
de blocos a serem requisitados no futuro.
Consideraes sobre otimizaes de acesso aos dados por meio de predies de acessos
seqenciais e contnuos so apresentados em [212, 158, 68], sendo aplicados a um sistema
de arquivos paralelo e distribudo NPFS [104]. Otimizaes para a latncia de operaes de
entrada e sada so propostas em [212], visando adaptar de forma dinmica os timeouts de
mensagens aos parmetros do meio de comunicao utilizado, e so avaliadas por um sistema
de vdeo sob demanda distribudo [158]. Estudos sobre predio de acessos em sistemas de
arquivos paralelos so realizados em [68], apresentando um sistema de cache e prefetching
adaptativo e auto-congurvel. No trabalho, dois novos algoritmos de prefetching limited
aggressive e prefetch-on-empty so propostos e avaliados junto com algoritmos aggressive e
passive tradicionais. O trabalho tambm introduz o algoritmo de predio de acessos seqen-
ciais CPS.
2.3 Avaliaes e comparaes entre as tcnicas
Diversos trabalhos foram desenvolvidos para detectar padres de acessos de forma automtica,
tais como os de Sakr et al. [193], que avaliam e comparam trs mtodos de deteco do padro
de acesso um baseado em abordagem estocstica de Cadeias de Markov; um baseado em pre-
dio linear e um mtodo que utiliza redes neurais (TDNN). O trabalho comparou a ecincia
dos mecanismos para a predio de acessos a curto prazo (one-step-ahead prediction).
O trabalho conclui que diferentes abordagens so mais apropriadas para diversos tipos de
aplicaes. Por exemplo, enquanto em um caso a predio baseada em cadeias de Markov e
predio linear conseguiram eliminar 95% de predies erradas e TDNN conseguiu eliminar
71% de falhas, em outro caso o preditor linear conseguiu remover somente 1% de falhas, o ba-
seado em cadeias de Markov removeu 6% de falhas e o baseado em TDNN conseguiu remover
30% de falhas.
Como concluso nal, os autores armam que, enquanto todas as tcnicas apresentam uma
8
ecincia compatvel para padres de acesso simples, com o aumento do grau de complexidade
de acessos os modelos simples passam a se tornar inecientes, e o modelo baseado em redes
neurais (TDNN) oferece a melhor ecincia.
A predio de comportamento de processos em ambiente multi-processado avaliada em
[193]. No trabalho, rede TDNN utilizada para predizer seqncias de acessos memria em
processadores independentes. Trs aplicaes diferentes so utilizadas como estudo de caso
temperature propagation/2D relaxation, multiplicao de matrizes e transformada de Fourier.
De acordo com os autores, a rede neural TDNN possibilitou diminuir em at 3.28 vezes o
nmero de acessos memria desnecessrios, antecipando-os.
Pesquisas realizadas por Kroeger et al. [154] demonstraram que a maioria de acessos a
dados em de sistemas distribudos ocorre de forma seqencial, sendo que a predio de acessos
futuros baseando-se no histrico de acessos seqenciais passados pode ser feita com a preciso
de aproximadamente 70 80%. O trabalho apresenta trs mecanismos de predio de acessos
a arquivos independentes, comparando a sua ecincia.
Um estudo sobre predio de acessos em sistemas distribudos apresentado em [36], fo-
cando em predio de acessos a dados por aplicaes baseadas em MPI e apresentando um
modelo para a predio de acessos baseado em padres de funcionamento de aplicaes distri-
budas. O modelo proposto possibilita predizer 80 90% de todos os acessos, otimizando a
latncia de acessos memria.
Finalmente, de grande relevncia as competies entre diversas tcnicas de predio apli-
cados sries temporais realizadas em [231, 77, 45, 218], avaliando diversas tcnicas de predi-
o com o objetivo de determinar a mais adequada para as predies de curto e longo prazo.
2.4 Aplicaes
A evoluo constante e rpida de arquiteturas de processadores torna inecientes os mtodos
convencionais de acesso aos dados, limitados pelas conguraes do meio de comunicao
utilizado. Visando solucionar esse problema, diversas estratgias tmsido propostas, abordadas
a seguir.
Mecanismos de prefetching, tambm conhecidos como leitura antecipada ou reduo de
tempo ocioso do sistema [227], procuram antecipar o acesso a dados, pr-carregando-os num
espao de armazenamento, tal como a memria principal ou cache. A utilizao conjunta
desses mecanismos possibilita diminuir a latncia de acesso a dados, antecipando requisies
ao meio de armazenamento. Entretanto, a ecincia dos mecanismos de prefetching limitada
pela necessidade de determinar de forma correta o comportamento, ou padres de acesso, das
aplicaes.
Uma arquitetura de memria compartilhada distribuda voltada para jogos multi-usurio
apresentada em [195], utilizando o sistema operacional Plurix OS, baseado na plataforma Java
com sistema de endereamento de memria global. O mecanismo de memria compartilhada
utilizado baseado no conceito de transaes atmicas para manter a consistncia de dados.
Nesse sistema, a memria compartilhada utilizada para armazenar as informaes sobre o
ambiente distribudo de maneira consistente. Cada participante de ambiente requisita informa-
es atualizadas sobre o ambiente da memria compartilhada periodicamente, atualizando os
seus dados locais, e variando a periodicidade destas requisies de acordo com a capacidade de
processamento de cada EP. Dessa forma, pode-se diminuir a taxa de atualizaes de dados nos
9
computadores com menor poder de processamento, ao mesmo tempo mantendo uma viso con-
sistente do ambiente distribudo. Por exemplo, no caso de um objeto se movendo no ambiente
distribudo, computadores mais potentes podem visualizar o movimento completo do mesmo
e os computadores com menor poder de processamento podem visualizar somente alguns dos
trechos de movimento. A predio de tais eventos essencial para a utilizao eciente do
sistema.
Um mecanismo de memory ushering, que visa a utilizao da memria de processadores
distintos atravs de migrao de processos ou swapping, introduzido em [14]. A principal di-
ferena com os modelos tradicionais de DSM consiste na utilizao no-uniforme da memria,
sendo que o algoritmo de distribuio de acessos memria visa colocar um nmero mximo
de processos ativos no mesmo cluster, evitando thrashing ou swapping. Um algoritmo de ba-
lanceamento de carga convencional utilizando enquanto a memria livre de um processador
no ultrapassa um pr-determinado valor. Nesse caso, um algoritmo diferente ativado, mi-
grando o processo para um elemento de processamento com memria disponvel. O trabalho
demonstrou que a predio de acessos s pginas de memria essencial para o desempenho
do sistema.
Martin et al. [168] adotam o conceito de conjuntos de destino para otimizar a consistncia
de dados. Um conjunto de destino denido como um conjunto de elementos de processa-
mento que recebem uma mesma requisio para garantir consistncia de memria. O trabalho
prope a adoo de duas tcnicas: a primeira baseada em protocolos snoopy que visa enviar
as requisies de consistncia de memria para um conjunto mximo de EPs, permitindo di-
minuir a latncia de sharing misses ao custo de uma largura de banda maior. A segunda
baseada na utilizao de um servio de diretrio centralizado que envia requisies para um
conjunto mnimo de EPs para diminuir a largura de banda necessria. A predio de acessos
memria compartilhada possibilita diminuir signicativamente a latncia e a largura de banda
necessrios.
Finalmente, estudos sobre aplicaes de tcnicas de predio de acessos a dados distri-
budos em mecanismos de leitura antecipada e balanceamento de carga so apresentados em
[72, 71], propondo um modelo para predio do comportamento de processos por meio de
classicao e predio de seus acessos. O trabalho separa o processo de predio de acessos
em trs estgios: o de extrao do comportamento de acessos, o de classicao e agrupamento
de acessos similares e o de predio. Diversas tcnicas podem ser utilizadas em cada um dos
estgios, variando entre abordagens estatsticas e baseadas em redes neurais. Em [72], redes
neurais ART2A e TDNN so avaliadas, avaliando a sua ecincia sobre o NPB (NAS Parallel
Benchmark).
10
Captulo 3
Extrao do comportamento de aplicaes
3.1 Consideraes iniciais
Diversas pesquisas demonstraram que a previso de comportamento de um processo tem o
potencial de melhorar signicativamente a ecincia de execuo de processos em ambien-
tes distribudo [72, 170, 71]. A determinao correta do comportamento de um processo ,
portanto, essencial para a predio das suas aes futuras, podendo ser utilizada por diversas
tcnicas de otimizao do desempenho e ecincia do sistema.
Para isso, necessrio avaliar o comportamento do processo, detectando seus padres de
execuo e acesso a dados. Tratando-se de acessos seqenciais, o padro de acesso pode ser
determinado de maneira simples [148]. Entretanto, a determinao de um padro de acesso
no-seqencial necessita de tcnicas ou ferramentas especiais [72, 71].
Este captulo apresenta as tcnicas que podem ser aplicadas para a extrao e representao
desse comportamento.
3.2 Organizao e representao do comportamento de pro-
cessos
O comportamento de processos pode ser representado de acordo com diversos parmetros que
representam as suas caractersticas fundamentais. De forma geral, o conhecimento sobre o
comportamento de processos pode ser organizado em nveis global e isolado, conforme de-
monstrado na gura 3.1.
O nvel global tem como o objetivo o agrupamento de todas as informaes sobre as aplica-
es em execuo no sistema, tendo como as caractersticas comuns o seu tempo de execuo
e sua relao com a carga total do sistema. Estes parmetros podem ser utilizados para ma-
pear o tempo de execuo de uma aplicao especica em funo de quantidade de recursos
consumidos por ela, quanticando tais recursos de forma previsvel.
Essas caractersticas podem ser organizadas em classes, por exemplo, agrupando-as pelo
nome do usurio ou da aplicao. Esta abordagem amplamente utilizada em ambientes de
grades, sendo a base de diversos modelos de grid economy [1].
O nvel isolado, por sua vez, representa o comportamento da aplicao em funo das
tarefas especcas exercidas por ela, tais como a interao com usurios e utilizao de recursos
computacionais.
11
Figura 3.1: Organizao do comportamento dos processos
O comportamento de aplicaes em relao interao com usurio pode ser classicado
como interativo, para aplicaes que precisam de interao com o usurio; e no-iterativas,
tambm conhecido como processamento em lote, para as que no necessitam de interao
explcita.
O padro de utilizao de recursos permite classicar as aplicaes em seguintes classes: as
orientadas processamento (CPU-Bound), representando as aplicaes voltadas para clculos
e processamento de dados; as orientadas a Entrada e Sada (IO-Bound), agrupando aplicaes
com predominncia de transferncias e acessos a dados; e as voltadas para comunicao (Com-
munication Intensive), que abrange processos caracterizados por troca excessiva de mensagens
com outros elementos de processamento.
Alm disso, possvel classicar as aplicaes de acordo com o grau de paralelismo, de-
terminando a capacidade da utilizao de mais de um elemento de processamento em paralelo.
Neste contexto, o grau de paralelismo representa o nmero de EPs que maximiza a ecin-
cia da execuo da aplicao. Da mesma forma, o grau de paralelismo mnimo determina a
quantidade mnima de EPs no sistema para a execuo da aplicao; e o paralelismo mximo
representa o nmero mximo de elementos de processamento que podem ser utilizados pela
aplicao de forma eciente.
A classicao de aplicaes de acordo com a exibilidade determina a capacidade de
adaptao a ambientes variveis, representando a sua ecincia em relao s decises toma-
das pelo escalonador do sistema na atribuio de recursos do sistema [85]. Uma aplicao
inexvel, neste contexto, sempre necessita de uma congurao de ambiente pr-determinada,
sendo que sua execuo em um sistema diferente invivel ou difcil. Aplicaes exveis, por
sua vez, podem ser classicadas em moldveis e maleveis.
As aplicaes maldveis so caracterizadas pela possvel adaptao ao ambiente somente
no incio da execuo. As maleveis, entretanto, permitem uma exibilidade ainda maior,
adaptando-se congurao do ambiente durante a execuo. As aplicaes exveis geral-
mente so construdas utilizando o modelo de paralelismo de dados.
12
3.2.1 Tcnicas de extrao de comportamento
A extrao de comportamento de aplicaes pode ser realizada de duas maneiras. A primeira
abordagem consiste na avaliao esttica, onde a aplicao analisada de maneira emprica,
sem a necessidade de execuo. A segunda, tambm conhecida como avaliao dinmica,
consiste na extrao de comportamento durante execuo, sem utilizao do conhecimento
prvio.
A abordagem de avaliao esttica uma das tcnicas mais antigas, sendo concebida na
dcada de 1930 por Church e Turing [87]. Originalmente, a tcnica foi aplicada s mquinas
de estados nitos e mquinas de Turing [87], com o objetivo de determinar possveis falhas que
podem levar a um estado de empasse, nalizando a execuo de maneira imprevista.
Com a evoluo de sistemas computacionais, novas tcnicas de avaliao esttica foram
propostas. Atualmente, entre tais tcnicas pode-se citar o mtodo de vericao de modelo
[177, 76, 100, 111], que consiste na reduo da aplicao para uma representao formal atra-
vs de um autmato; e o mtodo de interpretao abstrata [51, 115, 164, 228], que consiste na
avaliao do sistema modelando-o na forma de uma mquina de estados abstrata, representando
cada declarao por um estado.
A tcnica de avaliao dinmica, por sua vez, permite investigar o comportamento da apli-
cao durante a sua execuo, geralmente com o auxlio de ferramentas de monitoramento ou
depurao. possvel dividir as tcnicas de avaliao dinmica nas de monitoramento contnuo
e baseadas em eventos [128].
Tcnicas de monitoramento contnuo consistem na avaliao peridica do estado de aplica-
es em execuo, permitindo extrair as variaes do comportamento. Essa tcnica geralmente
mais simples de ser utilizada, uma vez que no necessita de alteraes em aplicaes. Con-
tudo, sua desvantagem est relacionada ao fato de que o monitoramento ocorre continuamente,
introduzindo um overhead na execuo. Outra desvantagem dessa abordagem est relacionada
ao fato de no possibilitar a extrao do comportamento de aplicaes em estados de execuo
especcos.
A tcnica baseada em eventos avalia o estado de execuo de aplicaes em estados pr-
denidos, permitindo uma melhor extrao de comportamento, uma vez que apenas aes em
etapas relevantes so capturadas para posterior anlise. Geralmente, esta tcnica apresenta
maior complexidade para adoo, necessitando de conhecimento prvio sobre o funcionamento
das aplicaes avaliadas. Alm disso, a necessidade de adaptar aplicaes para o processo de
interceptao de eventos (atravs de instrumentao ou interceptao de chamadas) torna essa
tcnica mais complicada para uso.
Como vantagem dessa abordagem pode-se citar a determinao do comportamento de apli-
caes em perodos de execuo especcos (por exemplo, nos pontos de sincronizao entre
processos distribudos). Alm disso, o overhead introduzido na execuo menor, uma vez
que a avaliao do comportamento no contnua.
3.2.2 Representao do comportamento de processos
A avaliao do comportamento histrico de uma aplicao permite predizer suas prximas
operaes. Para isso deve-se analisar as mudanas de comportamento e freqncia dessas alte-
raes.
Geralmente, o comportamento de processos ao longo do tempo representado por meio
13
de sries temporais, um conjunto de observaes feitas seqencialmente ao longo do tempo.
Enquanto em modelos de regresso linear a ordem das observaes irrelevante para a anlise
[136], tal ordem fundamental para anlise de sries temporais, uma vez que as observaes
vizinhas geralmente so inter-dependentes. Desse modo, uma srie temporal pode ser utili-
zada para analisar e modelar o comportamento de um processo, avaliando a dependncia entre
observaes subseqentes e possibilitando a previso de acontecimentos futuros.
Duas abordagens podem ser empregadas para estudar uma srie temporal. A primeira abor-
dagem dene a anlise da srie como sendo um mtodo para entender o comportamento do
processo que a gerou. A outra abordagem visa realizar predies a partir da srie, construindo
modelos matemticos a partir de quais possvel estimar e predizer acontecimentos futuros.
Por exemplo, o comportamento de um processo pode ser representado por meio de uma
srie de transies entre estados em execuo e ocioso ao longo de tempo. Representado
o estado em execuo como 1, e estado ocioso como 0, a srie temporal que representaria o
comportamento de tal processo durante n = 10 intervalos de amostragempode ser representada
como X = [X
1
, X
2
, .., X
n
] = [0, 1, 0, 1, .., 1].
Dessa forma, uma srie temporal representa o conjunto seqencial de eventos, podendo ser
reduzida para uma equao obtida por meio de uma regresso linear ou no-linear.
3.2.3 Ferramentas para extrao do comportamento
Umas das tarefas mais comuns na avaliao do comportamento de aplicaes a anlise do seu
cdigo fonte. As abordagens mais comum consistem na avaliao manual de cdigo, utilizando
ferramentas como grep, nd e sed [69].
A utilizao de aplicaes para indexao de cdigo fonte, como LXR, Doxygen e JavaDoc,
possibilita visualizao mais eciente do comportamento, possibilitando observar as interaes
entre classes, funes e trocas de mensagens. Enquanto algumas dessas ferramentas necessitam
de uma instrumentao especca de cdigo fonte por meio de comentrios, como JavaDoc e
Doxygen, ferramentas como LXR realizam indexao automaticamente.
A avaliao dos problemas presentes nas aplicaes pode ser feita de maneira automtica,
utilizando ferramentas como Lint, Blast e Valgrind, que permitem identicar falhas mais co-
muns em aplicaes, tais como uso incorreto de memria, casting incorreto de parmetros,
etc. Uma outra abordagem consiste em adaptao automtica do cdigo fonte de aplicaes,
determinando, analisando e modicando seus pontos crticos. Um modelo semi-automtico de
transposio e avaliao de cdigo fonte foi proposto por Quadrado [187], com o objetivo de
auxiliar na avaliao e transformao de aplicaes seqenciais em paralelas.
Para avaliar o comportamento de aplicaes de maneira dinmica, vrias tcnicas podemser
empregadas. Dentre elas est a de tracing, baseada em visualizao da seqncia das chamadas
do sistema feitas pela aplicao. Essa tcnica utilizada nas ferramentas strace e GridBox [74].
Nessa abordagem utilizada uma chamada do sistema especca ptrace [69] que indica
ao ncleo do sistema operacional que um processo est em depurao. Dessa maneira, o sis-
tema passa a controlar a execuo do processo, rastreando chamadas de sistema, e permitindo
executar operaes arbitrrias a cada chamada interceptada. possvel, alm de monitorar,
interferir no funcionamento dos processo, por exemplo, interceptando as funes de abertura
de arquivo e, caso o acesso no seja autorizado, abortar a operao.
Uma vez que o funcionamento do ptrace ocorre no nvel do ncleo do sistema, no poss-
vel interceptar funes de alto nvel. Quando a interceptao de funes de diversas bibliotecas
14
necessria, os recursos do carregador dinmico de bibliotecas do sistema ld.so podem ser
empregadas. Utilizando variveis de ambiente LD_PRELOAD e LD_LIBRARY_PATH, pode-se
interceptar as chamadas de funes de bibliotecas compartilhadas de maneira transparente, mo-
nitorando ou alterando o seu funcionamento [69]. Como exemplo dessa abordagem, possvel
citar o GridBox [74] para ambientes Linux.
Outra abordagem de monitoramento e controle da execuo de aplicaes consiste na utili-
zao de um depurador, como, por exemplo, gdb, presente nos ambientes UNIX. Com a ajuda
da ferramenta, possvel monitorar diversos breakpoints na execuo de aplicaes, observar
o comportamento de funes, analisar o contedo da pilha e registradores.
Como exemplo de ferramentas de monitoramento contnua pode-se citar [70] e [199]. A
primeira ferramenta, conhecida como StatMonitor, monitora o funcionamento de aplicaes
no nvel do usurio, coletando informaes sobre seu funcionamento periodicamente [135]. A
segunda abordagem utiliza um kernel Linux modicado para monitorar aplicaes de maneira
transparente.
3.2.4 Ferramentas para avaliao de aplicaes MPI
Um dos mecanismos mais comuns para programao paralela a tecnologia de passagem de
mensagens Message Passing Intreface (MPI) [33, 214]. Esse mecanismo oferece recursos
de troca de mensagens entre diversos computadores do sistema, possibilitando transmisso
sncrona e assncrona de dados entre os EPs.
Entre diversas implementaes de MPI, pode-se citar MPICH [102, 103] e LAM-MPI
[33, 214], ambas amplamente utilizadas e disponveis livremente. Como exemplo de imple-
mentao proprietria de MPI pode-se citar Intel MPI Library (anteriormente denominado
Vampir) [178].
Inicialmente, MPI foi concebido para ser utilizado em ambientes de cluster, com congu-
raes homogneas e sem suporte s possveis falhas nos EPs. Entretanto, com o crescimento
do uso de ambientes distribudos, isso tornou-se uma desvantagem clara. Dessa maneira, novas
verses de MPI foram projetadas, oferecendo suporte para ambientes heterogneos distribu-
dos, tais como grids computacionais [235].
Uma vez que a tecnologia MPI implementada na forma de uma biblioteca de funes, as
opes de depurao e monitoramento das aplicaes so limitadas, sendo necessria a utiliza-
o de ferramentas ou bibliotecas especcas.
Uma das ferramentas para monitoramento, depurao e anlise de aplicaes paralelas am-
plamente utilizada Intel Trace Tools (originalmente Vampir) [178], a qual permite tanto uma
avaliao contnua de aplicaes MPI quanto baseada em eventos. A ferramenta oferece su-
porte para execuo controlada, tracing da aplicaes, controle de uxo e visualizao dos
parmetros de comunicao entre os EPs durante a execuo, sendo que dividida em duas
aplicaes: Intel Trace Collector, utilizado para a coleta on-line das informaes referentes
execuo da aplicao e Intel Trace Analyser que analisa as informaes adquiridas.
O monitoramento e extrao do comportamento de aplicaes so realizados por meio de
uma biblioteca compartilhada, dinamicamente ligada a uma aplicao MPI. Os dados adquiri-
dos so armazenados em formato STF (Structured Trace Format). A anlise de dados pode ser
feita com a utilizao do Intel Trace Analyser, utilizando uma interface grca para identicar
pontos crticos, visualizar a seqncia e o uxo de dados, e observar o comportamento de apli-
caes em diversos EPs. Alm disso, possvel instrumentar o cdigo fonte de uma aplicao
15
MPI utilizando funes especcas da ferramenta, as quais denem, de maneira precisa, os
dados a serem capturados.
Uma abordagem similar utilizada no sistema MPE (Multi Processing Environment), com-
posto por um conjunto de bibliotecas, aplicaes e ferramentas grcas para anlise de desem-
penho de aplicaes MPI. O sistema utiliza abordagem baseada em eventos, oferecendo um
conjunto de bibliotecas para tracing de eventos MPI, similares ao Intel Trace Tools, junto com
um visualizador grco de eventos. O ambiente disponvel livremente.
Uma outra biblioteca que oferece funcionalidades para instrumentao de cdigo MPI
MPICL. Essa biblioteca oferece funes de instrumentao de aplicaes MPI e encontra-se
disponvel para diversas arquiteturas paralelas. Entretanto, necessria instrumentao manual
de cdigo fonte.
Outra ferramenta que permite avaliar aplicaes MPI a mpiP. Ela composta por uma
biblioteca de anlise estatstica de eventos de aplicaes distribudas (proling).
Alm disso, pode-se citar a aplicao Xmpi que permite visualizar eventos e uxo de dados
entre os EPs para aplicaes MPI. Aplicaes devem utilizar arquivos .trace, gerados automa-
ticamente em sua execuo.
Entretanto, a grande maioria das ferramentas de avaliao de MPI existentes limitada,
pois no oferecem suporte completo para avaliao automtica de aplicaes sem a necessi-
dade de alterao e instrumentao de cdigo fonte. Para isso, uma nova tcnica de avaliao
on-line transparente de aplicaes distribudas foi proposta em [72], utilizando o conceito de
interceptao dinmica de chamadas do sistema e baseado no pelo projeto GridBox [74].
3.3 Aplicaes
O comportamento extrado de processos pode ser classicado e analisado segundo tcnicas
estatsticas [65, 85], histrico de execues [99, 209], algoritmos de avaliao on-line de com-
portamento [9, 205], extrao e classicao do comportamento para predizer futuras aes das
aplicaes [198, 199].
Em [65], uma abordagem estatstica proposta para predizer os requisitos de CPU, entrada
e sada e memria de aplicaes, atravs da utilizao de agrupamento (clustering) estatstico
(utilizando o algoritmo de k-mdias) e modelo de cadeias de Markov para identicar regies
de aplicaes com maior uso de recursos.
Uma abordagem similar utilizada em [85], onde os autores executam repetidamente uma
mesma aplicao e analisam variaes de seu comportamento. Uma baixa variao entre exe-
cues sucessivas observada no trabalho, o que permitiu utilizar as caractersticas funcionais
de aplicaes para determinar seus comportamentos sem a necessidade de cooperao explcita
do usurio.
Outros trabalhos [99, 209] classicam de maneira esttica o comportamento de processos
segundo seus histricos de execues, determinando valores mdios de uso de CPU, mem-
ria e mecanismos de entrada e sada para cada grupo. Os valores derivados so utilizados,
posteriormente, para predizer o comportamento de aplicaes.
Estratgias de predio on-line do comportamento de processos utilizando o modelo de
Bayes [20] e lgica fuzzy so apresentadas em [205]. Uma abordagem similar utilizada em
[9] e [54], onde informaes coletadas durante a execuo so utilizadas para controlar o me-
canismo de balanceamento de carga.
16
Uma abordagem que utiliza tcnicas de inteligncia articial para classicao e predio
do comportamento apresentada em [198, 199, 172]. Nesses trabalhos o comportamento de
aplicaes automaticamente extrado e classicado, por meio de redes neurais, de acordo com
a utilizao de recursos computacionais. A avaliao do comportamento histrico de aplicaes
utilizada pelos autores para otimizar as polticas de balanceamento de carga [200, 201, 202,
171].
Uma ferramenta para anlise dos padres de acesso nos mecanismos de memria compar-
tilhada distribuda proposta em [82]. A ferramenta permite a gerao de traces e visualizao
do funcionamento da memria compartilhada distribuda, identicando acessos, possveis pro-
blemas de desempenho e uxo de comunicao entre elementos de processamento. O sistema
utiliza a plataforma Java com espao global de endereamento distribudo, baseado em um
sistema prprio de memria compartilhada, utilizando recursos da plataforma Java e ofere-
cendo objetos com suporte a escrita mltipla. A ferramenta permite identicar sincronizaes
de acesso memria compartilhada, leituras e escritas em objetos distribudos e migraes de
objetos. Experimentos comprovam uma queda de desempenho em torno de 2% causada pela
coleta de informaes (tracing).
Uma abordagem que utiliza as tcnicas de classicao e predio do comportamento de
processos em sistemas distribudos apresentada em [72]. No trabalho, NAS Benchmark
avaliado utilizando redes neurais e modelos estatsticos, demonstrando que as abordagem que
misturam estas tcnicas apresentam uma ecincia maior de que as abordagens individuais.
3.4 Consideraes nais
Neste captulo foram apresentadas as principais tcnicas de extrao de comportamento de apli-
caes. O comportamento pode ser extrado atravs da avaliao do cdigo fonte dos mesmos
ou utilizando uma das tcnicas de extrao on-line do comportamento. Ferramentas para ambas
as abordagens foram apresentadas.
17
Captulo 4
Classicao de padres
4.1 Consideraes iniciais
Classicao de padres um processo estatstico que visa agrupar padres similares em di-
versas classes, ou clusters, de acordo com as suas caractersticas.
Enquanto possvel utilizar dados extrados do comportamento de processos sem o pro-
cesso de classicao, tal abordagem resulta em uma grande quantidade de variveis repeti-
tivas ou similares, o que diculta a sua anlise. Neste caso, possvel empregar tcnicas de
classicao ou agrupamento com o objetivo de reduzir a dimensionalidade de dados. Dessa
maneira, possvel agrupar comportamentos similares e realizar predies sobre os pontos
mais relevantes.
Diversas tcnicas de classicao podem ser empregadas para a classicao de padres,
como as abordagens estatsticas e baseadas em redes neurais.
Entre as abordagens estatsticas, pode-se citar o modelo de k-mdias, c-mdias, clusteriza-
o QT e Support Vector Machines. As baseadas em redes neurais so mais variadas, incluindo
mapas de Kohnen (tambm conhecido como modelo SOM), redes neurais auto-expansveis,
tais como GCS, GNG, GSOM, RCE, GWR e SONDE, e outros modelos como redes RBF, ART
e ICA.
O objetivo deste captulo a apresentao e discusso das principais tcnicas de classi-
cao de padres descritas na literatura. Enquanto o foco do trabalho a sua aplicao em
classicao do comportamento de processos distribudos, tais tcnicas podem ser aplicadas
em outras reas de computao.
As tcnicas apresentadas so classicadas de acordo com a abordagem utilizada, sendo que
as baseadas em modelos estatsticos e estocsticos so apresentados na seo 4.2, e as baseadas
em redes neurais na seo 4.3. A seo 4.4 sumariza as tcnicas apresentadas e conclui este
captulo.
4.2 Tcnicas estocsticas
Entre diversas tcnicas utilizadas para classicar o comportamento de processos possvel
destacar alguns modelos estatsticos, tais como os modelos de k-mdias e SVM.
Esta seo tem como o objetivo descrever tais tcnicas e suas aplicaes para a classicao
do comportamento de processos.
18
4.2.1 Modelo de k-mdias
O modelo de k-mdias um modelo de clusterizao iterativa, que visa agrupar os objetos emk
parties [31, 84, 196, 4, 53]. O modelo tem como o objetivo a minimizao do erro quadrtico
mdio, ou a varincia total intra-cluster, conforme a equao 4.1, onde existem k clusters S
i
,
sendo i = 1, 2, .., k, e
i
representando o centride, ou a mdia central de todos os padres de
entrada x
j
S
i
.
V =
k

i=1

x
j
S
i
|x
j

i
|
2
(4.1)
Diversos algoritmos foram propostos para a classicao de acordo com o modelo, sendo
mais conhecido o de Lloyd [132], descrito a seguir:
1. Particionar o espao de entrada em k clusters iniciais. Esse particionamento pode ser
feito tanto da forma aleatria quanto por meio de utilizao de uma heurstica;
2. Para cada amostra:
(a) Encontrar o centride, ou o ponto mdio, mais prximo;
(b) Atribuir a amostra a cluster correspondente;
(c) Recalcular o centride do cluster;
3. Repetir o algoritmo at os valores dos centrides dos clusters permanecerem constantes.
Um exemplo de classicao realizada pelo modelo de k-mdias demonstrado na gura
4.1, apresentando o resultado de classicao das entradas em um conjunto de clusters deni-
dos.
O modelo de k-mdias encontra o mnimo local, no necessariamente convergindo a uma
soluo tima, sendo que o resultado nal inuenciado pela congurao inicial dos clusters
e amostras. A grande vantagem desta tcnica, entretanto, o seu baixo custo computacional, o
que possibilita executar o procedimento repetitivamente at conseguir resultado adequado.
4.2.2 Clusterizao fuzzy de c-mdias
A tcnica de clusterizao fuzzy de c-mdias similar ao modelo de k-mdias, com a diferena
de que, ao invs de pertencer a um nico cluster, para cada amostra calculado um grau de
semelhana a todos os clusters presentes no sistema [163, 127, 185, 161]. Dessa forma, cada
ponto x tem um coeciente u
k
(x), que determina o seu grau de semelhana com o cluster k.
Geralmente, a soma desses coecientes igual a 1, conforme a equao 4.2, sendo N o nmero
de clusters.

k=1
Nu
k
(x) = 1 (4.2)
Neste modelo, o centride calculado como sendo a mdia de todos os pontos presentes no
sistema, de acordo com a sua semelhana ao cluster atual, conforme demonstrado na equao
4.3, onde c
k
centride do cluster k e m constante de normalizao.
19
Figura 4.1: Classicao de acordo com o modelo de k-mdias
c
k
=

x
u
k
(x)
m
x

x
u
k
(x)
m
(4.3)
O grau de similaridade de uma amostra cada cluster determinado atravs da equao
4.4, onde u
k
(x) representa a semelhana do ponto x em relao ao cluster k.
u
k
(x) =
1
d
c
(k, x)

(4.4)
Os coecientes so normalizados, utilizando um coeciente real m > 1, para satisfazer
as equaes 4.5 e 4.6, sendo m uma constante fuzzy de normalizao e d a distncia entre os
padres.
k

j
u
k
(x) = 1 (4.5)
20
u
k
(x) =
1

j
(
d(c
k
,x)
d(c
j
,x)
)
2
m1
(4.6)
Para m igual a 2, a equao 4.6 resulta numa normalizao linear dos coecientes, onde
a soma resulta em 1. Quando o valor de m aproxima-se a 1, os pontos mais prximos do
centro do cluster recebem pesos maiores, e o comportamento do modelo torna-se similar ao de
k-mdias.
O funcionamento do algoritmo de c-mdias descrito a seguir:
1. Particionar o espao de entrada em k clusters iniciais. Este particionamento pode ser
feito tanto da forma aleatria quanto por meio de utilizao de uma heurstica.
2. Para cada amostra:
(a) Calcular o valor do centride de cada cluster;
(b) Para cada amostra, calcular os coecientes correspondentes aos clusters presentes
no sistema;
3. Repetir o algoritmo at que a variao dos coecientes entre duas iteraes consecutivas
do algoritmos seja inferior a .
O modelo de c-mdias visa minimizar a varincia intra-clusters. Entretanto, sendo simi-
lar ao modelo de k-mdias, ele encontra mnimos locais, nem sempre convergindo para uma
soluo tima.
4.2.3 Algoritmo de clusterizao QT
Algoritmo de clusterizao QT (Quality Threshold) [116, 129] um mtodo de agrupamento de
dados alternativo, proposto inicialmente para a clusterizao de genes do cromossomo humano.
Enquanto ele requer maior poder computacional para atingir o resultado, o seu funcionamento
no depende da pr-determinao do nmero de clusters, sempre retornando o mnimo global
da soluo.
O algoritmo de clusterizao QT apresentado a seguir:
1. Inicialmente, necessrio escolher o dimetro mximo para cada cluster;
2. Para cada amostra, encontrar o cluster-candidato mais apropriado, considerando a dis-
tncia do ponto atual at o ponto mais prximo do cluster, repetindo esse procedimento
para todos os clusters que esto dentro do limite pr-estabelecido pelo dimetro do passo
1;
3. Salvar o cluster-candidato que tem o maior nmero de amostras como sendo o primeiro
cluster verdadeiro, removendo todos os pontos que pertencem a ele das iteraes futuras;
4. Repetir o algoritmo com o nmero de pontos reduzidos, at que todas as amostras sejam
alocados nos clusters.
21
Figura 4.2: SVM separao entre as classes
O valor de proximidade entre uma amostra e um cluster calculado considerando a distn-
cia mxima entre ela e todos os pontos pertencentes ao cluster.
O modelo resulta em uma clusterizao mais precisa, uma vez que um numero adequado
de clusters alocado para cada caso. O custo computacional do modelo, entretanto, signi-
cativamente maior de que o do modelo de k-mdias e c-mdias.
As tcnicas de classicao iterativa tambm podem ser utilizadas para a predio de pa-
dres, conforme demonstrado em [65], onde o modelo de k-mdias utilizado para identicar
e predizer diversos estados de execuo de processos.
4.2.4 Classicao linear: SVM (Support Vector Machines)
SVM (Support Vector Machines) uma tcnica de aprendizagem linear supervisionada, voltada
para classicao e regresso de padres. Uma caracterstica especial desta famlia de tcnicas
consiste no fato delas minimizarem o erro emprico de classicao, maximizando ao mesmo
tempo a margem geomtrica de erro. Com isso, essas tcnicas so tambm conhecidas como
classicadores de margem mxima (maximum margin classiers) [197, 221, 240, 210].
A tcnica consiste em mapeamento de vetores de entrada em um espao amostral com
dimenso superior, por meio de construo do hiper-plano mximo de separao. Para isso,
dois hiper-planos auxiliares so construdos, de uma forma que o hiper-plano de separao
resultante maximize a distncia entre eles. assumido que, quanto maior for a margem de
distncia entre os planos, menor o erro de generalizao do classicador.
A tcnica de SVM classica os padres de entrada representados por um vetor de pesos
-dimensional em diversas classes, com o objetivo de separar tais classes com um hiper-plano
de dimenso 1. Alm disso, a tcnica visa encontrar um hiper-plano que possibilita a maior
separao entre as classes ou seja, encontrar um cuja distncia at o padro atual de entrada
seja mxima, conhecido como hiper-plano de margem mxima (ou maximum-margin hyper-
plane). Como possvel ver na gura 4.2, enquanto trs hiper-planos podem ser construdos
para os valores de entrada considerados, somente um resulta em separao mxima entre as
classes.
22
O algoritmo de SVM pode ser descrito da seguinte forma:
Considerando X R
0

n
os vetores de entrada, y {1, +1} os eixos, e : R
0
F
a funo de mapeamento do espao de entrada para o espao de apresentao, o algoritmo visa
encontrar um hiper-plano (w, b) tal que o valor da equao 4.7 seja mximo, sendo a margem,
vetor w com a mesma dimenso de F, e b um nmero real.
= min
i
y
i
{w, (X
i
) b} (4.7)
A funo de deciso correspondente demonstrada na equao 4.8.
f(X) = sign(w, (X) b) (4.8)
O mnimo da funo f(X) ocorre quando a equao 4.9 satisfeita, sendo que
i
so
nmeros reais positivos que maximizam a equao 4.10 e satisfazem a equao 4.11.
w =

i
y
i
(X
i
) (4.9)

ij

j
y
i
y
j
(X
i
), (X
j
) (4.10)

i
y
i
= 0,
i
> 0 (4.11)
Desta forma, possvel representar a funo de deciso atravs da equao 4.12.
f(X) = sign(

i
y
i
(X
i
), (X) b) (4.12)
A partir da equao 4.12 observa-se que
i
, associado ao ponto de treinamento X
i
, expressa
a importncia daquele ponto no resultado nal da funo de deciso.
importante observar que somente um sub-conjunto de pontos associado a
i
no-nulos.
Tais pontos so denominados de vetores de suporte (support vectors, dando nome tcnica de
SVM), e so os pontos mais prximos ao hiper-plano de separao.
Dessa forma, a tcnica possibilita a classicao de padres de acesso, separando-os de
acordo com os vetores de suporte do hiper-plano determinados. A tcnica pode ser utilizada
para predio de padres numa seqncia longa, conforme demonstrado em [117].
4.3 Tcnicas baseadas em redes neurais
Redes neurais articiais so sistemas computacionais baseados em ligaes, que visam simular
a estrutura do crebro humano. Uma rede composta por um conjunto de elementos de pro-
cessamento ("neurnios", "ns"ou "unidades"), interligados por meio de conexes com pesos
associados, que se comunicamatravs de troca de sinais [155]. O funcionamento da rede neural
relativamente simples, sendo que cada neurnio responsvel apenas por receber sinais de
seus vizinhos ou fontes externas, determinar o sinal de sada em funo dos dados recebidos e
o propagar para outras unidades de processamento, conforme ilustrado na gura 4.3 [155].
Geralmente, assume-se que cada unidade de processamento oferece uma contribuio adi-
tiva para o neurnio qual ela conectada, calculada em funo do peso associado conexo
entre eles. Dessa forma, o valor total de entrada s
k
de um neurnio k pode ser representado
23
Figura 4.3: Componentes de uma rede neural
como uma soma ponderada dos valores de sada y
j
dos neurnios j ajustada em funo do
peso w
jk
, associado conexo entre neurnio j e k, mais um valor inicial
k
(t) do neurnio k,
conforme a equao 4.13.
s
k
(t) =

j
w
jk
(t)y
j
(t) +
k
(t) (4.13)
A contribuio de um neurnio, determinada pelo peso da conexo w
j
, pode ser negativa,
utilizada para inibio de um neurnio, ou positiva, utilizada para a sua excitao.
Os pesos das conexes podem ser ajustados dinamicamente para indicar conexes mais
relevantes durante um processo de treinamento ou aprendizado. O treinamento de uma rede
neural pode ser feito de maneira supervisionada, ou associativa [39], quando a rede alimen-
tada com valores pr-determinados de entrada e sada para possibilitar reconhecimento de uma
srie de padres de entrada. Outro tipo de treinamento conhecido como treinamento no-
supervisionado, ou auto-organizvel [155], na qual a rede se adapta dinamicamente ao seu
contedo sem nenhum conhecimento prvio sobre os padres de entrada.
O aprendizado de rede feito de acordo com uma regra de aprendizado. Geralmente, o
modelo de aprendizado Hebbiano [113] aplicado, no qual arma-se que, caso duas unidades
de processamento j e k estiverem ativas simultaneamente, sua conexo deve ser reforada,
ajustando o peso dessa conexo. O ajuste do peso pode ser feito de maneira direta, ajustando o
peso da conexo de acordo com a equao 4.14, onde uma constante que representa a taxa
de aprendizado da rede (eq. 4.14):
w
jk
= y
j
y
k
(4.14)
Uma outra maneira de ajustar o peso de uma conexo consiste na tcnica de aproximao,
que visa adaptar gradativamente a diferena entre o peso atual da conexo y
k
e o peso desejado
d
k
, informado explicitamente, conforme a equao 4.15.
24
Figura 4.4: Funes de ativao de neurnios
w
jk
= y
j
(d
k
y
k
) (4.15)
Outras tcnicas de aprendizagem podem ser aplicadas, tais como as de aprendizado com-
petitivo, utilizada pela rede neural SOM (seo 4.3.1), as de aprendizado baseado em memria,
utilizada pela rede RSOM (seo 5.6.1), as de aprendizado de Boltzmann, utilizada pela rede
de Hopeld (seo 5.5.2) entre outras.
Em redes com mltiplas conexes entre os neurnios, cada elemento tem um valor de ati-
vao y
k
(t), usado para determinar os neurnios mais adequados para a propagao do sinal
calculado pelo neurnio atual. A escolha do prximo neurnio y
k
(t +1) feita por uma funo
de ativao F
k
(t) com base no valor total de entrada s
k
(t) do neurnio k (eq. 4.16).
y
k
(t + 1) = F
k
(t
k
(t), s
k
(t)) (4.16)
O valor de ativao y
k
do neurnio k controlado pelo valor de nvel (threshold) s e pode
ser calculado por diversas funes, tais como funo de corte (sgn) , semi-linear ou sigmide
(equao 4.17), conforme a gura 4.4 [155].
y
k
= F(s
k
) =
1
1 +e
s
k
(4.17)
Uma rede neural geralmente composta por uma srie de camadas de neurnios, conforme
a gura 4.5, com uma camada de entrada cujo objetivo receber dados de entrada, uma camada
de sada e uma srie de camadas escondidas utilizadas para o processamento e propagao de
sinais.
De acordo com o padro de conexes entre as camadas, possvel classicar as redes
neurais em redes feed-forward, onde os dados somente so propagados da camada de entrada
at a camada de sada, e redes recorrentes, que possibilitam conexes de feedback para ajustar
dinamicamente a congurao da rede. Como exemplos de redes feed-forward possvel citar
redes Adaline e Perceptron [155], e como exemplos de redes recorrentes pode-se citar redes
SOM [143] e redes de Hopeld [120].
Atualmente existe uma grande variedade de redes neurais com vasta aplicao em diversas
reas computacionais. No caso de sistemas distribudos, possvel representar um ambiente
distribudo como sendo composto por diversos neurnios, cada um representando um elemento
de processamento. Nesse caso, os parmetros dos neurnios representariam o poder de pro-
cessamento, memria disponvel, latncia de acessos, etc. Dessa forma, a rede neural pode
ser utilizada para solucionar diversos problemas, tais como a distribuio de dados pelo ambi-
25
Figura 4.5: Topologia de rede neural
ente em funo de parmetros de recursos computacionais [170] ou antecipao de acessos aos
dados [72].
A seguir, as principais redes neurais usadas para classicao de padres so apresentadas.
4.3.1 Mapas auto-organizveis SOM
Os mapas auto-organizveis (SOM Self-Organizing Maps) foram introduzidos por Kohonen
[143] com o objetivo de resolver o problema de classicao de dados de entrada de acordo
com o nvel de similaridades [133, 143]. SOM utiliza treinamento no-supervisionado, onde o
neurnio que mais se adequa a um determinado padro de entrada utilizado para classicar
padres de entrada similares. Um exemplo de classicao feita por SOM apresentado na
gura 4.6 [166].
Supondo que a gura 4.6 representa os processos executados em um ambiente distribudo,
pode-se ver que processos com caractersticas similares (por exemplo, uso do processador,
memria e taxa de transmisso) so agrupados em clusters com caractersticas similares.
SOM representa os dados de entrada como pontos, ou ns, em um mapa. Aps o mapea-
mento inicial de dados, o algoritmo SOM aplicado sobre um vetor de entrada de dimenses
arbitrrias contendo todos os ns do mapa com o objetivo de agrupar vetores semelhantes, atra-
vs do processo winner-take-all. Nesse processo, o neurnio com vetor de peso mais similar ao
vetor de entrada declarado vencedor e tem seu peso ajustado, visando torn-lo mais prximo
ao vetor de entrada. Alm disso, para cada neurnio no mapa determinada a sua vizinhana
(conjunto de neurnios, cujo peso prximo ao do neurnio vencedor), ajustando os pesos dos
neurnios encontrados proporcionalmente sua distncia do vencedor. O processo repetido
durante um nmero arbitrrio de ciclos.
O algoritmo pode ser descrito da seguinte maneira:
1. Inicializar a rede, representada como um mapa, conforme demonstrado na gura 4.6,
26
Figura 4.6: SOM: agrupamento de dados
com neurnios aleatrios;
2. Para cada vetor de entrada:
(a) Para cada neurnio presente no mapa:
i. Determinar a distncia Euclidiana D
E
entre o neurnio encontrado q e o vetor
de entrada p para calcular a sua semelhana por meio da equao 4.18, onde p
x
representa o x-simo elemento do vetor de entrada e q
y
representa o y-simo
elemento do neurnio atual;
D
E
=

(p
1
q
1
)
2
+ (p
2
q
2
)
2
+ ... + (p
n
q
n
)
2
=

i=1
(p
i
q
i
)
2
(4.18)
ii. Salvar o neurnio j compeso w
j
que apresentou a menor distncia Ddo padro
de entrada x, satisfazendo a equao 4.19, o qual denominado de BMU (Best
Matching Unit).
D = argminx w
j
(4.19)
(b) Determinar os neurnios em vizinhana do BMU;
27
(c) Para cada neurnio k vizinho do BMU:
i. Atualizar os pesos do neurnio k, aproximando-os aos do BMU, conforme
equao 4.20, onde t representa a iterao atual, Wv representa o vetor de
pesos do neurnio k, (t) representa a distncia entre o neurnio k e o BMU,
(t) representa a taxa de aprendizagem e D(t) a distncia entre o neurnio k
e o BMU.
Wv(t + 1) = Wv(t) + (t)(t)(D(t) Wv(t)) (4.20)
3. Repetir para todos os vetores restantes.
Considerando que para cada vetor de entrada determinado um neurnio-vencedor (BMU)
diferente, o algoritmo possibilita agrupar padres emumnmero de clusters comcaractersticas
similares.
A variao do parmetro (t) possibilita controlar a taxa de aprendizado do algoritmo SOM.
Com valores altos, pode-se obter uma taxa de aprendizagem rpida, enquanto valores baixos
resultam em treinamento mais renado.
O SOM apresenta dois modos de operao:
1. Durante o processo de treinamento, construdo um mapa, organizando os vetores de
entrada atravs do processo competitivo winner-take-all.
2. Durante o processo de classicao, ou clustering, os vetores de entrada so classicados
de acordo com o mapa criado no passo anterior.
Nesse caso, apenas o passo 2.a do algoritmo realizado, determinando o BMU para cada
elemento de entrada. Aps isso, o vetor de entrada classicado no cluster correspon-
dente ao neurnio BMU encontrado.
Redes SOM so aplicadas em diversas reas, onde evidente a necessidade de classica-
o e organizao de grande nmero de informaes. Como exemplos de aplicaes de redes
SOM possvel citar organizaes de bases de dados [143], predio do uso de energia [159],
classicao de dados de satlites [175] e processamento de imagens [7].
4.3.2 Redes neurais auto-expansveis
Enquanto redes neurais classicadoras, tais como SOM, permitem classicao automtica e
no-supervisionada de dados, elas apresentam limitaes relacionadas necessidade de deni-
o prvia de congurao, topologia, e parmetros de treinamento da rede.
Com o objetivo de permitir uma classicao mais adaptiva, diversas redes neurais auto-
expansveis, ou seja, redes que possibilitam a criao de novos neurnios sob demanda, fo-
ram propostas, tais como Cascade-Correlation Learning Architecture (CCLA) [81, 213, 13],
Growing Cell Structure (GCS) [156, 215], Probabilistic GCS [226, 34, 47], Growing Neural
Gas (GNG) [156, 107, 91], Growing Self-Organizing Maps [5, 61], RCE [75, 236], CLAM
[219]. Growing When Required (GWR) [167] e SONDE [6].
A maioria das redes neurais auto-expansveis so similares ao modelo de redes SOM. A
seguir, as principais caractersticas delas sero discutidas.
28
4.3.3 Cascade-Correlation Learning Architecture
A rede neural CCLA uma rede neural supervisionada, criada com o objetivo de otimizar o
desempenho do processo de aprendizagem [81, 213, 13]. De maneira similar outras redes
neurais classicadoras, a CCLA inicializada com uma estrutura mnima, sendo que novos
neurnios so inseridos medida que for necessrio.
A principal diferena de CCLA em relao a outras redes classicadores consiste no fato
dela empregar treinamento supervisionado, adicionando novos neurnios nas camadas escondi-
das da rede somente quando necessrio. Novas unidades so inseridas na rede quando o erro de
classicao no reduzido durante iteraes consecutivas do processo de treinamento. Neste
caso, o seguinte algoritmo executado:
1. Um novo neurnio-candidato criado;
2. Os pesos do neurnio so treinados, visando maximizar a correlao entre a sada do
neurnio e o erro residual de sada. Ao nal do treinamento, este neurnio adicionado
rede;
3. Ao ser includo na rede, os pesos do neurnio so congelados, no permitindo modica-
es futuras nos seus valores.
Dessa maneira, a rede CCLA visa uma criao rpida de rede classicatria, criando neur-
nios adicionais dinamicamente.
4.3.4 Growing Cell Structure
A rede GCS (Growing Cell Structure), apresentada por Fritzke [91, 156, 215], foi uma das
primeiras redes neurais auto-expansveis no supervisionadas. A rede baseada na SOM, sendo
composta por superfcies k-dimensionais, sendo que o valor de k geralmente denido como
sendo k = 2. Com isso, as superfcies criadas so sempre triangulares.
Na rede GCS, um novo neurnio inserido a cada iteraes, sendo uma constante pr-
denida, de forma a suportar o neurnio que acumulou o maior nmero de erros durante as
iteraes passadas. Esse processo continua at que um critrio de parada seja satisfeito, seja
ele um tamanho pr-determinado da rede, ou um valor mnimo para o erro acumulado.
Diversas variaes da rede GCS foram propostas, visando otimizar seu funcionamento.
Em [34], Burzevski e Mohan propuseram um novo mecanismo para tratar as mudanas da
estrutura de rede que podem ocorrer devido remoo de neurnios uma vez que a rede
composta por uma srie de superfcies k-dimensionais, a remoo de um neurnio pode
modicar drasticamente a sua estrutura.
Uma das propriedades fundamentais da rede GCS o fato dela manter a mesma topologia
durante todo o processo de treinamento, aplicando uma diviso de neurnios existentes, criando
novas ligaes entre eles. Dessa forma, quando um elemento removido da rede, o neurnio
mais prximo a ele dividido em dois, visando manter a mesma topologia.
De acordo com os autores, esse algoritmo oferece diversas vantagens em alguns casos,
resultando em uma classicao mais precisa e eciente, a custo de aumento signicativo de
nmero de neurnios na rede, resultando em uma topologia mais complexa da rede neural [34].
Uma extenso rede, conhecida como DCS (Dynamic Cell Structures), foi proposta por
Bruske e Sommer [3, 83]. Nessa extenso, os autores propem a insero de novos neurnios
29
na rede de uma forma a manter a topologia da rede, diferentemente da rede GCS original, que
visa somente equalizar os valores de erro esperados em cada neurnio.
Uma abordagem diferente proposta por Vlassis, conhecida como Probabilistic GCS [226,
34, 47]. O modelo proposto visa tornar a rede GCS probabilstica, com o objetivo de melhorar
o mecanismo de tratamento de entradas. Para isso, as entradas da rede so avaliadas por meio
de tcnicas estocsticas, visando determinar co-relaes entre elas.
Finalmente, uma outra extenso para da rede GCS foi proposta por Cheng e Zell [47], alte-
rando a estrutura bsica do algoritmo de GCS. No trabalho, a rede foi modicada, permitindo
com que mais de um neurnio pudesse ser adicionado simultaneamente. Dessa forma, depen-
dendo da topologia atual, dois ou mais neurnios podem ser adicionados rede simultanea-
mente, dependendo da posio do neurnio-vencedor atual, resultando em uma convergncia
mais rpida da rede, ao custo de criao de um nmero maior de neurnios.
Tanto a rede original GCS, quanto as suas extenses, so empregados em diversas reas
computacionais, porm a sua ecincia varia de acordo com os padres de entrada avaliados.
4.3.5 Growing Neural Gas
A rede neural Growing Neural Gas (GNG), tambm proposta por Fritzke [156, 107, 91],
similar GCS. Na rede, os neurnios so adicionados a cada iteraes, de forma similar
rede GCS, visando suportar o neurnio com maior erro acumulado. Entretanto, diferentemente
de GCS, a estrutura topolgica da rede no mantida, sendo que as conexes so criadas entre
dois elementos que apresentaram a maior atividade:para cada padro de entrada.
Dessa forma, para cada entrada do sistema so selecionados dois neurnios-vencedores,
cuja distncia Euclidiana do padro de entrada menor. Tais neurnios so conhecidos como
vencedores, uma conexo entre eles criada e suas posies alteradas de forma com que os
seus pesos sejam mais adequados ao valor de entrada. Alm disso, as posies dos neurnios-
vizinhos dos vencedores tambm so ajustadas.
Visando manter somente as conexes entre os neurnios mais signicativos, as conexes
que no foram atualizadas por um determinado nmero de iteraes so removidas. Aps
iteraes, o neurnio que acumulou a maior taxa de erros durante as execues passadas do
algoritmo determinado, e um novo elemento inserido na rede para diminuir a taxa de erros.
O novo neurnio posicionado entre o que apresentou a maior taxa de erro e o seu vizinho
com a taxa de erros mais prxima. O algoritmo continua at atingir um critrio de parada
pr-estabelecido.
Diversos trabalhos comparam o desempenho das redes GCS e GNG [156, 107, 91], con-
cluindo que a ecincia dessas redes varia de acordo com o padro de entrada avaliado.
Visando melhorar o desempenho da rede GNG para padres de entrada no-estacionrios,
uma modicao da rede foi proposta por Fritzke [92], denominada de GNGU (Growing Neural
Gas with Utility). Essa abordagem introduz o conceito da utilidade dos neurnios, calculada
por maio da avaliao da possvel variao do erro global do sistema, caso tal neurnio for re-
movido. Portanto, para manter somente os dados mais relevantes, os neurnios que apresentam
baixa utilidade so deletados, mantendo somente os mais adequados.
30
4.3.6 Growing Self-Organizing Maps
Uma outra abordagem apresentada por Bauer e Villmann [5, 61], introduzindo uma extenso
da rede neural SOM conhecida como Growing Self-Organizing Map. O algoritmo de treina-
mento baseado no algoritmo original de SOM, com a diferena de que a cada iteraes
novos neurnios so acrescentados na rede. No lugar de inserir somente um elemento por
vez, supondo que as conexes entre os neurnios sero estabelecidas automaticamente durante
o treinamento, o algoritmo proposto adiciona uma srie de neurnios simultaneamente, man-
tendo a topologia da rede.
O algoritmo visa manter a estrutura da rede inserindo umconjunto de neurnios de uma vez,
de acordo com a topologia atual da rede. Ao adicionar novas entradas na rede, a vizinhana
entre os neurnios atuais mantida, considerando a correspondncia topolgica entre dados de
entrada e a sua representao na rede.
4.3.7 Restricted Coulomb Energy
A rede neural Restricted Coulomb Energy (RCE) uma rede no-supervisionada, que classica
padres de entrada sem criar conexes entre os neurnios-vizinhos [75, 236]. A rede utiliza
sries de vetores-prottipos para classes particulares de entrada.
Caso nenhum dos vetores existentes, cada um dos quais representa um cluster, sucien-
temente prximo ao valor de entrada avaliado, uma nova classe criada e inicializada com e o
valor de entrada atual. Com isso, no existem conexes entre os clusters, e os prottipos no
so modicados aps serem criados. Uma abordagem similar empregada na famlia de redes
neurais ART (Adaptive Resonance Theory), apresentada na seo 4.3.10.
4.3.8 Contextual Layered Associative Memory
Uma abordagem diferente proposta por Thacker e Mayhew [37, 220, 219], introduzindo a
rede neural CLAM (Contextual Layered Associative memory). A rede composta por uma
srie de camadas interconectadas com um mecanismo de ressonncia dentro de cada, utilizado
para detectar similaridades entre os padres de entrada.
Diferentemente de outras redes, que utilizam a abordagem winner-takes-all para escolher
um nico vencedor, CLAM classica os padres entre diversos grupos de neurnios, efetiva-
mente cobrindo o espao amostral dos padres de entrada. Neurnios adicionais so acres-
centados na rede quando a mesma detecta que uma regio de entrada apresenta uma baixa
densidade de neurnios.
4.3.9 Growing When Required
A rede neural Growing When Required (GWR), proposta por Marsland et al. [167], uma
rede auto-organizvel e auto-expansvel, criada com o objetivo de suprir as decincias das
redes auto-expansveis existentes, sendo amplamente utilizada para classicao de padres e
deteco de novidades.
A rede composta por neurnios interconectados com vetores de pesos conectados com
os seus vizinhos, sendo que os padres de entrada similares so representados por meio de
agrupamentos de neurnios. Tanto os ns da rede quanto as conexes so criados e destrudos
durante o processo de aprendizagem dinamicamente.
31
Diferentemente de GNG e GCS, onde novos neurnios so inseridos na rede a cada
iteraes, GWR permite a criao de novos neurnios a qualquer momento. A rede utiliza
aprendizado Hebbiano competitivo, e para cada padro de entrada uma conexo entre os dois
neurnios-vencedores criado. cada conexo associado um parmetro representando a sua
idade, inicializado com zero, sendo que as idades das conexes estabelecidas so incrementa-
das a cada iterao, e as cuja idade excede a constante
max
so removidas. Da mesma forma,
os neurnios sem nenhuma conexo tambm so removidos, por serem considerados mortos.
Diferentemente de GNG, onde novos neurnios so inseridos de forma a suportar neurnios
com maior taxa de erro acumulada, na rede GWR eles so criados de acordo com a topologia da
rede. Para adicionar um neurnio, a atividade dos neurnio presentes no sistema calculada,
sendo representada pela distncia Euclidiana entre o vetor de pesos de neurnio e atual padro
de entrada. Neurnios com menor distncia so escolhidos como vencedores.
Levando em considerao o fato de que neurnios recm-criados podem no ser treinados
o sucientemente para realizar uma classicao adequada, a rede introduz um mecanismo
para avaliar quantas vezes cada neurnio foi disparado. Geralmente, um contador simples
utilizado para calcular tal valor, sendo incrementado cada vez que o neurnio for considerado
um vencedor.
Uma outra abordagem consiste na utilizao de uma varivel que decresce exponencial-
mente de 1 a 0, sendo que os neurnios recm-criados so inicializados com 1 e os neurnios
disparados frequentemente tendem a ter seus valores prximos a 0. Essa abordagem equi-
valente anterior, porm possibilita a modicao das variveis dos neurnios-vizinhos do
vencedor, levando em considerao a distncia entre eles. Alm disso, o nmero de vezes que
um neurnio foi disparado tambm pode ser levado em considerao durante o processo de
aprendizagem, de uma forma que os disparados com maior freqncia so treinados menos do
que os que raramente ativados. Com isso, possvel otimizar a convergncia da rede, evitando
super-utilizao de alguns neurnios a custo de outros, o que pode levar a uma classicao
imprecisa.
Dessa forma, quando um novo padro de entrada processado pela rede, a atividade de
todos os neurnios calculada, escolhendo um vencedor. Se o valor que representa a sua
atividade prximo a 1, a rede considera que ele representa o padro de entrada de forma
adequada. Caso contrrio, se a atividade da rede inferior ao valor mnimo estabelecido,
determinado por
T
, isso pode signicar que o neurnio foi inserido na rede recentemente ou
que nenhum elemento da rede representa o padro de entrada adequadamente.
Se o neurnio foi criado recentemente, ele treinado. Caso contrrio, um novo neurnio
criado entre o vencedor e o padro de entrada considerado, tendo seus pesos inicializados com
valores mdios dos pesos do neurnio-vencedor e o atual padro de entrada.
Com isso, o comportamento da rede pode ser congurado por meio do parmetro
T
, sendo
que quando
T
prximo a 1, a fase de treinamento cria um nmero maior de neurnios,
resultando em classicao mais detalhada. Por outro lado, quando o valor de
T
baixo, a
rede resulta em uma classicao mais generalizada.
O algoritmo da rede GWR descrito a seguir:
1. Considerando A o conjunto de neurnios presentes na rede, C AxA o conjunto das
conexes entre eles,
n
o vetor de pesos do neurnio n e os valores de entrada, cujo
espao amostral representado por (), a rede inicializada com dois neurnios n
1
e
n
2
, escolhidos aleatoriamente de ();
32
2. Para cada iterao do algoritmo:
(a) Escolher um padro de entrada ;
(b) Para cada neurnio i da rede, calcular a distncia Euclidiana dele para o padro de
entrada atual ||
i
||;
(c) Selecionar os dois neurnios-vencedores, representados por s, t A, de acordo
com as equaes 4.21 e 4.22, onde
n
o vetor de pesos do neurnio n;
s = arg min
nA
||
n
|| (4.21)
t = arg min
nA/{s}
||
n
|| (4.22)
(d) Caso no exista conexo entre s e t, a conexo criada entre eles, tendo a sua idade
inicializada com 0. Caso contrrio, a idade da conexo zerada;
(e) A atividade do neurnio-vencedor calculada atravs da equao 4.23;
= exp(||
s
||) (4.23)
(f) Caso o valor da atividade seja inferior ao valor de corte
T
, e o contador de
disparos do neurnio seja inferior ao valor de corte h
T
, um novo neurnio r in-
serido entre os dois neurnios-vencedores (s e t), tendo o seu vetor de pesos
r
inicializado de acordo com a equao 4.24.

r
= (
s
+ )/2 (4.24)
Aps isso, conexes entre r e s so criadas, e conexo entre s e t removida da
rede;
(g) Caso a criao de um novo neurnio no for necessria, as posies do neurnio-
vencedor e dos seus vizinhos i so ajustadas de acordo com as equaes 4.25 e 4.26,
considerando 0 <
n
<
b
< 1 e h
s
como sendo o valor de corte de contagem de
disparos para o neurnio s;

s
=
b
h
s
(
s
) (4.25)

i
=
n
h
i
(
i
) (4.26)
(h) A idade das conexes que levam a s incrementada de acordo com a equao 4.27,
sendo a
(s,i)
a idade da conexo entre os neurnios s e i;
a
(s,i)
= a
(s,i)
+ 1 (4.27)
(i) O contador de disparos do neurnio-vencedor s decrementado, de acordo com a
equao 4.28; e o dos seus vizinhos de acordo com a equao 4.29, sendo que h
i
(t)
representa o valor do contador de disparos do neurnio i, h
0
o valor inicial do
33
contador, S(t) representa a constante de estimulao, geralmente sendo igual a 1,

n
, e
b
,
n
e
b
so parmetros que controlam o comportamento da equao;
h
s
(t) = h
0

S(t)

b
(1 e
(alpha
b
t/
b
)
) (4.28)
h
s
(t) = h
0

S(t)

b
(1 e
(alpha
b
t/
b
)
) (4.29)
(j) Aps isso, existncia de neurnios e conexes a serem removidos da rede veri-
cada. Os neurnios so removidos quando eles no so conectados a nenhum outro
elemento da rede (i.e., so considerados neurnios mortos). As conexes, por sua
vez, so removidos quando a sua idade excede a idade mxima pr-estabelecida;
(k) O algoritmo executado at atingir um critrio da parada pr-estabelecido.
A rede GWR caracterizada por se adaptar rapidamente s mudanas no padro de entrada,
sendo amplamente utilizada para deteco de novidades e classicao de padres.
4.3.10 Adaptive Resonance Theory
ART (Adaptive Resonance Theory) uma famlia de arquiteturas de redes neurais desenvolvida
por Grossberg [40], caracterizadas por adotarem o modelo no-supervisionado de aprendizado
e serem compostas por camadas de comparao e reconhecimento de padres, um parmetro
de vigilncia e um mdulo de reset.
A camada de comparao e reconhecimento de padres so responsveis pela determinao
de semelhanas entre os elementos do vetor de entrada e sua classicao. O parmetro de
vigilncia diretamente responsvel pela preciso da rede neural quanto maior for o valor
desse parmetro, maior a preciso da classicao, ao custo de generalizao. Em outras
palavras, quanto maior for o valor do parmetro, mais clusters, ou classes, independentes sero
encontrados pelo algoritmo durante o processo de classicao de dados. Finalmente, o mdulo
de reset utilizado para controlar o algoritmo, vericando a preciso de classicao em funo
do parmetro de vigilncia.
Um exemplo de classicao feita por ART pode ser visto na gura 4.7 [166]. Como pode-
se ver na gura, os dados foram classicados em 5 clusters independentes, cada um com seu
conjunto de caractersticas. A distncia mdia entre clusters independentes denominada dis-
tncia inter-clusters, e a distncia mdia entre os elementos de um mesmo cluster denominada
distncia intra-cluster [172]. Esses parmetros determinam o grau de independncia entre os
dados classicados.
A classicao de dados feita de acordo com o algoritmo a seguir:
1. A camada de comparao recebe um vetor de entrada e o transmite para a camada de
reconhecimento, onde o neurnio mais similar (i.e., cujo conjunto de pesos mais pr-
ximo ao vetor de entrada) encontrado. Cada neurnio da camada de reconhecimento
alimenta umsinal negativo, proporcional semelhana do neurnio encontrado como pa-
dro de entrada, para outros neurnios da camada de reconhecimento, conseqentemente
inibindo a sua sada. Dessa forma, a camada de reconhecimento apresenta inibio late-
ral, permitindo com que os seus neurnios representem diversas categorias nas quais os
dados de entrada so classicados;
34
Figura 4.7: ART: classicao de dados
2. Aps a classicao do vetor de entrada, o mdulo de reincio (reset) compara o valor
do padro reconhecido ao parmetro de vigilncia. Caso o parmetro de vigilncia for
satisfeito, o treinamento iniciado. Caso contrrio, o neurnio reconhecido inibido at
o processamento do prximo vetor de entrada. Nesse caso, treinamento comea somente
aps completar o procedimento de busca;
3. No procedimento de busca, os neurnios da camada de reconhecimento so desabilitados
um por um, at satisfazer o parmetro de vigilncia. Caso nenhum neurnio reconhecido
satisfaa o parmetro de vigilncia, um novo neurnio criado para o padro de en-
trada atual. Esse neurnio considerado satisfatrio e ajustado em direo ao vetor de
entrada.
Existem dois principais mtodos de treinamento de redes neurais ART lento e rpido. No
mtodo lento, o nvel de treinamento do neurnio de reconhecimento ajustado em direo ao
vetor de entrada atravs de funes diferenciais e, conseqentemente, seu desempenho depende
do tamanho do vetor de entrada. No mtodo de treinamento rpido, so utilizadas equaes
matemticas para calcular os ajustes de pesos dos neurnios, utilizando valores binrios.
A famlia ART composta de vrias redes. A verso mais simples da rede conhecida
como ART-1 [39], sendo que o seu funcionamento limitado pelo fato de somente aceitar
valores binrios no vetor de entrada.
Uma extenso da rede ART-1 conhecida como ART-2 [40], caracterizada pela capacidade
35
de suportar valores de entrada contnuos. Entretanto, devido ao baixo desempenho dessa rede,
uma modicao foi proposta, conhecida como ART-2A [112, 172], descrita de forma detalhada
a seguir.
Visando estender a rede ART-2, a rede ART-3 foi proposta [41]. Essa rede caracterizada
pela possibilidade de inibio parcial de neurnios, atravs de um mecanismo de regulao
neuro-transmitida.
Com o objetivo de melhorar a generalizao da rede, foi criada uma modicao deno-
minada de Fuzzy ART [44]. A rede emprega lgica fuzzy no algoritmo de reconhecimento de
padres para reduzir o nmero de clusters criados no processo de classicao.
Rede ARTMAP [43], tambm conhecida como Predictive ART, combina as redes ART-1 e
ART-2 em uma estrutura de aprendizagem supervisionada. Nesse caso, os dados reconhecidos
so utilizados para adaptar o parmetro de vigilncia de maneira recorrente. Uma extenso
dessa rede conhecida como Fuzzy ARTMAP [42], que introduz a utilizao na lgica fuzzy na
rede ARTMAP.
Para ilustrar o funcionamento das famlia de redes ART, possvel usar a rede neural
ART 2A.
A arquitetura da rede ART 2A composta por dois componentes principais: o sistema
de atenuao e sistema de orientao, conforme a gura 4.8 [172]. O sistema de atenuao
composto por uma camada de pr-processamento F
0
, uma camada de representao de entradas
F
1
e uma camada de representao F
2
. A camada de entrada e representao esto conectados
por uma srie de pesos adaptativos chamados bottom-up (F
1
F
2
) e top-down (F
2
F
1
).
O caminho do i-simo neurnio da camada F
1
para o j-simo neurnio da camada F
2
representado por W
ij
. Da mesma forma, j-simo neurnio da camada F
2
conectado ao i-
simo neurnio da camada F
1
pelo peso adaptativo w
ji
. Esses pesos so usados para multiplicar
os sinais enviados entre as camadas e so responsveis pelo armazenamento do conhecimento
obtido pela rede. As interaes entre as camadas F
1
e F
2
so controladas pelo sistema de
orientao, que emprega o parmetro de vigilncia . O caminho utilizado para atualizar os
neurnios determinado pelo algoritmo de treinamento.
A dinmica do funcionamento da rede ART-2A determinada pelo parmetro de vigilncia
[0, 1], e a taxa de aprendizado controlada pelo parmetro [0, 1]. Inicialmente, a
camada de sada F
2
no tem nenhuma classe denida, e a camada de entrada composta pelo
conjunto de atributos a serem classicados.
O algoritmo de treinamento da rede ART-2A composto dos seguintes estgios:
Pr-processamento: essa fase normaliza os dados de entrada I
0
:
I = (F
0
((V t
0
))) (4.30)
Na equao 4.30, os parmetros e F
0
descrevem as seguintes operaes:
(x)
x
x

x

n
i=0
x
2
i
, F
0
(x) =

x se x >
0 caso contrrio
(4.31)
Essas operaes exercem a normalizao Euclidiana e ltragem de rudo sobre os dados
de entrada. O processo de remoo de rudo, controlado pelo parmetro , somente
fornece resultados adequados quando as principais caractersticas do padro de entrada
36
Figura 4.8: Arquitetura da rede ART 2A
(responsveis pela criao de classes diferentes) esto presentes, exclusivamente, pelos
valores mais altos do componente de entrada;
Ativao: essa fase responsvel por enviar os sinais de entrada para os neurnios da
camada de representao F
2
, onde T
j
corresponde ativao do neurnio j na camada
F
2
.
T
j
=

Iw
ij
se j indica um prottipo satisfatrio

j
I
j
caso contrrio
(4.32)
Inicialmente, todos os neurnios esto marcados como insatisfatrios, e somente passar
para satisfatrios quando os seus pesos so adaptados para aprender um determinado
padro de entrada.
Oparmetro de escolha dene o nvel mximo da profundidade de busca por umcluster
adequado. Utilizando o valor = 0, todos os prottipos marcados como satisfatrios so
checados antes de escolher um prottipo no-satisfatrio como vencedor;
Busca: Essa fase do algoritmo responsvel pela busca do neurnio candidato a arma-
zenar o padro atual.
O aprendizado competitivo da rede determina o neurnio-candidato em funo do n-
mero de ativaes do neurnio para o padro atual, conforme a equao 4.33;
T
J
= max {T
j
: para todos F
2
nodes} (4.33)
Vericao de re-inicializao: aps selecionar o neurnio mais adequado, a condio
de re-inicializao testada:
37
y
J
> (4.34)
O neurnio candidato selecionado para armazenar o padro atual se a equao for ver-
dadeira. Nesse caso, a fase de adaptao iniciada. Caso contrrio, o neurnio vencedor
inibido e a fase de busca re-inicializada;
Adaptao: essa etapa determina como o padro ser tratado pela rede, que consiste
na atualizao dos pesos do neurnio vencedor J, que marcado como satisfatrio de
acordo com a equao 4.35.
w
new
Ji
=

( + (1 )w
old
Ji
) se j representa um prottipo satisfatrio
I caso contrrio
(4.35)

I
i
se w
old
Ji
>
0 caso contrrio
(4.36)
A tabela 4.1 ilustra todos os parmetros utilizados pela rede ART-2A.
Tabela 4.1: Principais parmetros de ART-2A
Parmetro Descrio Exemplo
m nmero de entradas 7
n nmero mximo de unidades de representao (clusters) 15
parmetro de ltragem de rudos =
1

m
taxa de aprendizagem = 0.7
parmetro de vigilncia = 0.9
O parmetro de vigilncia dene o nmero de classes criadas pela rede. O parmetro
dene um intervalo de deciso com o raio de

2(1 ) em torno do vetor de pesos de cada


categoria [112]. Para = 0, todos os padres de entrada so agrupados na mesma classe.
Tendo = 1, criada uma classe para cada padro de entrada da rede. A taxa de aprendizado
dene a velocidade de adaptao dos prottipos em relao aos padres de entrada. O uso de


= 1 no recomendado para a rede ART-2A, uma vez que neste caso os prottipos tendem a
migrar entre os padres associados a uma classe no lugar de convergir para o valor mdio dos
padres.
Cada neurnio satisfatrio da camada F
2
dene um grupo de padres similares. Dessa
forma, os neurnios denem a classicao gerada pela rede para os valores submetidos.
Um dos principais desaos da rede ART-2A a necessidade de encontrar um valor de
vigilncia adequado, uma vez que valores altos tendema criar umnmero excessivo de clusters,
e valores baixos no classicam os dados de maneira adequada. Uma das tcnicas utilizadas
para esse m consiste no clculo de distncias inter e intra-clusters [172]. Essa abordagem
permite determinar um valor ideal do para cada caso de aplicao.
38
4.3.11 Rede neural SONDE
A rede neural SONDE foi proposta por Albertini e Mello [6] para deteco de novidades. En-
tretanto, ela tambm pode ser aplicada para classicao de padres.
A rede inspirada nas redes neurais SOM, ART e GWR, descritas anteriormente, sendo
que ela utilizada de forma no-supervisionada e on-line. O objetivo da rede a deteco de
padres no-esperados e desconhecidos, resultando em criao de novos neurnios caso tais
padres sejam encontrados, tornando-a adequada para classicao de padres.
A rede SONDE composta por trs camadas: a camada de entrada e pr-processamento,
onde os padres podem ser normalizados caso necessrio; a camada de competio, onde os
neurnios para cada padro de entrada so ativados; e a camada de escolha do neurnio mais
adequado, onde o neurnio cujo valor de ativao maior ajustado, visando representar de
melhor forma o padro da entrada atual.
SONDE visa representar padres de entrada por meio de neurnios adaptativos. Novos
neurnios so criados quando novos padres so detectados, sendo que cada neurnio c de-
nido pelo valor de centride mdio dos seus padres de entrada
c
, um raio mdio de distncia
entre tais padres rad
c
, e um grau de semelhana
c
, empregado para reconhecer novos pa-
dres.
Os padres de entrada I
t
, sendo t a instante de tempo no qual o padro processado, so
normalizados por meio da equao 4.37 caso for necessrio. Para cada padro de entrada I
t
,
o valor de ativao de cada neurnio
c
calculado atravs da equao 4.38. Caso nenhum
neurnio existente na rede satisfazer a equao 4.39, um novo neurnio criado, tendo seu
centride w
new
inicializado com os valores dos padres de entrada correspondentes, de forma
que
new
= 1, seu valor de similaridade
new
inicializado de acordo com o valor de similari-
dade pr-denido
0
e seu raio inicial igual a rad
new
= ln(
0
).
I
t
=
I
t
||I
t
||
(4.37)

c
= exp(||I
t

c
||) (4.38)

t
<
c
, c (4.39)
Quando a equao 4.39 satisfeita, o neurnio-vencedor escolhido por meio da equao
4.40, sendo ||I
c
|| ln
c
.
BMU = argmax
c
(exp ||I
c
||) (4.40)
Os parmetros do neurnio so adaptados atravs das equaes 4.41 e 4.42, onde t repre-
senta o intervalo de tempo e e denem a inuncia dos padres anteriores na situao
atual.

BMUt
=
BMU
t1
(1 ) + I
t
(4.41)
rad
BMUt
= rad
BMU
t1
(1 ) +||I
t

BMU
t1
|| (4.42)
39
Dessa forma, o centride e raio do neurnio representa uma mdia mvel exponencial pon-
derada dos seus padres de entrada. Os parmetros e inuenciam na capacidade de es-
quecimento da rede, ou seja, quanto maior for o valor deles, mais rpido a rede esquece dos
padres de entrada passados.
Aps atualizar o neurnio-vencedor, o seu parmetro de semelhana
c
modicado para
melhor representar padres de entrada similares nas prximas ativaes do neurnio.
A especializao da rede, isto , a sua capacidade de detectar padres de entrada diferentes,
controlada pelo grau de modicao , conforme a equao 4.43.
= ||
rad
BMUt
rad
BMU
t1
max(rad
BMUt
, rad
BMU
t1
)
|| (4.43)
Sendo que o valor de ativao do neurnio-vencedor calculado por meio da equao 4.44.

BMUt
= min((1 +)
BMU
t1
, exp
(rad
BMU
t
(1+))
) (4.44)
Dessa forma, a rede SONDE permite uma classicao adaptativa e on-line para padres
de entrada heterogneos, podendo ser aplicada tanto para classicao de padres quanto para
deteco de novidades.
4.3.12 Radial Basis Function
Rede RBF (Radial Basis Function) uma rede neural amplamente utilizada para classicao
de padres e previses de sries temporais [28, 27, 234, 63, 26]. A rede visa calcular uma
funo de regresso, que representa os padres detectados atravs de um conjunto de funes
gaussianas, conforme a gura 4.9, onde a funo resultante calculada a partir de 5 funes
auxiliares.
A rede RBF composta por trs camadas: uma camada de entrada, uma escondida com
funo no-linear de ativao de RBF, e uma de sada, conforme apresentado na gura 4.10.
O valor de sada da rede calculado atravs da equao 4.45, sendo N o nmero de neur-
nios na camada escondida, c
i
o valor de centride para neurnio i, e
i
representando os pesos
do neurnio de sada. O valor das funes gaussianas calculado por meio da equao 4.46,
sendo que uma constante de peso pr-determinada.
(x) =
N

i=1

i
(||x c
i
||) (4.45)
(||x c
i
||) = exp(||x c
i
||
2
) (4.46)
A rede RBF aplicada em diversas reas, sendo utilizada para classicao de padres,
predio de sries temporais e deteco de novidades [28, 27, 234, 63, 26].
4.3.13 Redes neurais separadoras
As tcnicas de classicao e clusterizao, apresentadas anteriormente, visamagrupar padres
de entrada em diversos clusters, em funo da semelhana entre eles. Entretanto, tais redes no
permitem fazer o processo inverso, ou seja, extrair padres individuais a partir de uma entrada
composta.
40
Figura 4.9: Rede neural RBF
Figura 4.10: Arquitetura da rede RBF
Para solucionar esse problema, possvel empregar tcnicas de separao e classicao
de sinais independentes, extraindo uma srie de sinais aditivos a partir de um sinal composto,
conforme a gura 4.11 [225].
Supondo que o sinal composto apresentado na gura 4.11 representa um sinal composto,
possvel determinar e classicar os processos independentes de maneira automtica atravs de
um mtodo conhecido como Blind Signal Separation (BSS). Como a aplicao desse mtodo
41
Figura 4.11: ICA: decomposio de sinais
pode-se citar redes neurais ICA [189, 109, 80].
As redes neurais ICA (Independent Component Analysis) so utilizadas para a separao de
um sinal composto por diversos fatores ou fontes em seus sub-componentes aditivos. Supondo
uma independncia estatstica mtua entre os sinais originais, a sua extrao do sinal com-
posto possvel por meio de maximizao da independncia estatstica entre os componentes
estimados, que representam os sinais individuais.
Representando os dados de um sinal composto por meio de um vetor x = (x
1
, ..., x
m
)
T
,
possvel represent-lo por meio de uma soma de componentes independentes s
k
, onde k =
1, ..., n, conforme a equao 4.47.
x
i
= a
i,1
s
1
+ ... + a
i,k
s
k
+ ... + a
i,n
s
n
(4.47)
Dessa forma, o modelo pode ser escrito em forma vetorial conforme a equao 4.48, onde
o vetor observado x representado por vetores-base a
k
= (a
1,k
, ..., a
m,k
)
T
.
x =
n

k=1
a
k
s
k
(4.48)
Representando os vetores-base a
k
como as colunas de matriz de composio A =
(a
1
, ..., a
n
), pode-se escrever a formula de composio de sinais como x = As, sendo
s = (s
1
, ..., s
n
)
T
.
Tendo os dados do vetor composto x (x
1
, ..., x
N
), a tarefa consiste em determinar os sinais
independentes s (s
1
, ..., s
n
) e a matriz de composio A. Dessa forma, para determinar os sinais
independentes suciente multiplicar o vetor x pela matriz A inversa, obtida da equao 4.49.
W = A
1
(4.49)
A matriz resultante W conhecida como a matriz de decomposio de dimenso n n,
utilizada para calcular os n sinais independentes s a partir do sinal composto x.
Como aplicaes de ICA possvel mencionar o reconhecimento de voz, separao de
mltiplas fontes de dados, processamento de imagens e aplicaes biomdicas [189]. Como
42
principais implementaes do algoritmo ICA pode-se citar infomax [21, 49], FastICA [123] e
MF-ICA [119].
4.4 Consideraes nais
Neste captulo foram apresentadas diversas abordagens de classicao de padres, com nfase
em classicao do comportamento de aplicaes.
As tcnicas apresentadas foram classicadas de acordo com a abordagem utilizada em tc-
nicas estocsticas e as baseadas em redes neurais.
Entre as tcnicas estocsticas foram abordados os modelos de clusterizao iterativa, re-
presentado por tcnicas de k-mdias, c-mdias e abordagem de quality threshold (seo 4.2 e
tcnica de classicao linear, representada por Support Vector Machines (seo 4.2.4). Estas
abordagem possibilitam realizar a classicao de acordo com as diferenas diferenas obser-
vadas, agrupando padres similares em classes independentes de acordo com os parmetros de
classicao pr-denidos.
Entre as tcnicas baseadas em redes neurais, foi apresentada a tcnica de agrupamento SOM
na seo 4.3.1, junto com diversas abordagens auto-expansveis (seo 4.3.2) e redes voltadas
para deteco de novidades, como GWR (seo 4.3.9) e SONDE 4.3.11. Tambm foram apre-
sentadas abordagens para classicao de acordo com a ressonncia entre os padres, com a
rede ART (seo 4.3.10); abordagem baseada em representao de padres por meio de funes
radiais (rede RBF, apresentada na seo 4.3.12).
Alm disso, uma abordagem de classicao para classicao de padres independentes
embutidos num sinal composto foi abordada, conhecida como Blind Signal Separation, sendo
representada por rede ICA (seo 4.3.13)
Cada uma das tcnicas abordadas apresenta vantagens para casos especcos, sendo que
nenhuma dela adequada para ser utilizada como uma soluo nica para todos os casos.
43
Captulo 5
Predio do comportamento de processos
5.1 Consideraes iniciais
A predio do comportamento de processos essencial para o entendimento do funcionamento
de um sistema distribundo, possibilitando a aplicao do conhecimento predito a partir das
observaes passadas para melhorias nas tcnicas de leitura antecipada de dados, acesso
memria distribuda e balanceamento de carga e escalonamento distribudos [72, 65, 99, 209,
9, 205, 202, 200, 171].
Entre as diversas tcnicas estatsticas utilizadas para a predio, possvel mencionar as
baseadas no estado atual do processo, tais como cadeias de Markov e modelo escondido de
Markov com suas extenses, apresentadas na seo 5.2; modelos que representam o compor-
tamento por meio de uma equao utilizada pelas tcnicas auto-regressivas (seo 5.3); e a
tcnica de ltro de Kalman, que visa realizar predies de tendncias do comportamento em
sistemas com rudos, descrito na seo 5.4.
Diversas redes neurais voltadas para predio de comportamento so apresentadas nas se-
es 5.5, apresentando as redes recorrentes e rede neural LSTM, rede de Hopeld e mquinas
de Boltzmann; 5.6, descrevendo diversas redes neurais que utilizam aprendizado competitivo
para realizar predies; e 5.7, descrevendo a famlia de redes neurais baseadas em atrasos no
tempo.
Tcnicas baseadas no aprendizado Bayesiano, por sua vez, so apresentadas na seo 5.10,
e conceitos de teoria de informao e entropia so introduzidos na seo 5.11. Abordagens
utilizadas nas tcnicas conhecidas como Reservoir Computing so apresentadas na seo 5.8, e
seo 5.12 descreve os conceitos de algoritmos genticos e computao evolutiva. Finalmente,
a seo 5.13 sumariza as tcnicas abordadas e conclui este captulo.
5.2 Tcnicas baseadas no estado atual
As tcnicas de predio baseadas no estado atual do processo so caracterizadas por avaliar
somente o atual momento de execuo, sem considerar o histrico de comportamentos. Dessa
forma, assume-se que existe somente um uxo de execuo atravs do qual possvel chegar
no estado de execuo corrente.
44
Tabela 5.1: Exemplo de matriz de incidncia
Estado original Novo estado Probabilidade
Execuo I/O 30%
Execuo Espera 20%
Execuo Execuo 50%
I/O Espera 30%
I/O I/O 70%
Espera I/O 40%
Espera Execuo 60%
5.2.1 Cadeias de Markov
Entre diversos modelos analticos utilizados para a determinao e predio de comportamento
de aplicaes pode-se citar Cadeias de Markov [27].
Uma cadeia de Markov de tempo discreto um processo estocstico que apresenta a propri-
edade de Markov [27], demonstrada na equao 5.1, no qual a predio de um prximo estado
feita considerando somente o estado atual de execuo do processo.
Pr(X
n+1
= x|X
0
, X
1
, X
2
, ...) = Pr(Xn + 1 = x|Xn) (5.1)
Uma cadeia de Markov denida por uma seqncia X
1
, X
2
, X
3
, ... de variveis aleatrias,
sendo que o seu escopo denominado de espao de estados e X
n
denota o estado do processo
na instante n. Caso a distribuio de probabilidade condicional X
n+1
for determinada somente
emfuno do seu valor no estado anterior X
n
, tm-se a equao 5.1 satisfeita, onde x representa
o estado atual do sistema e x + 1 o prximo estado.
Uma das tcnicas de visualizao de uma cadeia de Markov consiste em sua representao
por meio de uma mquina de estados nitos. Se o processo encontre-se no estado y no tempo
n, a probabilidade da sua transio para o estado x no tempo n + 1 independente do tempo
n, sendo determinada somente em funo do seu estado atual y. Dessa forma, em qualquer
instante n, uma cadeia de Markov nita pode ser caracterizada por uma matriz de incidncia
cujo elemento (x, y) independente do tempo n, e calculado pela equao 5.2.
Pr(X
n+1
= x|X
n
= y) (5.2)
Cadeias de Markov tambm podem ser descritas por meio de grafos dirigidos, cujos ns
representam os estados de execuo e as arestas so rotuladas com a probabilidade de transio
entre eles.
As cadeias de Markov podem ser aplicadas para predizer o comportamento de aplicaes,
determinando seus estados de execuo e probabilidades de transies entre eles. Por exemplo,
considerando uma aplicao produtor-consumidor no estado de execuo, com probabilidades
de 30% de transio para o estado de transmisso de dados, de 20% para o estado de espera
e de 50% de permanecer no estado atual, a matriz de incidncia completa desse caso pode ser
vista na tabela 5.1 e a cadeia de Markov correspondente, na gura 5.1. Com esses valores,
pode-se predizer as aes a serem tomadas, baseando-se somente no estado atual de execuo
e desconsiderando o histrico de comportamentos.
45
Executando 50%
I/O
30%
Espera
20% 70%
30%
60%
40%
Figura 5.1: Exemplo de cadeia de Markov
Diversas extenses e aplicaes ao modelo de cadeias de Markov foram propostas, sendo
apresentadas a seguir.
5.2.2 Modelo Markov escondido
O Modelo Markov Escondido (Hidden Markov Model, ou HMM) um modelo estatstico no
qual o sistema visto como um processo de Markov com parmetros desconhecidos, represen-
tando os estados de execuo do processo; e parmetros observveis, visveis para o observador.
O objetivo deste modelo determinar os parmetros desconhecidos a partir dos observveis
[173, 174, 188, 191].
Diferentemente do modelo de Markov tradicional, onde o estado visvel ao observador
e as probabilidades de transies entre os estados so os nicos parmetros do sistema, no
HMM o estado no diretamente acessado, ao contrrio das variveis inuenciadas por ele. A
distribuio de probabilidade de cada estado calculada indiretamente avaliando a seqncia
de smbolos de observao gerados pelo sistema.
A arquitetura de HMM composta por uma cadeia Markov escondida e no observvel,
com umnmero nito de estados, um estado de transio, matriz de probabilidade de transies
e um estado inicial; e um conjunto de funes de probabilidade associadas a cada estado.
Formalmente, o modelo composto por seguintes elementos:
1. Um conjunto de estados S = S
1
, S
2
, .., S
N
, sendo N o nmero de estados no modelo.
O estado do modelo no tempo t dado por q
t
S, sendo que 1 t T, sendo T o
tamanho da seqncia de observao;
2. O conjunto de diferentes smbolos de observao V = v
1
, v
2
, .., v
M
, sendo M o nmero
de diferentes smbolos no modelo;
46
Figura 5.2: Exemplo de HMM
3. Matriz de probabilidade de transio entre os estados A =
ij
, sendo
ij
= P[q
t
=
S
j
|q
t1
= S
i
], com 1 i, j N, 0
i,j
1,

N
j=1

ij
= 1 e 1 i N;
4. Smbolo de observao da matriz de probabilidade B = b
j
(k), onde b
j
(k) = [O
t
=
v
k
|q
t
= S
j
], com 1 j N e 1 k M. O smbolo de observao no tempo t
representado por O
t
;
5. Uma distribuio de estado inicial, =
i
, sendo que
i
= P[q
1
= S
i
] com1 i N.
Dessa forma, um HMM pode ser formalmente representado pela equao 5.3.
= (A, B, ) (5.3)
Um exemplo de HMM apresentado na gura 5.2, sendo que x(t) representa o estado
escondido no intervalo de observao t, e y(t) a observao ocorrida no mesmo intervalo,
sendo que as echas representam as dependncias entre as transies de estados. Dessa forma,
possvel ver que a transio do estado x(t) para x(t + 1) depende somente do valor de x(t).
Da mesma forma, os valores da varivel observada y(t) no instante t dependem somente do
valor resultante no estado x(t). Avaliando a seqncia de observaes y(1, .., N) possvel
determinar a seqncia de estados de execuo correspondentes, e as probabilidade de transio
entre eles.
O modelo HMM amplamente utilizado para predio do comportamento de processos. Di-
ferentemente do modelo de Markov tradicional, que permite predizer somente uma transio de
estado, o HMM possibilita realizar predio de seqncias de transies de estados, conforme
a equao 5.4, sendo que a probabilidade de observar seqncia Y = y(0), y(1), .., y(L1) de
tamanho L representada pelo valor de P(Y ), considerando que X = x(0), x(1), .., x(L 1)
representa todas as possveis seqncias de transies entre os estados escondidos.
P(Y ) =

X
P(Y |X)P(X) (5.4)
5.2.3 Modelo HMM Hierrquico
O modelo HMM Hierrquico (HHMM) uma extenso do HMM, que considera que estado de
execuo como sendo um modelo probabilstico auto-contido [86]. A arquitetura do modelo
pode ser vista na gura 5.3.
A principal vantagem deste modelo em relao ao HMM o fato de que cada estado do
HHMM composto por um modelo independente. Desta forma, os estados podem emitir s-
ries de smbolos para cada transio, ao invs de smbolos independentes como acontece com
47
Figura 5.3: Exemplo de HHMM
HMM. Isso possibilita detectar sub-seqncias nos padres observados, e resulta em uma maior
ecincia de predio.
5.2.4 Modelo HMM em nveis
O modelo HMM em nveis (Layered Hidden Markov Model, LHMM) um modelo estatstico,
derivado do HMM, que composto por N nveis de HMMs, sendo que os estados presentes
no nvel i + 1 correspondem aos smbolos de observao, ou geradores de probabilidades, do
estado i. Desta forma, cada nvel do modelo consiste de K
i
HMMs executados em paralelo [2].
A arquitetura do modelo apresentada na gura 5.4.
Para cada nvel L do modelo LHMM, a seqncia de smbolos O
L
= O
1
, O
2
, .., O
T
L
pode
ser empregada para classicar o padro de entrada em uma das K
L
classes, sendo que cada
classe corresponde a uma das K
L
LHMMs do nvel L. Tal classicao pode ser utilizada para
gerar uma nova observao para o nvel L 1, sendo que no nvel mais baixo N, somente
smbolos bsicos O
p
= O
1
, O
2
, .., O
Tp
sero gerados a partir das observaes realizadas.
Alm disso, cada nvel de LHMM superior ao nvel L + 1 pode ser utilizado como gerador
de probabilidades para o prximo nvel, propagando a distribuio de probabilidade completa
do seu nvel. Dessa forma, o modelo, ao invs de gerar apenas uma sada para cada estado,
como acontece com o modelo winner-take-all, pode operar sobre as probabilidades de cada um
dos seus sub-estados recursivamente.
A principal vantagem desse modelo a possibilidade de realizar uma generalizao mais
controlada, uma vez que cada nvel do LHMM pode empregar uma granularidade diferente.
5.3 Tcnicas auto-regressivas
A tcnica de auto-regresso visa a representao matemtica do comportamento do processo
atravs de um modelo, que pode ser utilizado para predizer o seu comportamento futuro [128,
233, 30].
A representao do comportamento de uma aplicao por meio de uma srie temporal, ou
um modelo auto-regressivo, permite realizar predies por meio de tcnicas estatsticas. Entre
alguns dos mtodos mais conhecidos possvel mencionar os modelos auto-regressivos no-
lineares, para deteco de padres mais complexos; e a tcnica de auto-correlao para detectar
periodicidades em uma srie temporal.
48
Figura 5.4: Exemplo de LHMM
5.3.1 Auto-regresso linear
A tcnica conhecida como auto-regresso linear, ou simplesmente regresso, uma das tcnicas
mais utilizadas para representao do comportamento [237, 125], e visa descreve-lo por meio
de um modelo matemtico, conforme equao 5.5.
y(k) =
T

n=1
a(n)y(k n) + e(k) = y(k) + e(k) (5.5)
O modelo representa y(k) como a soma ponderada dos valores dos elementos anteriores
na seqncia, sendo que a predio do prximo elemento da seqncia calculada por y(k).
O erro da predio determinado atravs de e(k) = y(k) y(k), e geralmente considerado
como rudo.
Modelos mais avanados estendem a tcnica de regresso para no-linear, onde N o
resultado de uma rede neural calculado em funo de T valores y(k 1), ..., u(k T) prvios
que representam os estados anteriores, conforme a equao 5.6.
y(k) = y(k) + e(k) = N[y(k 1), y(k 2), ..., y(k T)] + e(k) (5.6)
49
5.3.2 Modelos no-lineares
Enquanto o modelo auto-regressivo possibilita denir o comportamento de um processo de
forma linear, frequentemente isso no representa precisamente o comportamento dele. Para
isso, algumas tcnicas foram propostas, como o modelo SVCA.
A abordagemutilizada pelo modelo Sinusoidally Varying Coefcients Autoregressive Model
(SVCA) [182] emprega tcnica de auto-regresso no-linear para construir uma representao
do comportamento do processo. O modelo utiliza a equao 5.7 para predizer o prximo estado
de execuo do processo y
t
, sendo u
i
calculado por meio da equao 5.8, N o nmero de
estados anteriores avaliados,
t
uma varivel aleatria com mdia 0 e varincia
2

t, e funo
denida pela equao 5.9, onde os coecientes a e b da equao 5.9 determinam o quanto o
valor atual de u
t
inuenciado pelas observaes anteriores.
y
t
= t
t1
+ u
i
(5.7)
u
i
=
0
(t) +

r=1
N
r
(t)u
tr
+
t
(5.8)

r
(t) = a
t,r
sin(
t a
2,r
a
3,r
) + b
t,r
cos(
t b
2,r
b
3,r
) (5.9)
Outros modelos no-lineares de auto-regresso tambm so utilizados frequentemente,
como o modelos Non-Linear Auto-Regressive Exogeneous Model (NARX) [30] e Auto-
Regressive Moving Average Model with Exogeneous Inputs (ARMAX) [30], voltados para pre-
dio de sries com variveis independentes.
O modelo NARX denido pela equao 5.10, onde y
t
o estado predito na instante de
observao t, u uma varivel auxiliar e eta o erro residual. Nesse caso, uma vez que as variveis
da srie so independentes, as informaes contidas emu so utilizadas na predio do prximo
estado da seqncia. Por exemplo, y pode representar a temperatura mdia diria, e u o dia de
ano. A funo F geralmente uma funo polinomial ou uma rede neural.
y
t
= F(y
t1
, y
t2
, y
t3
, .., u
t1
, u
t2
, u
t3
, ..) +
t
(5.10)
O modelo ARMAX, por sua vez, pode ser descrito formalmente como sendo
ARMAX(p, q, b), denindo o modelo com p termos auto-regressivos, q termos que repre-
sentam a mdia mvel e b entradas independentes (ou exogneas). Dessa forma, a predio
do estado X
t
no intervalo de observao t realizada pela equao 5.11, sendo
1
, ..,
b
os
parmetros independentes da entrada d
t
,
1
, ..,
p
os parmetros do modelo auto-regressivo e

1
, ..,
q
os valores da mdia mvel de erro.
X
t
=
t
+
p

i=1

i
X
ti
+
q

i=1

ti
+
b

i=1

i
d
ti
(5.11)
Os modelos de auto-regresso no-linear so particularmente ecazes em casos onde os
padres de entrada no apresentam nenhuma co-relao facilmente observada.
50
5.3.3 Auto-correlao
Tcnicas de auto-correlao visam detectar padres repetitivos em sinais atravs de correlao
do processo com ele mesmo, porm deslocado no tempo [128]. Dessa forma, considerando o
processo X
t
um processo estocstico discreto com mdia , a funo de auto-correlao pode
ser descrita conforme a equao 5.12, onde E representa o valor esperado, k o deslocamento
no tempo (tambm conhecido como lag) e
2
uma constante de normalizao.
R(k) =
E[(X
i
)(X
i+k
)]

2
(5.12)
Dessa maneira, o domnio da funo encontra-se no intervalo [1, 1], sendo que o valor de
1 indica uma correlao perfeita e 1 signica a existncia de uma anti-correlao perfeita.
Da mesma forma, uma auto-correlao contnua de um sinal f(x) pode ser encontrada por
meio de uma correlao contnua do f(x) com ele mesmo, aps um deslocamento de , con-
forme a equao 5.13, onde f

representa o conjugado complexo e o representa a convoluo


entre as duas funes.
R
f
() = f

()of() =

inf
inf
f(t + )f

(t)dt =

inf
inf
f(t)f

(t )dt (5.13)
Formalmente, uma auto-correlao discreta R com lag j para um sinal x
n
dada pela
equao 5.14, onde m o valor esperado de x
n
.
R(j) =

n
(x
n
m)(x
nj
m) (5.14)
Uma vez que os sinais podem ser compostos por vetores multi-dimensionais, a funo de
auto-correlao pode ser adaptada de maneira correspondente. Por exemplo, para um sinal
tridimensional, a auto-correlao denida pela equao 5.15.
R(j, k, l) =

n,q,r
(x
n,q,r
m)(x
nj,qk,rl
m) (5.15)
Alm disso, a tcnica de auto-correlao pode ser aplicada para determinar o intervalo no
qual as mudanas de comportamento aconteceram, e ajustar o mecanismo de predio adequa-
damente [72].
5.4 Filtro de Kalman
O ltro de Kalman [131, 67, 186, 230, 23, 142, 180] uma tcnica de predio que atua sobre
sistemas dinmicos discretos ao longo do tempo determinando o estado verdadeiro do processo
num sistema com rudos.
O estado atual do sistema representado por um vetor de nmeros reais, sendo que, a
cada incremento do tempo, um operador linear aplicado para determinar o prximo estado do
sistema.
O modelo bastante similar ao modelo HMM [173, 174, 188, 191], com a diferena de que,
enquanto este opera sobre variveis discretas, o ltro de Kalman utiliza variveis contnuas.
51
Figura 5.5: Exemplo de ltro de Kalman
Ao utilizar o ltro de Kalman para avaliar o estado interno do processo a partir de uma
seqncia de amostras com rudo presente, necessrio modelar o processo de acordo com o
framework de Kalman, apresentado na gura 5.5, sendo que crculos representam os vetores;
quadrados as matrizes, e estrelas representam rudo gaussiano com a matriz de co-varincia as-
sociada. Desta forma, para cada intervalo de observao k, necessria a denio de matrizes
F
k
, H
k
, Q
k
e, em alguns casos, B
k
, conforme descrito a seguir.
O ltro de Kalman assume que o estado verdadeiro do processo x(k) no intervalo k uma
evoluo a partir do seu estado no intervalo k 1 de acordo com a equao 5.16, sendo que:
x
k
= F
k
x
k1
+ B
k
u
k1
+ w
k1
(5.16)
1. F
k
o modelo de transio de estados, aplicado ao estado anterior x
k1
;
2. B
k
o modelo de controle de entrada, aplicado ao vetor de controle u
k
;
3. w
k
representa o rudo do processo, sendo uma distribuio normal multi-variada com
co-varincia Q
k
, denida por w
k
N(0, Q
k
).
Num intervalo de observao k, o estado x
k
representado por z
k
, conforme a equao
5.17, sendo que H
k
dene o modelo de observao que mapeia o estado verdadeiro do processo
no espao de observao, e v
k
o ruido de observao, que considerado um rudo branco
gaussiano com co-varincia R
k
, sendo que v
k
N(0, R
k
).
z
k
= H
k
w
k
+ v
k
(5.17)
No modelo, o estado inicial e os vetores de rudo x
0
, w
1
, .., w
k
, v
1
, .., v
k
so mutualmente
independentes.
O funcionamento das tcnicas de predio baseadas no ltro de Kalman recursivo, ou
seja, para predizer um prximo estado a partir do atual, somente a seqncia de estados ime-
diatamente anteriores avaliada, desconsiderando o histrico de comportamento passados. O
estado do ltro no intervalo de observao k representado por duas variveis: x
k|k
, sendo o
valor estimado do estado; e P
k|k
, que corresponde matriz de co-varincia de erro, utilizada
para avaliar a preciso da predio.
O ltro emprega duas fases de funcionamento: a de predio, e a de atualizao. Durante
a fase de predio, o as informaes do estado atual so utilizadas para predizer o prximo.
52
Na fase de atualizao, o erro de predio calculado, adaptando o ltro. A notao x
n|m
representa o valor estimado do estado x no intervalo n, a partir de m observaes passadas.
Dessa forma, durante a fase de predio o valor do prximo estado estimado a partir da
equao 5.18, e o erro calculado por meio da equao 5.19.
x
k|k1
= F
k
x
k1|k1
+ B
k
u
k
(5.18)
P
k|k1
= F
k
P
k1|k1
F
T
k
+ Q
k
(5.19)
Na fase de atualizao, o modelo adaptado s novidades observadas no sistema, possibi-
litando o clculo de:
1. Inovao, ou resduo da amostra:
y
k
= z
k
H
k
x
k|k1
;
2. Co-varincia residual:
S
k
= H
k
P
k|k1
H
T
k
+ R
k
;
3. Ganho timo:
K
k
= P
k|k1
H
T
k
S
1
k
;
4. Prximo estado estimado atualizado:
x
k|k
= x
k|k1
+ K
k
y
k
;
5. Co-varincia estimada atualizada:
P
k|k
= (I K
k
H
k
)P
k|k1
.
O ltro de Kalman amplamente utilizado para predio de tendncias do comportamento
em ambientes com rudos ou perdas de dados.
5.4.1 Modelo de Kalman suavizado: Kalman Smoother
A tcnica de predio denominada de Kalman Smoother [52, 79, 194, 77] estende o ltro de
Kalman, suavizando a distribuio das distribuies de estados recursivamente.
Para isso, a equao 5.20 aplicada sobre as equaes do ltro de Kalman 5.18 e 5.19.
(x
k
|y
1:T
) = N(x
k
|m|k
S
, P
S
k
) (5.20)
Desta forma, a distribuio de resultados suavizada, connando os resultados ao plano
y
1:T
, enquanto os resultados originais so calculados somente em relao aos resultados obtidos
at o intervalo de amostragemk, ou seja, pertencentes a y
1:k
. Tal distribuio pode ser calculada
a partir dos resultados do ltro de Kalman, aplicando recursivamente as equaes 5.21, 5.22,
5.23, 5.24, iniciando-se no intervalo amostral T, com m
S
T
= m
T
e P
S
T
= P
T
.
P
_
k+1
= A
k
P
k
A
T
k
+ Qk (5.21)
C
k
= P
k
A
T
k
[P
_
k+1
]
1
(5.22)
53
m
S
k
= m
k
+ C
k
[m
S
k+1
A
k
m
k
] (5.23)
P
S
k
= P
k
+ C
k
[P
S
k+1
P
_
k+1
]C
T
k
(5.24)
Para melhorar a ecincia da predio de curto alcance, a tcnica introduz um modelo auto-
regressivo com pesos variveis de acordo com o modelo aleatrio Guassiano, conforme pode
ser visto nas equaes 5.25 e 5.26, sendo que o rudo do processo v
ar
k
tem mdia de 0 e co-
varincia Q = q
ar
I. O vetor de pesos w
k
calculado a partir das amostras conhecidas, e o
rudo de amostragem tem distribuio Gaussiana r
ar
k
N(0,
2
ar
).
w
k
= w
k1
+ v
ar
k
(5.25)
e
k
=

i
w
i,k
e
k1
+ r
ar
k
(5.26)
Tendo estimado o modelo de auto-regresso a partir dos dados originais, a estimao nal
obtida das equaes 5.27 e 5.28, sendo r
P
k
N(0,
2
), e o rudo de processo v
P
k
tem a varincia
de q
P
.
d
k
=

i
w
i,j
d
k1
+ v
P
k
(5.27)
e
k
= d
k
+ r
P
k
(5.28)
A estimativa nal do sinal calculada como sendo y
k
= x
k
+

d
k
, sendo x o resultado de
predio realizado pelo ltro de Kalman suavizado, e

d
k
calculado pelo modelo de predio de
curto alcance.
Dessa forma, duas abordagens diferentes so aplicadas para realizar predies de curto e
longo alcance:
1. A previso de longo alcance realizada em duas etapas:
(a) O ltro de Kalman aplicado sobre a seqncia de dados de entrada, armazenando
os valores da predio realizada e da co-varincia. As amostras faltantes so predi-
tas;
(b) O suavizador executado sobre os resultados estimados no passo anterior, resul-
tando em uma nova srie temporal com os valores preditos.
2. A previso de curto alcance, por sua vez, consiste de quatro etapas:
(a) O ltro de Kalman executado sobre os resultados da predio realizada pelo mo-
delo de predio de curto alcance, apresentado nas equaes 5.25 e 5.26, determi-
nando os vetores auto-regressivos de pesos. Os pesos das amostras faltantes so
preditos;
(b) O suavizador aplicado sobre os resultados estimados no passo anterior, resultando
em uma srie temporal suavizada com os valores preditos;
54
(c) O ltro de Kalman aplicado sobre a seqncia residual, calculada nas equaes
5.27 e 5.28, determinando a periodicidades nos padres de curto alcance. Tal peri-
odicidade tambm predita para as amostras faltantes;
(d) O suavizador aplicado sobre os resultados estimados no passo anterior, resultando
em uma srie temporal suavizada, contendo os valores preditos.
Dessa forma, o modelo permite predio eciente tanto de curto quanto de longo alcance
[77].
5.4.2 Filtro de Kalman estendido
Filtro estendido de Kalman uma evoluo do modelo de Kalman, que visa a utilizao de
funes derivadas no lugar de lineares, como no modelo de Kalman original [217].
As equaes 5.29 e 5.30 so utilizadas para o clculo de predies de estados, sendo que a
funo f utilizada para predizer prximo estado a partir do ltimo estado predito; e funo h
retorna o estado previsto na etapa anterior a partir do estado atual.
x
k
= f(x
k1
, u
k
, w
l
) (5.29)
z
k
= h(h
k
, v
k
) (5.30)
No lugar de aplicar as funes f e h diretamente na co-varincia, uma matriz Jacobiana
de derivadas parciais calculada, sendo re-avaliada para cada nova amostra. Introduzindo a
matriz no ltro de Kalman original, as seguintes equaes so obtidas:
Fase de predio:
x
k|k1
= f( x
k1|k
, u
k
, 0) (5.31)
P
k|k1
= F
k
P
k1|k1
F
T
k
+ Q
k
(5.32)
Fase de atualizao:
1. Inovao, ou resduo da amostra:
y
k
= z
k
h( x
k|k1
, 0)
2. Co-varincia residual:
S
k
= H
k
P
k|k1
H
T
k
+ R
k
;
3. Ganho timo:
K
k
= P
k|k1
H
T
k
S
1
k
;
4. Prximo estado estimado atualizado:
x
k|k
= x
k|k1
+ K
k
y
k
;
5. Co-varincia estimada atualizada:
P
k|k
= (I K
k
H
k
)P
k|k1
.
55
Figura 5.6: Exemplo de uma rede neural recorrente
Sendo que as matrizes de transio e observao so denidas por meio das equaes
5.33 e 5.34.
F
k
=
f
h
|
x
k|k1
,u,k
(5.33)
H
k
=
h
f
|
x
k|k1
(5.34)
Como um dos criticismos do modelo estendido do ltro de Kalman possvel mencionar
o fato de que o modelo no resulta em um resultado timo, podendo se limitar a um mnimo
local. Alm disso, caso a predio inicial no for precisa, o ltro pode se divergir rapidamente.
O modelo tambm prediz as tendncias a partir dos resultados mais recentes, o que nem sempre
representa o comportamento corretamente.
Atualmente, o modelo estendido do ltro de Kalman bastante utilizado em casos onde
necessrio realizar predies sobre tendncias no meio de rudos, tais como sistemas de nave-
gao e GPS [137, 190, 66].
Entre outras extenses do modelo possvel citar Weighted Bidirectional Multi-stream Ex-
tended Kalman Filter, que utiliza tcnicas de back-propagation e separao de dados de entrada
em mltiplos uxos distintos [121].
5.5 Redes neurais recorrentes
Redes recorrentes compem uma famlia de redes neurais que apresentam conexes entre as
unidades em forma de um grafo cclico direcionado, conforme a gura 5.6 [153, 78, 216, 162,
239].
As redes neurais recorrentes so caracterizadas pela utilizao de conexes para armazena-
mento de eventos recentes, em forma de memria de curto prazo (short-term memory).
56
Figura 5.7: Rede neural de Elman
Como exemplo de rede neural recorrente, cita-se a rede de Elman [153, 216], caracterizada
por introduzir uma camada especial de cpia, denominada de contexto, conectada camada
escondida e utilizada para manter o conhecimento sobre o estado anterior da rede. Diversas
camadas de cpia podem ser utilizadas, possibilitando representar um nmero arbitrrio de
estados anteriores. A arquitetura desta rede apresentada na gura 5.7
A cada nova entrada, os valores de ativao so propagados para uma das camadas de cpia,
atualizando-a com o atual padro de entrada. De forma similar, outras camadas so atualizadas
com valores anteriores, efetivamente treinando a memria da rede.
Dessa forma, aps o treinamento, a rede pode ser utilizada para reconhecer at N padres
de entrada usando as camadas escondidas p(n), sendo n N.
5.5.1 Rede LSTM
Uma vez que as redes neurais recorrentes convencionais utilizam o conceito de memria de
curto prazo, a ecincia de tais redes para predies de eventos ocorridos num intervalo de
tempo maior frequentemente baixa. Para solucionar esse problema, uma nova rede foi pro-
posta, conhecida como Long-Short Term Memory network (LSTM) [118, 95, 96, 108, 192, 184].
A rede LSTM combina memria de curto prazo, similar oferecida por redes recorrentes
tradicionais, commecanismos para predio de longo prazo, visando predizer eventos ocorridos
dentro de intervalos maiores, mesmo sobre sries temporais com rudo. A rede combina um
algoritmo baseado em gradientes com unidades internas especcas, conhecidas como clulas
de memria, para reforar uxo constante de erros [118].
Em redes neurais convencionais, o uxo de erros no constante, variando ao longo do
tempo. Geralmente, o uxo calculado por meio da equao 5.35, sendo que o valor do
57
neurnio de sada k no intervalo de tempo t representado por d
k
(t), o seu sinal de erro por

k
(t), e o valor de ativao do neurnio intermedirio i calculado usando a equao 5.36,
sendo que sua funo de ativao f
ij
.

k
(t) = f

k
(net
k
(t))(d
k
(t) y
k
(t)) (5.35)
y
i
(t) = f
i
(net
i
(t)) (5.36)
O valor de entrada do neurnio i calculado por meio da equao 5.37, considerando que
w
ij
representa o peso da conexo entre os neurnios i e j.
net
i
(t) =

j
w
ij
y
j
(t 1) (5.37)
Para os neurnios intermedirios j, o sinal de erro retornado (backpropagated error signal)
calculado atravs da equao 5.38.

j
(t) = f

j
(net
j
(t))

i
w
ij

i
(t + 1) (5.38)
A contribuio correspondente ao valor total de peso de w
ij
calculada como sendo

j
(t)y
l
(t 1), onde a taxa de aprendizado e l um neurnio arbitrrio conectado a j.
Considerando uma rede com 1..n neurnios intermedirios, possvel calcular a propaga-
o do erro entre eles. Observando uma conexo entre dois neurnios inter-conectados u e v,
o erro observado no instante de tempo t no neurnio u propagado inversamente (back into
time) por q intervalos de tempo, para o neurnio v. Com isso, o valor de erro dimensionado
de acordo com a equao 5.39

v
(t q)

u
(t)
=

v
(net
v
(t 1))w
uv
q = 1
f

v
(net
v
(t q))

n
l=1

l
(lq+1)
u(l)
w
lv
q > 1
(5.39)
Considerando l
q
= v e l
0
= u, a equao 5.39 pode ser representada como 5.40 [118].

v
(t q)

u
(t)
=
n

l
1
=1
...
n

l
q=1
=1
q

m=1
f

lm
(net
lm
(t m))w
lml
m=1
(5.40)
A soma de n
q1
termos

q
m=1
f

lm
(net
l)m
(t m))w
lml
m=1
determina o uxo de erro inverso
total.
Nos casos em que |f

lm
(net
lm
(t m)w
lml
m=1
| > 1 para todos os valores de m, o erro cresce
de forma exponencial com a variao de q, resultando em oscilao de pesos e aprendizado
instvel.
Por outro lado, quando |f

lm
(net
lm
(t m)w
lml
m=1
| < 1, o erro decresce de forma exponen-
cial. Com isso, a taxa de aprendizado tende a zero e a rede no tem capacidade de aprendizagem
eciente.
Isso torna o mtodo convencional de aprendizado, baseado em back-propagation de erros,
sensvel a distraes. Para solucionar este problema, LSTM mantem o uxo de erro constante,
considerando que o uxo de erro do neurnio j no intervalo de tempo t igual a
j
(t) =
f

j
(net
j
(t))
j
(t + 1)w
jj
e satisfazendo a equao 5.41:
58
Figura 5.8: Clula de memria de LSTM
f

j
(net
j
(t))w
jj
= 1 (5.41)
Integrando a equao 5.41, possvel ver que f
j
(net
j
(t)) =
net
j
(t)
w
jj
. Ou seja, o valor de
f
j
tem que ser linear, e a ativao do neurnio j constante, conforme a equao 5.42. Essa
equao denominada de circulao constante de erro (constant error carrousel, ou CEC),
sendo a principal propriedade da rede LSTM [118].
y
j
(t + 1) = f
j
(net
j
(t + 1)) = f
j
(w
jj
y
j
(t)) = y
j
(t) (5.42)
Entretanto, uma vez que os neurnios podem ser modicados ao longo do tempo, neces-
srio prover mecanismos para prevenir a modicao de pesos por valores de entrada inade-
quados, e prevenir predies falsas resultantes de conitos entre as memrias de curto e longo
prazo. Para isso, LSTM introduz mecanismos adicionais na rede:
1. Unidade multiplexadora de proteo de entrada (input gate unit), utilizada para proteger a
memria armazenada no neurnio j das modicaes causadas por entradas indesejveis;
2. Unidade multiplexadora de proteo de sada (output gate unit), utilizada para proteger
outras unidades da rede das perturbaes que podem ser causadas pelo contedo arma-
zenado no neurnio j, quando tal contedo irrelevante para elas.
Com isso, o neurnio resultante torna-se mais complexo, e passa a ser denominado de clula
de memria, sendo apresentado na gura 5.8.
Conforme pode ser visto na gura 5.8, a j-sima clula de memria denominada de c
j
.
Cada clula de memria construda em torno de uma unidade central linear auto-conectada
e xa (e.g., CEC). Alm de net
cj
, c
j
recebe os valores de entrada da unidade de proteo
de entrada in
j
, e da unidade de proteo de sada out
j
. A ativao de in
j
na instante de
tempo t representada por y
in
j
(t); e a de out
j
por y
out
j
(t), sendo que y
out
j
(t) = f
out
j
(t)) e
y
in
j
(t) = f
in
j
(net
in
j
(t)).
Os valores de net
out
j
(t), net
in
j
(t) e new
c
j
(t) so calculados por meio das equaes 5.43,
5.44 e 5.45, sendo que o ndice somatrio u pode representar clulas de memria, unidades de
59
proteo de entrada e de sada ou at neurnios convencionais, uma vez que todos eles podem
trazer informaes relevantes sobre o estado atual da rede.
net
out
j
(t) =

u
w
out
ju
y
u
(t 1) (5.43)
net
in
j
(t) =

u
w
in
ju
y
u
(t 1) (5.44)
net
c
j
(t) =

u
w
c
ju
y
u
(t 1) (5.45)
No intervalo de tempo t, o valor de sada y
c
j
(t) de c
j
calculado atravs da equao 5.46,
com o estado interno s
c
j
(t) determinado pela equao 5.47.
y
c
j
(t) = y
out
j
(t)h(s
c
j
(t)) (5.46)
s
c
j
(t) =

0 t = 0
s
c
j
(t 1) +y
int
(t)g(net
c
j
(t)) t > 0
(5.47)
A funo diferencial g utilizada para exprimir net
cj
, e a funo h visa expandir os valores
de sada da clula de memria c
j
, calculado a partir do estado interno s
c
j
.
A rede LSTM utiliza as unidades de proteo de entrada e de sada para controlar quando o
contedo da clula de memria deve ser modicado. A unidade de proteo de entrada in
j

utilizada para decidir se a rede deve modicar ou manter o contedo da clula c
j
; e a de proteo
de sada out
j
empregada para determinar se outras clulas podem utilizar o contedo de c
j
.
Enquanto os sinais de erro, armazenados dentro da clula por meio de CEC, no devem
ser modicados, os que a clula recebe por meio da sua unidade de proteo de sada podem
ser considerados. Para isso, a unidade de proteo de sada treinada para aprender quais so
os erros que devem ser passados para CEC, e como eles devem ser escalonados. Da mesma
forma, a unidade de proteo de entrada deve ser treinada para aprender quais erros devem ser
ignorados. De forma geral, as unidades de proteo so utilizadas para abrir e fechar acesso ao
uxo de erros calculado por CEC.
Topologicamente, uma rede LSTM geralmente composta por uma camada de entrada, uma
de sada e uma escondida. As clulas de memria e suas unidades de proteo so localizadas
na camada escondida, sendo que ela tambm pode ter neurnios convencionais conectados
tanto s clulas quanto s unidades de proteo. Todos os neurnios de uma camada, com
a exceo das unidades de proteo, so conectados diretamente aos neurnios da camada
superior, servindo de entrada para eles.
Alm de clulas de memria, a rede LSTM tambm pode ter blocos de memria. Tais
blocos so compostos por clulas que compartilham a mesma unidade de proteo de entrada e
de sada. Dessa forma, S clulas que compartilham as mesmas unidades de proteo de entrada
e de sada formam um bloco de memria de tamanho S. Tais blocos so utilizados para facilitar
na troca de informaes entre clulas adjacentes.
Um exemplo da topologia de rede neural LSTM apresentado na gura 5.9 [98].
O processo de aprendizado da rede LSTM similar ao das redes convencionais, com a
diferena de que os erros recebidos por back-propagation no so propagados para fora das
clulas de memria que os receberam. No lugar disso, tais valores so utilizados pelas unidades
60
Figura 5.9: Exemplo de LSTM
de proteo para determinar se os pesos das conexes da clula devem ser modicados ou
mantidos. Da mesma forma, o erro calculado pela clula utilizado para modicar o seu valor
de sada correspondente.
Redes LSTM apresentam uma baixa complexidade computacional [118, 96] e taxa de apren-
dizado signicativamente mais rpida de que redes recorrentes convencionais. Alm disso,
LSTM possibilita a realizao de predies ecientes com distncias superiores s redes con-
vencionais.
Como uma extenso rede LSTM possvel citar o trabalho de Ortiz et al [184], que utiliza
o ltro de Kalman para melhorar o processo de aprendizado da rede. A rede proposta resulta em
uma maior ecincia e custo computacional menor. Alm disso, o novo algoritmo resulta em
uma predio mais precisa em ambientes com rudo. Outras extenses so de autoria de Gers
et al, introduzindo mdulos de esquecimento de dados irrelevantes por meio de forget gates
[98] e inter-conexes entre clulas independentes (peephole connections) [97], resultando
em aprendizado mais preciso de diferenas entre seqncias de padres conhecidos.
5.5.2 Rede neural de Hopeld
A rede neural articial de Hopeld [120] tambm pertence famlia de redes neurais recor-
rentes, e foi proposta como memria associativa entre dados de entrada e sada. A associao
realizada com base em uma funo de energia de Lyapunov [120], que aplicada em teoria
de sistemas dinmicos para provar a existncia de estados estveis. Nesses sistemas busca-se
provar que a mudana no estado de variveis de comportamento do sistema dinmico resulta
na queda do valor da funo, at que seja atingido um mnimo. O uso dessa funo de energia
motivou a adoo da rede de Hopeld para a soluo de problemas de otimizao, nos quais
pretende-se obter o mnimo global da funo de energia, que representa a melhor soluo para
61
Tabela 5.2: Representao do problema de caixeiro-viajante
0 1 0
0 0 1
1 0 0
certa situao. A superfcie da funo de energia armazenada nos pesos dos neurnios da
rede.
A funo de sada adotada para Hopeld [89] denida na equao 5.48, onde uma
constante denominada parmetro de ganho e u
i
a entrada da rede (net
i
) para o neurnio i.
Para = 1 a funo linear de derivada positiva. Conforme o valor de aumenta a funo
comporta-se como uma funo passo.
v
i
= g
i
(u
i
) =
1
2
(1 +tanh(u
i
)) (5.48)
Antes de utilizar a rede de Hopeld, necessrio denir uma funo de energia a ser apli-
cada sobre uma matriz que representa uma soluo do sistema. Como um exemplo possvel
utilizar o problema do Caixeiro-viajante [89], onde se pretende visitar uma srie de cidades
com as restries de: percorrer o menor caminho, no visitar mais que uma vez uma cidade e
que todas as cidades devem ser visitadas. Cada soluo para o problema expressa em uma
matriz aonde as linhas representam as cidades e as colunas a ordem de visita. Por exemplo, a
linha r
0
representa a cidade A, a r
1
a cidade B e assim sucessivamente. Da mesma forma, c
0
representa a primeira cidade a ser visitada, c
1
a segunda e assim sucessivamente.
A gura 5.5.2 apresenta um exemplo de soluo para o problema do Caixeiro-viajante. O
valor 1 signica a visita a uma cidade, sendo que uma cidade no est sendo visitada mais que
uma vez e que todas esto sendo visitadas ao menos uma vez. A primeira visita ocorre cidade
r
2
, depois r
0
e nalmente r
1
.
Sobre a matriz que representa uma soluo para o problema aplicada a funo de energia,
visando desfavorecer estados no desejados. Por exemplo, para desfavorecer mais de uma
visita a uma cidade deve-se realizar um somatrio de produtos dos valores contidos na matriz
para cada cidade de acordo com a equao 5.49, onde X representa uma cidade (linha), i
e j ndices para percorrer as colunas, v
Xi
e v
Xj
os valores contidos na matriz na linha X,
colunas i e j, respectivamente. Emumestado estvel e atingindo o mnimo global, essa equao
deve retornar zero, pois cada cidade visitada somente uma vez. Se uma cidade for visitada
mais vezes, essa equao retorna um valor positivo, o qual deve ser utilizado para decrescer
os valores de sada dos neurnios da rede neural. Quando os neurnios oferecem uma sada
(matriz tal como apresentada na gura 5.5.2) que satisfaz todas as equaes que compem a
funo de energia, o sistema naliza a execuo, gerando os resultados da ordem de visita das
cidades e distncia percorrida.
n

X=1
n

i=1
n

j=1,j=i
v
Xi
v
Xj
(5.49)
A equao 5.49 trata somente de uma das restries para a soluo, sendo que outros termos
da funo de energia devem ser formulados. A equao 5.50 apresenta o segundo termo que
garante que a soluo somente ser vlida se uma cidade for visitada por vez, uma vez que
62
duas cidades no podem ser visitadas simultaneamente pelo mesmo viajante. Da mesma forma,
caso uma coluna da matriz acumule um valor de somatrio de produtos igual a zero, a soluo
proposta satisfaz esse termo da funo de energia. Caso o valor seja maior que zero, duas
ou mais cidades podem ter sido visitadas simultaneamente pelo mesmo viajante, o que no
permitido e deve ser concludo como soluo invlida.
n

i=1
n

X=1
n

Y =1,Y =X
v
Xi
v
Y i
(5.50)
O terceiro termo da funo de energia apresentado na equao 5.51. Esse termo garante
que o nmero de visitas s cidades deve ser igual ao nmero de cidades (n). Caso seja diferente
ser computado um valor para diminuir o valor de entrada dos neurnios, gerando, portanto,
sadas de menor valor.
(
n

X=1
n

i=1
v
Xi
n)
2
(5.51)
O quarto e ltimo termo, apresentado na equao 5.52, visa minimizar a distncia entre
cidades, onde d
XY
representa a distncia entre as cidades X e Y armazenada em outra matriz.
Esse termo busca computar e gerar o custo total do caminho passando por todas as cidades e
retornando primeira.
n

X=1
n

Y =1,Y =X
n

i=1
d
XY
v
Xi
(v
Y,i+1
+ v
Y,i1
) (5.52)
Os termos apresentados nas equaes 5.49, 5.50, 5.51 e 5.52 compem a funo de energia
5.53 que deve ser minimizada, onde A, B, C e D representam a relevncia do termo para a
equao.
E = A
n

X=1
n

i=1
n

j=1,j=i
v
Xi
v
Xj
+B
n

i=1
n

X=1
n

Y =1,Y =X
v
Xi
v
Y i
+C (
n

X=1
n

i=1
v
Xi
n)
2
+D
n

X=1
n

Y =1,Y =X
n

i=1
d
XY
v
Xi
(v
Y,i+1
+v
Y,i1
) (5.53)
A rede neural de Hopeld aplica a funo de energia sobre uma soluo, decresce os va-
lores de entrada dos neurnios, que apresentam uma nova soluo a ser avaliada. Esse ciclo
executado at que seja obtida uma soluo que no contrarie nenhum dos termos da funo de
energia.
Por oferecer mecanismos de memria associativa, tambm pode-se aplicar a rede neural de
Hopeld para detectar e predizer mudanas no comportamento de aplicaes.
63
5.5.3 Tcnica de Simulated annealing
Uma das desvantagens da rede neural de Hopeld o fato de que a soluo encontrada pode
tender a um mnimo local, que nem sempre representa uma soluo aceitvel. A tcnica de
Simulated Annealing, por sua vez, funciona de maneira muito similar rede de Hopeld, porm
com o objetivo de encontrar uma soluo global para o problema [140]. O nome da tcnica foi
proposto como uma analogia tcnica de annealing em metalurgia, uma tcnica que consiste
em aquecimento e resfriao controlada de materiais com o objetivo de reduzir os seus defeitos.
A tcnica introduz o conceito de temperatura do sistema para encontrar mnimos globais.
Para isso, a cada iterao do algoritmo, o mecanismo considera os estados vizinhos ao atual s,
denominados s

. Durante essa avaliao, determinada a probabilidade de transio do estado


atual para um novo, tendendo para estados com energia menor. A vizinhana especicada de
maneira explcita, podendo apresentar variaes para cada problema especco.
A probabilidade de transio de estado calculada por meio da funo P(e, e

, T), onde e
e e

representam as energias E(s) e E(s

) dos estados correspondentes s e s

, e o parmetro T
representa a temperatura global do sistema, alterada com o tempo.
A propriedade essencial desta funo o fato de que a probabilidade de transio P deve ser
diferente de zero, com e

> e indicando uma transio para um estado pior (i.e., que apresenta
maior energia). Essa caracterstica do sistema utilizada para evitar a estabilizao do sistema
num mnimo local.
Por outro lado, quando a temperatura T do sistema prxima a zero, a funo de probabi-
lidade deve tender a zero caso e

> e, retornando um valor positivo caso contrrio. Isso garante


que, para valores pequenos de T, o sistema apresentar a tendncia de encontrar as solues
com menor energia com o passar de tempo.
Dessa maneira, a tcnica de simulated annealing pode ser utilizada para determinar mu-
danas do comportamento de forma similar rede de Hopeld, oferecendo uma soluo tima
global para o problema. Para aplicar essa tcnica, entretanto, conhecimentos sobre o funcio-
namento do sistema so necessrios para determinar as variaes de temperatura em busca do
mnimo global.
5.5.4 Mquinas de Boltzmann
Sob o nome de mquinas de Boltzmann entende-se uma famlia de redes neurais estocsticas
recorrentes, baseadas na tcnica de simulated annealing [90, 207, 206, 106].
As mquinas de Boltzmann so similares rede neural de Hopeld, compostas por uma rede
de neurnios utilizados para determinar a funo de energia do sistema. A principal diferena
com a rede de Hopeld o fato das mquinas de Boltzmann utilizarem neurnios estocsticos
no lugar de discretos, usados na tcnica de Hopeld.
A funo de energia global E determinada por meio da equao 5.54, onde w
ij
o peso
da conexo entre os neurnios i e j, s
j
0, 1 representa o estado do neurnio i e
i
o valor
de corte (threshold) para o neurnio i.
E =

i<j
w
ij
s
i
s
j
+

i
s
i
(5.54)
As conexes utilizadas pelas mquinas de Boltzmann so simtricas, e os neurnios no
podem ser auto-conectados, satisfazendo w
ii
= 0, i e w
ij
= w
ji
, i, j. Dessa forma, pos-
64
svel determinar a diferena na energia global do sistema E
i
ocorrida quando um neurnio i
passa de 0 a 1 por meio da equao 5.55.
E
i
=

j
w
ij
s
j

i
(5.55)
As mquinas de Boltzmann so compostas por neurnios estocsticos. A probabilidade p
i
do neurnio i estar ativo determinada pela equao 5.56, sendo que T representa a temperatura
do sistema, introduzida pela tcnica de simulated annealing.
p
i
=
1
1 +exp(
1
T
E
i
)
(5.56)
A arquitetura de mquinas de Boltzmann consiste de neurnios visveis, que recebem as
entradas, e escondidos, utilizados para o clculo da funo de energia. Durante o processo de
aprendizagem, os neurnios visveis processam os valores de entrada e atualizam a temperatura
global do sistema. Os escondidos, por sua vez, so atualizados em funo dos valores dos
neurnios visveis, visando manter um equilbrio trmico no sistema.
No processo de aprendizagem, onde V representa o conjunto de entradas no sistema ma-
peado sobre os neurnios visveis por meio da funo de distribuio P
+
(V ), a rede calcula
uma funo de distribuio resultante P

(V ). O objetivo de treinamento minimizar a dis-


tncia G entre P
+
(V ) e P

(V ), calculada por meio da funo de Kullback-Leibler, conforme


demonstrado na equao 5.57, sendo v V .
G =

v
P + (v)ln
P
+
(v)
P

(v)
(5.57)
O treinamento consiste de duas fases alternadas. A primeira fase, conhecida como fase
positiva, consiste em treinamento dos neurnios visveis pelos padres de entrada. Na segunda
fase, conhecida como negativa, os valores de entrada no so processados, fazendo com que
a rede se adapte aos padres processados anteriormente. Uma vez que na segunda fase de
treinamento a rede funciona de forma automtica, como uma mquina, e a energia do sistema
calculada por meio da distribuio de Boltzmann [90, 176], a rede foi nomeada de mquina
de Boltzmann.
Entretanto, a rede funciona adequadamente somente para padres mais simples. Para en-
tradas mais complexas, o tempo necessrio para a estabilizao da energia da rede e a comple-
xidade das suas conexes aumentam exponencialmente. Alm disso, a presena do rudo nas
entradas da rede resulta em aprendizado catico, uma vez que o processo de treinamento no
consegue diferenciar o rudo observado das entradas desejadas.
5.6 Redes Associativas Competitivas
A famlia de redes neurais competitivas caracterizada pela abordagem de winner-takes-all
[133], sendo utilizada amplamente para a classicao e predio de padres.
Como visto na seo 4, possvel classicar o comportamento de aplicaes agrupando
estados com comportamento semelhante. No modelo SOM, o conceito de vizinhana utili-
zado para determinar os estados funcionais de aplicaes caracterizadas pelo comportamento
similar. Uma vez que a classicao feita de maneira esttica, isso no permite predizer o
65
comportamento futuro de tais aplicaes. Para solucionar esse desao, diversas tcnicas foram
propostas [17, 16, 157, 144, 224], tais como as descritas a seguir.
5.6.1 Modelo SOM temporal
Uma extenso para o modelo SOM foi proposta em [46], denominada Mapas de Kohonen
Temporais, ou TKM (Temporal Kohonen Maps), com o objetivo de separar diversos padres
de entrada de acordo com a sua ordem e contexto de processamento. Dessa forma, alm de
agrupar e classicar os padres de entrada de acordo com a vizinhana, pode-se classicar os
diversos padres em funo do tempo.
Para isso, o modelo SOM foi modicado com o objetivo de introduzir o conceito de me-
mria de curto prazo, ou STM (Short Term Memory), utilizada para armazenar o histrico de
comportamento para cada elemento do mapa.
O modelo proposto funciona de maneira anloga ao modelo SOM original, sendo que a
nica diferena consiste na camada de sada. Enquanto o modelo SOM original zera os valores
de neurnios da camada de sada aps encontrar o neurnio vencedor, o modelo TKM ajusta
os valores dos neurnios gradativamente. Para isso, utilizado o processo de deteriorao,
demonstrado na equao 5.58, onde representa uma constante de tempo, V
i
(n) o valor de
ativao do neurnio i no instante n, w
i
(n) referencia o vetor de pesos da unidade i e x(n) o
padro de entrada.
V
i
(n) = V
i
(n 1) (1/2)x(n) w
i
(n)
2
(5.58)
Dessa forma, o modelo permite classicar os padres de entrada em funo de mudanas
no seu comportamento. Entretanto, essa abordagem limitada, uma vez que no existe nenhum
mecanismo recorrente de propagao de erros (backpropagation), sendo eciente apenas para
padres de entrada simples.
Para aumentar a ecincia do modelo TKM, a tcnica denominada de RSOM (Recurrent
Self-Organizing Map) foi proposta [144], introduzindo uma avaliao recorrente da rede. O
modelo possibilita ajustar os valores de entrada em funo da classicao da rede, calculando
as diferenas para cada elemento da rede atravs da equao 5.59, onde alpha coeciente
temporal, anlogo ao do modelo TKM descrito acima e y
i
(n) representa a diferena vetorial
para cada n do mapa, e os valores de x(n) e w
i
(n) so anlogos ao modelo TKM.
y
i
(n) = (1 )y
i
(n 1) +(x(n) w
i
(n)) (5.59)
Para = 1, o modelo RSOM se comporta de maneira anloga ao modelo SOM convencio-
nal. Tendo = 0, todas as unidades do mapa convergem para os valores mdios dos padres
de entrada.
5.6.2 Modelo SOM auto-regressivo
Em [157], um mtodo para classicao no-supervisionada proposto para processamento de
sinais, que consiste na utilizao de um mapa auto-organizado de neurnios, sendo que cada
n do mapa representado por vetor auto-regressivo x(n + 1), sendo que x(k), k = 0, 1, ...
uma srie temporal discreta de ordem M, representada pela regresso 5.60.
66
x(n + 1) = w
0
x(n) + w
1
x(n 1) +... + w
M1
x(n (M 1)) +e(n) (5.60)
Dessa forma, possvel representar o vetor de pesos com W, e o histrico temporal do
vetor de entrada x(x + 1) com X(n), conforme a equao 5.61
X(n) = x(n), x(n 1), ..., x(n (M 1)) (5.61)
Considerando que as colunas das matrizes W e X so compostos por vetores de dimenso
M, pode-se predizer o prximo elemento a partir de M elementos anteriores atravs da equao
5.62.
x(n + 1) = W(n)
T
W (5.62)
O mapa auto-organizado de maneira no-supervisionada durante a fase de treinamento
de maneira similar ao modelo SOM tradicional, sendo que cada n do mapa mantem o seu
histrico que pode ser utilizado para predizer as futuras transies, conforme a equao 5.62.
5.6.3 Rede neural VQTAM
Em [17], foi proposta uma extenso ao modelo SOM denominado VQTAM (Vector-Quantized
Temporal Associative Memory), que consiste na utilizao de memria associativa aliada clas-
sicao vetorial de dados feita pela rede SOM. A utilizao de memria associativa permite
realizar a classicao de dados em funo dos resultados esperados, possibilitando uma predi-
o de aes futuras por meio de mapeamento de vetores de entrada com os valores esperados
de sada.
A memria associativa introduzida ao modelo SOM por meio de modicao do vetor de
entrada x(t), transformando-o em vetores x e w, conforme a equao 5.63, onde x
in
representa
os dados de entrada, x
out
os dados de sada esperados, w
in
i
o vetor de pesos relacionado aos
dados de entrada e w
out
i
sendo o vetor de pesos correspondente aos de sada esperados.
x(t) =

x
in
(t)
x
out
(t)

, w
i
(t) =

w
in
i
(t)
w
out
i
(t)

(5.63)
Durante a fase de treinamento, o neurnio vencedor determinado somente em funo dos
dados de entrada x
in
, conforme a equao 5.64.
i

(t) = arg min i A{x


in
(t) w
in
i
(t)} (5.64)
Para atualizar os pesos, tanto x
in
(t) quanto x
out
(t) so empregados, conforme as equaes
5.65 e 5.66, onde (t) representa a taxa de aprendizado.
w
in
i
(t) = (t)h(i

, i; t)[x
in
(t) w
in
i
(t)] (5.65)
w
out
i
(t) = (t)h(i

, i; t)[x
out
(t) w
out
i
(t)] (5.66)
h(i

, i; t) = exp(
r
i
(t) r
i
(t)
2
2
2
(t)
) (5.67)
67
Nas equaes 5.65 e 5.66, h(i

, t; t) a funo Gaussiana de vizinhana, apresentada na


equao 5.67, sendo que r
i
(t) e r
i
(t) representando as localizaes dos neurnios i e i

no
vetor de sada. Os parmetros (t) e (t) decrescem de exponencialmente emfuno do tempo,
conforme as equaes 5.68 e 5.69, sendo que
0
e
0
representam os seus valores iniciais e
T
e
T
os valores nais, aps T iteraes.
(t) =
0
(

0
)
t/T
(5.68)
(t) =
0
(

0
)
t/T
(5.69)
Com a rede treinada, pode-se predizer o valor de sada estimado de maneira eciente a
partir do sub-vetor w
out
i
do vetor de entrada, de acordo com a equao 5.70.
y(t + 1) = w
out
i
(t) (5.70)
5.7 Predio por meio de atrasos no tempo: TDNN
Um grupo de redes neurais inicialmente introduzido por Waibel [229] e conhecido como TDNN
(Time-Delay Neural Networks) caracterizado pela utilizao de uma topologia especial, vol-
tada reconhecimento de sub-padres independentes dentro de um padro de entrada contnuo.
Originalmente, a rede TDNN foram propostas para reconhecimento de som. Para o projeto
da rede, as seguintes consideraes foram feitos:
1. A rede composta por mltiplas camadas e conexes, e focada em aprendizado no-
linear;
2. A rede deve ser capaz de representar relacionamentos entre eventos em tempo;
3. O nmero de pesos na rede deve ser sucientemente pequeno comparando com a quanti-
dade de dados treinados. Dessa forma, a rede forada a codicar os dados observados,
extraindo regularidades e comportamentos repetitivos.
A tcnica TDNN consiste na introduo de atrasos nos padres de entrada da rede, sendo
geralmente composta por uma camada de entrada, uma ou mais camadas escondidas e uma
camada de sada, conforme a gura 5.10. Um procedimento de aprendizado recurrente (back-
propagation) adotado, utilizando o clculo de soma mdia de erros para a determinao do
erro.
Em redes neurais convencionais, um neurnio responsvel por calcular uma soma pon-
derada de todas as suas entradas e, aps isso, a propag-la por meio de uma funo no-linear
(geralmente funo de corte ou sigmide) para as prximas unidades. Na rede TDNN, as entra-
das so modicadas para introduzir n atrasos entrada de dados. Dessa maneira, uma camada
de entrada composta por y elementos gera z = y (n + 1) entradas para a rede. Dessa forma, a
rede necessita de z pesos para y entradas.
Enquanto em redes neurais convencionais cada neurnio geralmente conecta-se somente
uma vez com outro da camada sucessora, no modelo TDNN so realizadas diversas conexes
com pesos independentes. Antes do clculo do peso de cada conexo, os dados sofrem um
68
Figura 5.10: Rede TDNN
atraso que os elimina do clculo da soma de pesos. Uma vez que cada conexo associada com
um atraso correspondente, as conexes atuam como o mecanismo de memria de curto prazo,
possibilitando relatar e comparar o vetor de entrada atual aos dados observados anteriormente.
As sadas de cada camada so computadas e utilizadas como valores de entrada para as
camadas sucessoras, at chegar na camada de sada. Os valores de sada so comparados aos
valores esperados, calculando o erro, que propagado pela rede, atualizando os pesos e, con-
seqentemente, decrementando o erro global. O procedimento repetido at a rede convergir
para a sada desejada. Dessa maneira, uma predio eciente somente possvel aps o treina-
mento repetitivo da rede.
Entre as extenses ao modelo TDNN pode-se citar a rede ATNN (Adaptive Time-Delay
Neural Network), que possibilita adaptar os lags da rede dinamicamente [62].
5.8 Aprendizado supervisionado: Reservoir computing
A famlia de tcnicas conhecidas como Reservoir Computing foi introduzida recentemente
[222, 126], sendo representada por tcnicas como Echo State Networks (ESN) [222, 126],
Liquid-state machines [126, 223] e tcnica de Backpropagation-decorrelation [126].
69
Figura 5.11: Arquitetura de Reservoir Computing
A ideia principal compartilhada entre essas abordagens a existncia de um sistema din-
mico recurrente, conhecido como reservatrio (reservoir), e composto por um nmero alto de
ns interconectados com contedo aleatrio. Uma funo de superviso utilizada para treinar
o sistema, mapeando os resultados desejados de acordo com a dinmica interna do reservatrio,
conforme pode ser visto na gura 5.11.
Conforme pode ser visto na gure 5.11, o mecanismo de treinamento visa mapear N
padres de entrada u(t) de acordo com a sada esperada y(t) em uma seqncia D =
[(u(1), y(1)), .., (u(N), y(N))]. Para representar a correlao do padro de entrada u(n) com o
estado interno do reservatrio x(n) so utilizados estados estendidos z(n) = [x(n); u(n)].
Durante a execuo do reservatrio com N unidades, K entradas e L sadas, a atualizao
dos estados internos controlada pela equao 5.71, sendo x(n) o estado N-dimensional do
reservatrio, f uma funo sigmide, W a matriz de pesos do reservatrio de dimenso NN,
W
in
a matriz de entradas K N-dimensional, u(n) o padro de entrada K-dimensional, W
fb
a matriz de pesos da funo de sada com dimenso L N e y(n) o sinal de sada L-
dimensional no intervalo de tempo n.
y(n + 1) = f(Wx(n) + W
in
u(n + 1) +W
fb
y(n)) (5.71)
Aps o treinamento, a execuo do sistema feita por meio da equao 5.72, sendo W
out
matriz dos pesos de sada de dimenso (K + N) L, g a funo de ativao e z(n) o estado
estendido do sistema no intervalo n.
y(n) = g(W
out
z(n)) (5.72)
Como pode ser visto a partir das equaes 5.71 e 5.72, durante o treinamento inicial o
70
sistema fomentado pela seqncia de entrada u(1), .., u(N), resultando em seqncia de es-
tados estendidos z(1), .., z(N). Caso a funo de superviso utilizada, os valores de sada
esperados d(n) so propagados para as unidades de sada, efetivamente treinando o sistema. A
matriz de estados estendidos resultante transformada em uma matriz de transies de estados
S de dimenso N (N + K), e os valores de sada desejados so armazenados na matriz de
superviso D, que N L-dimensional.
Os pesos correspondentes aos valores de sada desejados W
out
so calculados por meio de
regresso linear dos valores de sada d(n) sobre os estados estendidos z(n). Considerando
R = S

S como sendo a matriz de correlao dos estados estendidos, e P = S

D a matriz
de co-correlao dos estados com as sadas desejadas, os valores de W
out
so calculados por
meio de equaes 5.73 ou 5.74, onde S
t
a matriz pseudo-inversa de S. Enquanto ambos os
mtodos podem ser aplicados, a equao 5.73 requer tempo de execuo signicativamente
menor, e 5.74 apresenta resultados estveis.
W
out
= R
1
P (5.73)
W
out
= (S
t
D)

(5.74)
A maior desvantagem do modelo de Reservoir Computing a complexidade espacial da
abordagem, que cresce exponencialmente em funo do nmero de padres avaliados [126].
5.9 Aprendizado controlado: SRNN
SRNN uma rede neural recurrente proposta recentemente [94] COM O objetivo de predio
de padres on-line eciente, avaliando o comportamento atual do sistema. A estrutura de rede
similar utilizada pelas tcnicas de Reservoir Computing, com a diferena de que uma rede
neural recurrente completamente interconectada utilizada no lugar do reservatrio. A tcnica
evita problemas de estabilidade, observados nas tcnicas de Reservoir Computing parametri-
zando os pesos da camada escondida da rede de forma a limitar o espectro dos eigenvalues dos
seus pesos.
A camada escondida da rede SRNN composta por neurnios interconectados circular-
mente, conforme pode ser visto na gura 5.12, sendo que todos os neurnios-vizinhos compar-
tilham o mesmo peso
1
; os vizinhos-dos-vizinhos compartilham o peso
2
e assim por diante.
Dessa maneira, a matriz de pesos resultante organizada conforme a equao 5.75.

0
N1
..
N

1
0 .. ..
.. .. 0
N1

N1
..
1
0

(5.75)
Para padres de entrada d-dimensionais, a camada escondida replicada d vezes, sendo que
todos os neurnios de entrada e de sada so conectados a todos os elementos escondidos.
O funcionamento da rede similar ao Reservoir Computing sendo controlado pelas equa-
es 5.76 e 5.77, sendo b
1
e b
2
vetores de controle, W
hid
, W
in
e W
out
as matrizes de intercone-
xes entre as camadas, g e h as funes de ativao e s
t
e x
t
os vetores de camada escondida e
de entrada no intervalo de tempo t.
71
Figura 5.12: Spiral Recurrent Neural Network
s
t
= g(W
hid
s
t1
+ W
in
+ b
1
) (5.76)
x
t
= h(W
out
s
t
+ b
2
) (5.77)
Sendo parametrizados dessa forma, a rede SRNN composta por uma matriz de pesos
treinveis num espectro limitado, o que resulta em predio estvel e precisa com rpida con-
vergncia [94].
5.10 Aprendizado Bayesiano
O modelo estatstico de Bayes denido no Teorema de Bayes [20], que relaciona as proba-
bilidades condicionais e marginais da distribuio de variveis aleatrias, com o objetivo de
denir a maneira mais adequada de atualizar os conhecimentos em funo de novas evidncias.
O teorema demonstrado na equao 5.78, onde:
Pr(A|B) =
Pr(B|A)Pr(A)
Pr(B)
L(A|B)Pr(A) (5.78)
L(A|B) a semelhana entre A e B, dado valor de B;
Pr(A) a probabilidade anterior, ou marginal, do evento A. Essa probabilidade deno-
minada anterior uma vez que ela no leva em considerao nenhuma informao sobre
o evento B;
Pr(A|B) a probabilidade condicional do A, dado B. Essa probabilidade tambm
conhecida como probabilidade posterior, uma vez que ela derivada ou depende do
valor do evento B;
Pr(B|A) a probabilidade de B, dado A;
72
Pr(B) a probabilidade anterior do evento B, que atua como uma constante de norma-
lizao;
a constante de normalizao.
Dessa maneira, o teorema pode ser re-escrito de maneira informal, conforme a equao
5.79, onde P representa a probabilidade posterior, S a semelhana entre a probabilidade atual
e a anterior, A a probabilidade anterior e C a constante de normalizao.
P =
S A
C
(5.79)
Em outras palavras, possvel denir a probabilidade posterior como sendo proporcional
sua semelhana probabilidade anterior.
Alm disso, a relao Pr(B|A)/Pr(B) pode ser denominada de semelhana padronizada.
Dessa forma, o teorema pode ser re-formulado conforme a equao 5.80, onde P representa a
probabilidade posterior, S a semelhana normalizada entre probabilidade anterior e a atual e A
a probabilidade anterior.
P = S A (5.80)
A probabilidade do acontecimento de eventos utilizado no modelo de Redes Bayesianas
(Bayesian network, ou Bayesian Belief Network), sendo um modelo probabilstico grco que
representa as independncias probabilsticas entre um conjunto de variveis [29, 48, 238, 114,
160, 105]. As variveis podem ser independentes ou compostas por seqncias contnuas,
como, por exemplo, sinais de voz ou seqncias de protenas [165]. Neste caso, a rede
conhecida como rede Bayesiana dinmica [136, 183].
Formalmente, redes Bayesianas so representados por grafos acclicos, cujos ns represen-
tam as variveis e arestas codicam a sua independncia condicional, conforme mostrado na
gura 5.13, que apresenta uma rede Bayesiana composta pelos estados A e B, sendo que a
relao entre eles determinada pela sua conexo. Caso o arco que os interconecta parte do
estado A, tal estado denido como estado-pai, sendo B o estado-lho de A. Dessa forma,
um conjunto de estados que levam a um estado X
i
descrito como sendo parents(X
i
). Um
grafo acclico direcionado considerado uma rede Bayesiana relativa a um conjunto de vari-
veis, quando a distribuio conjunta dos seus estados pode ser descrita por meio do produto da
distribuies locais dos estados e seus respectivos estados-pais, conforme mostrado na equao
5.81.
P(X
1
, .., X
n
) =
n

i=1
P(X
i
|parents(X
i
)) (5.81)
Quando um estado X
i
no tem nenhum estado-pai, a sua distribuio de probabilidade
considerada incondicional. Caso contrrio, ela considerada condicional.
Para representar relaes indiretas entre os estados de uma rede Bayesiana, geralmente
utilizado o modelo de rvore de Chow-Liu [141, 122], que calcula a probabilidade apro-
ximada de distribuio conjunta P(X
1
, X
2
, .., X
n
) como um produto das distribuies con-
dicionais e marginais de segunda ordem. Por exemplo, uma distribuio da 6a dimenso
P(X
1
, X
2
, X
3
, X
4
, X
5
, X
6
), representada por meio a rvore apresentada na gura 5.14, pode
73
Figura 5.13: Exemplo de rede Bayesiana
Figura 5.14: Exemplo de rvore de dependncias da 2a ordem
ser aproximada conforme a equao 5.82, onde cada termo do produto introduz uma nova va-
rivel.
P

(X
1
, X
2
, X
3
, X
4
, X
5
, X
6
) =
P(X
6
|X
5
)P(X
5
|X
2
)P(X
4
|X
2
)P(X
3
|X
2
)P(X
2
|X
1
)P(X
1
) (5.82)
De forma geral, a probabilidade de distribuio conjunta de variveis independentes e dis-
cretas X e Y pode ser calculado atravs da equao 5.83, sendo que as suas variveis satisfazem
a equao 5.84.
P(X = x, Y = y) = P(Y = y|X = x)P(X = x) = P(X = y|Y = y)P(Y = y) (5.83)
74

y
P(X = x, Y = y) = 1 (5.84)
Redes Bayesianas so amplamente utilizadas para classicao e predio do comporta-
mento de processos [183, 165, 136].
5.11 Teoria de informao e entropia
A teoria da informao um ramo da teoria da probabilidade e da matemtica estatstica que
visa estimar a capacidade de um sistema gerar nova informao (ou bits de informao) [89].
Para quanticar os bits de informao produzidos por um sistema, foi introduzido o conceito de
entropia (equao 5.85, onde H(S) representa a entropia do sistema S, composto por conjunto
de eventos s
i
, i = 1..q, sendo que P(s
i
) representa a probabilidade do evento i acontecer).
H(S) =
q

i=1
P(s
i
)log
2
P(s
i
) (5.85)
A entropia representa a probabilidade de ocorrncia de eventos inesperados. Um sistema
com entropia igual a zero representa um sistema determinstico, onde as probabilidades de
ocorrncia de todos os eventos podem ser preditas. Da mesma forma, um sistema com alta
entropia signica que diversos eventos imprevistos podem ocorrer.
Por exemplo, supondo que o sistema S composto pelo evento s
1
, com a probabilidade
P(s
1
) = 1 (isto , o evento s
1
ocorre com a probabilidade de 100%), possvel calcular a
entropia do sistema atravs da equao 5.86.
H(S) =
1

i=1
P(s
i
)log
2
P(s
i
) =

i=1
11 log
2
(1) = 0 (5.86)
Nesse caso, a entropia do sistema igual a zero, ou seja, o sistema completamente deter-
minstico.
Da mesma forma, se o sistema S for composto por estados s
1
e s
2
, com probabilidades
P(s
1
) = 0.1 e P(s
2
) = 0.2, a entropia do sistema calculada pela equao 5.87.
H(S) =
2

i=1
P(s
i
)log
2
P(s
i
) =
((P(s
1
) log
2
P(s
1
)) + (P(s
2
) log
2
P(s
2
))) =
((0.9 log
2
(0.9) + (0.1 log
2
(0.1)) = 0.469 (5.87)
Dessa forma, a entropia do sistema S passa a ser igual a 0.469.
A entropia pode ser utilizada para determinar variaes no comportamento de processos.
Considerando, por exemplo, o processo apresentado pela cadeia de Markov na gura 5.15.a,
possvel denir a entropia do sistema (equao 5.89) como a soma das probabilidades de tran-
sies entre estados, de acordo com a equao 5.85, onde P(s
i
) a probabilidade de transio
de estados.
75
S1 0.9
S2
0.1 0.8
S3
0.2
0.1
0.9
S1 0.7
S2
0.3 0.7
S3
0.3
0.6
0.4
(a) Instante t
0
(b) Instante t
1
Figura 5.15: Cadeia de Markov para clculo de entropia
H(S) =
6

i=1
P(s
i
)log
2
P(s
i
) = (5.88)
((0.9 log
2
(0.9)) + (0.1 log
2
(0.1)) + (0.2 log
2
(0.2)) +
(0.8 log
2
(0.8)) + (0.1 log
2
(0.1)) + (0.9 log
2
(0.9))) =
(0.14 0.33 0.46 0.36 0.33 0.14) = 1.76
Nesse caso, a entropia do sistema igual a 1.76. Considere, agora, que no decorrer da
execuo do sistema, a transio do estado S
1
para S
2
foi alterada conforme gura 5.15.b.
Nesse caso a entropia do sistema passa a ser representada pela equao 5.90, que igual a 2.73.
H(S) =
6

i=1
P(s
i
)log
2
P(s
i
) = (5.89)
((0.7 log
2
(0.7)) + (0.3 log
2
(0.3)) + (0.3 log
2
(0.3)) +
(0.7 log
2
(0.7)) + (0.6 log
2
(0.6)) + (0.4 log
2
(0.4))) =
(0.36 0.52 0.52 0.36 0.44 0.53) = 2.73
A alterao de entropia do sistema do instante t
0
para t
1
igual a 0.97, o que conrma que o
sistema tornou-se mais propcio para a ocorrncia de eventos inesperados. Pode-se concluir que
quanto maior a probabilidade de predizer futuras transies entre estados, menor a entropia
do sistema.
76
5.12 Computao bio-inspirada: algoritmos genticos
A tcnica conhecida como Algoritmos Genticos representa um sub-conjunto da classe de al-
goritmos combinatrios, e tem como objetivo a utilizao dos conceitos de evoluo natural
[11]. Dessa forma, um objetivo a ser alcanado estabelecido (conhecido como funo t-
ness), e diversas operaes sucessivas so aplicadas sobre uma soluo arbitrria (conhecida
como cromossomo) tentando chegar numa soluo ideal.
Uma soluo codicada como uma seqncia de parmetros que podem ser alterados ou
recombinados. Por exemplo, no caso de uma aplicao sendo executada em ambiente distri-
budo, os parmetros podem representar o tamanho de memria necessrio para o seu funcio-
namento, uso de recursos computacionais, largura de banda necessria, etc. Um determinado
conjunto desses atributos forma umcromossomo, ou indivduo. Umconjunto de cromosso-
mos conhecido como uma gerao, sendo que cada alterao nos seus componentes forma
novas geraes-descendentes. Cada gerao formada por uma populao com um nmero
nito de indivduos.
Para cada gerao determinada a aproximao dela funo tness procurada, sendo
que os melhores indivduos da populao so utilizados para gerar as geraes sucessivas e os
piores so descartados.
Para gerar uma prxima gerao, pode-se aplicar operaes como:
Tabela 5.3: Operao de cruzamento
X
1
X
2
|X
3
X
4
X
5
X
6
X
1
X
2
|Y
3
Y
4
Y
5
Y
6
Y
1
Y
2
|Y
3
Y
4
Y
5
Y
6
Y
1
Y
2
|X
3
X
4
X
5
X
6
(a) Antes do cruzamento (b) Depois do cruzamento
Cruzamento (cross-over): nessa operao, os atributos dos cromossomos so permuta-
dos, formando novos indivduos. Um exemplo dessa operao mostrado na gura 5.12.
Mutao (mutation): essa operao altera de maneira aleatria alguns dos atributos dos
indivduos com o objetivo de procurar novos caminhos at a soluo. Ela pode ser ex-
tremamente relevante caso todos os indivduos apresentam parmetros semelhantes, ou a
soluo atual se estabeleceu num mnimo local.
Predao, niching, crowding: essas operaes so utilizados para remover indivduos
da populao e criar sub-populaes, visando localizar novos caminhos at o resultado
esperado.
entre outras.
Como as vantagens dos algoritmos genticos possvel citar a facilidade de implementao
e uso, sua eccia, sendo possvel alcanar uma soluo ideal durante a execuo do algoritmo,
e aplicabilidade na maioria de tarefas computacionais. Como desvantagens, entretanto, ne-
cessrio nomear alto custo operacional decorrente da necessidade de re-combinao contnua
de diversos indivduos em larga escala.
Dessa forma, mesmo com a possibilidade de prover resultados timos, os algoritmos ge-
nticos freqentemente no so utilizados devido a um alto tempo necessrio para chegar no
resultado.
77
5.13 Consideraes nais
Neste captulo foram apresentadas diversas tcnicas de predio do comportamento de proces-
sos, descrevendo abordagens tanto estatsticas quanto as baseadas em tcnicas de inteligncia
articial.
Entre as tcnicas estatsticas, tcnicas baseadas no modelo de cadeias de Markov, aborda-
gens de auto-regresso linear e no-linear e tcnicas que empregam a teoria de Bayes foram
apresentadas. Estas tcnicas, embora sejam ecientes para alguns casos, no so adequados
para ambientes com rudo. Uma soluo para ambientes com rudos, ltro de Kalman, tambm
foi apresentada.
Como uma das formas de medir a ecincia da predio e representao do comportamento
de processo foi apresentada, discutindo a teoria de informao e entropia.
Alm disso, redes neurais preditoras, tais como redes recorrentes, rede de Hopeld, m-
quinas de Boltzmann e rede TDNN, voltadas para predies a curto prazo. Um modelo para
predio tanto de curto quanto de longo alcance tambm foi apresentado, sendo introduzido
pela rede LSTM.
Tcnicas mais modernas, como Reservoir Computing e Spiral Neural Network, tambm
foram abordadas, junto com mtodos baseados na computao evolutiva.
78
Captulo 6
Concluses
Neste documento foram abordadas diversas tcnicas de extrao, classicao e predio do
comportamento de processos, enfatizando ambientes e sistemas distribudos.
O objetivo deste documento no foi providenciar uma descrio completa e detalhada das
tcnicas, mas abordar as suas principais caractersticas, vantagens, desvantagens e possveis
casos de uso. Enquanto o nosso foco foi voltado processos distribudos, todas os mtodos
abordados podem ser utilizados em mais diversas reas computacionais.
A rea de descrio e predio do comportamento de processos encontra-se em constante
evoluo no decorrer das ltimas dcadas, como possvel ver pelos trabalhos estudados, e no-
vas abordagens so introduzidas constantemente. Com isso, enquanto possvel notar que tais
tcnicas se tornam cada vez mais avanadas e ecientes, no tem nenhuma soluo universal
que se aplicaria a todos os problemas.
A escolha da tcnica mais adequada, portanto, tem que levar em considerao um estudo
sobre o comportamento esperado, uma vez que abordagens distintas pode ser mais eciente em
casos especcos.
Em funo disso, o nosso objetivo a atualizao constante deste documento, incluindo
novas tcnicas, abordagens e mtodos na medida do possvel.
79
Referncias Bibliogrcas
[1] D. ABRAMSON, R. BUYYA, and J. GIDDY. A computational economy for
grid computing and its implmentation in the nimrod-g resource broker. cite-
seer.ist.psu.edu/abramson02computational.html, 2002.
[2] J. Adibi and W. M. Shen. Self-similar layered hidden markov models. In PKDD 01:
Proceedings of the 5th European Conference on Principles of Data Mining and Kno-
wledge Discovery, pages 115, London, UK, 2001. Springer-Verlag.
[3] I. Ahrns, J. Bruske, and G. Sommer. On-line learning with dynamic cell structure. In
F. Fogelman-Souli and P. Gallinari, editors, Proc. ICANN95, International Conference
on Articial Neural Networks, volume II, pages 141146, Nanterre, France, 1995. EC2.
[4] M.B. Al-Daoud, N.B. Venkateswarlu, and S.A. Roberts. Fast k-means clustering algo-
rithms. citeseer.ist.psu.edu/al-daoud95fast.html.
[5] D. Alahakoon, S. K. Halgamuge, and B. Srinivasan. Self growing cluster development
approach to data mining. IEEE International Conference on Systems, Man, and Cyber-
netics, 3:29012906, 1998.
[6] M. K. Albertini and R. F. Mello. A self-organizing neural network for detecting novel-
ties. In SAC 07: Proceedings of the 2007 ACM symposiumon Applied computing, pages
462466, New York, NY, USA, 2007. ACM Press.
[7] C. Amerijckx, M. Verleysen, P. Thissen, and J. D. Legat. Image compression by self-
organized Kohonen map. IEEE Transactions on Neural Networks, 9(3):503507, 1998.
[8] C. Amza, A. L. Cox, S. Dwarkadas, and W. Zwaenepoel. Software DSM protocols that
adapt between single writer and multiple writer. In Proc. of the 3rd IEEE Symp. on
High-Performance Computer Architecture (HPCA-3), pages 261271, 1997.
[9] A. C. Arpaci-Dusseau, D. E. Culler, and M. Mainwaring. Scheduling with Implicit
Information in Distributed Systems. In Proceedings of ACM SIGMETRICS98, pages
233248, August 1998.
[10] M. Arunachalam, A. Choudhary, and B. Rullman. Implementation and evaluation of
prefetching in the Intel Paragon Parallel File System. In Proceedings of the Tenth Inter-
national Parallel Processing Symposium, pages 554559, April 1996.
[11] T. Back. Optimization by means of genetic algorithms. In E. Khler, editor, 36th Inter-
national Scientic Colloquium, pages 163169, Technical University of Ilmenau, 1991.
80
[12] M. Baker. Cluster computing white paper. http://www.dcs.port.ac.uk/
mab/tfcc/WhitePaper/WhitePaper.htm, 2000.
[13] S. Baluja and S. Fahlman. Reducing network depth in the cascade-correlation learning
architecture. Technical Report CMU-CS-94-209, Computer Science Department, Car-
negie Mellon University, Pittsburgh, PA, October 1994.
[14] A. Barak and A. Braverman. Memory ushering in a scalable computing cluster. In Proc.
IEEE Third Int. Conf. on Algorithms and Architecture for Parallel Processing, 1997.
[15] A. Barak and O. Laadan. The MOSIX multicomputer operating system for high per-
formance cluster computing. Future Generation Computer Systems, 13(45):361372,
1998.
[16] G. A. Barreto and A. F. R. Arajo. A self-organizing narx network and its application to
prediction of chaotic time series. In Proc. of the IEEE-INNS Int. Joint Conf. on Neural
Networks, (IJCNN01), volume 3, pages 21442149, Washington, D.C., 2001.
[17] G. A. Barreto and A. F. R. Araujo. Identication and control of dynamical systems
using the self-organizing map. In Special issue of IEEE TNN on temporal coding, pages
12441259, 2004.
[18] B. Barrett, J. Squyres, and A. Lumsdaine. Integration of the LAM/MPI environment and
the PBS scheduling system. In Proceedings, 17th Annual International Symposium on
High Performance Computing Systems and Applications, Quebec, Canada, May 2003.
[19] R. Barve, M. Kallahalla, P. J. Varman, and J. S. Vitter. Competitive parallel disk pre-
fetching and buffer management. In Proceedings of the Fifth Workshop on Input/Output
in Parallel and Distributed Systems, pages 4756, San Jose, CA, November 1997. ACM
Press.
[20] T. Bayes. An essay towards solving a problem in the doctrine of chances. In Philosophi-
cal Transactions of the Royal Society of London, www.stat.ucla.edu/history/essay.pdf,
1763.
[21] A. J. Bell and T. J. Sejnowski. An information-maximization approach to blind separa-
tion and blind deconvolution. Neural Computation, 7(6):11291159, 1995.
[22] B. N. Bershad and M. J. Zekauskas. Midway: Shared memory parallel programming
with entry consistency for distributed memory multiprocessors. Technical Report CMU-
CS-91-170, Carnegie Mellon University, Pittsburgh, PA (USA), 1991.
[23] G. Bianchi and I. Tinnirello. Kalman lter estimation of the number of competing ter-
minals in an ieee 802.11 network. In INFOCOM 2003. Twenty-Second Annual Joint
Conference of the IEEE Computer and Communications Societies. IEEE, volume 2, pa-
ges 844852 vol.2, 2003.
[24] R. Bianchini, L. I. Kontothanassis, R. Pinto, M. De Maria, M. Abud, and C. L. Amorim.
Hiding communication latency and coherence overhead in software DSMs. In Proc.
of the 7th Symp. on Architectural Support for Programming Languages and Operating
Systems (ASPLOSVII), pages 198209, 1996.
81
[25] R. Bianchini, R. Pinto, and C. L. Amorim. Data prefetching for software dsms. In
Proceedings of the 12th international conference on Supercomputing, pages 385392.
ACM Press, 1998.
[26] S. A. Billings and G. L. Zheng. Radial basis function network conguration using gene-
tic algorithms. Neural Networks., 8(6):877890, 1995.
[27] G. Bolch, S. Greiner, H. de Meer, and K. S. Trivedi. Queueing networks and Mar-
kov chains: modeling and performance evaluation with computer science applications.
Wiley-Interscience, New York, NY, USA, 1998.
[28] A. G. Bors and I. Pitas. Median radial basis function neural network. IEEE Transactions
on Neural Networks, 7(6):135164, 1996.
[29] R. Bouckaert. Properties of measures for bayesian belief network learning. In 10th Conf.
Uncertainty in Articial Intelligence, Seattle, WA, 1994., 1994.
[30] G. E. P. Box and G. Jenkins. Time Series Analysis, Forecasting and Control. Holden-
Day, Incorporated, 1990.
[31] P. S. Bradley, U. M. Fayyad, and C. Reina. Scaling clustering algorithms to large data-
bases. In Knowledge Discovery and Data Mining, pages 915, 1998.
[32] T. Brecht and K. Guha. Using Parallel Program Characteristics in Dynamic Processor
Allocation Policies. Performance Evaluation, 27/28(4):519539, 1996.
[33] G. Burns, R. Daoud, and J. Vaigl. LAM: An Open Cluster Environment for MPI. In
Proceedings of Supercomputing Symposium, pages 379386, 1994.
[34] V. Burzevski and C. Mohan. Hierarchical growing cell structures. In ICNN96: Proc.
Intl. Conf. Neural Networks, June 1996.
[35] R. Buyya. High Performance Cluster Computing: Architectures and Systems. Prentice
Hall PTR, Upper Saddle River, NJ, USA, 1999.
[36] S. Byna, Xian-He Sun, W. Gropp, and R. Thakur. Predicting memory-access cost based
on data-access patterns. In CLUSTER 04: Proceedings of the 2004 IEEE International
Conference on Cluster Computing, pages 327336, Washington, DC, USA, 2004. IEEE
Computer Society.
[37] C. Campbell. Constructive learning techniques for designing neural network systems.
In Neural Network Systems Technologies and Applications, 1997.
[38] P. Cao, E. W. Felten, A. R. Karlin, and K. Li. A study of integrated prefetching and
caching stategies. In Proceedings of the 1995 ACM SIGMETRICS joint international
conference on Measurement and modeling of computer systems, pages 188197. ACM
Press, May 1995.
[39] G. A. Carpenter. Neural network models for pattern recognition and associative memory.
Neural Networks, 2:243257, 1989.
82
[40] G. A. Carpenter and S. Grossberg. Art 2: Selforganisation of stable category recognition
codes for analog input patterns. Applied Optics, 26:49194930, 1987.
[41] G. A. Carpenter and S. Grossberg. Art3: Hierarchical search using chemical transmitters
in self-organizing pattern recognition architectures. Neural Networks, 3:129152, 1990.
[42] G. A. Carpenter, S. Grossberg, N. Markuzon, J.H. Reynolds, and D.B. Rosen. Fuzzy
artmap: A neural network architecture for incremental supervised learning of analog
multidimensional maps. IEEE Transactions on Neural Networks, 3(5):698713, Sep-
tember 1992.
[43] G. A. Carpenter, S. Grossberg, and J.H. Reynolds. Artmap: Supervised real-time lear-
ning and classication of nonstationary data by a self-organizing neural network. Neural
Networks, 4:565588, 1991.
[44] G. A. Carpenter, S. Grossberg, and D.B. Rosen. Fuzzy art: Fast stable learning and
categorization of analog patterns by an adaptive resonance system. Neural Networks,
4:759771, 1991.
[45] M. W. Chang, B. J. Chen, and C. J. Lin. Eunite network competition: Electricity load
forecasting. citeseer.ist.psu.edu/677671.html.
[46] G. J. Chappell and J. G. Taylor. The temporal kohonen map. Neural Networks Journal,
6(3):441445, 1993.
[47] G. Cheng and A. Zell. Externally growing cell structures for pattern classication. In
H. Bothe and R. Rojas, editors, Proceeding of the ICSC Symposia on Neural Computa-
tion (NC2000) May 23-26, 2000 in Berlin, Germany. ICSC Academic Press, 2000.
[48] J. Cheng and R. Greiner. Learning Bayesian belief network classiers: Algorithms and
system. Lecture Notes in Computer Science, 2056:141??, 2001.
[49] K. S. Cho and S. Y. Lee. Implementation of infomax ica algorithm with analog cmos
circuits. citeseer.ist.psu.edu/554958.html, 2001.
[50] P. Chung. Checkpointing in cosmic: a user-level process migration environment, 1997.
[51] M. Codish and C. Taboch. A semantic basis for termination analysis of logic programs
and its realization using symbolic norm constraints. In ALP/HOA, pages 3145, 1997.
[52] S. Cohn, N. Sivakumaran, and R. Todling. A xed-lag kalman smoother for retrospective
data assimilation. In Mon. Wea. Rev., 122, pages 28382867., 1994.
[53] F. F. Computer. Fast, single-pass k-means algorithms.
http://citeseer.ist.psu.edu/327212.html.
[54] J. Corbalan, X. Martorell, and J. Labarta. Improving Gang Scheduling through Job Per-
formance Analysis and Malleability. In International Conference on Supercomputing,
pages 303311, Sorrento, Italy, June 2001.
83
[55] T. Cortes. Cooperative Caching and Prefetching in Parallel/Distributed File Systems.
PhD thesis, UPC: Universitat Politcnica de Catalunya, Barcelona, Spain, 1997.
[56] T. Cortes, S. Girona, and J. Labarta. PACA: A cooperative le system cache for parallel
machines. Technical Report 96-07, UPC-CEPBA, 1996.
[57] T. Cortes, S. Girona, and J. Labarta. Avoiding the cache-coherence problem in a paral-
lel/distributed le system. Technical Report UPC-CEPBA-1996-13, UPC-CEPBA, May
1997.
[58] T. Cortes, S. Girona, and J. Labarta. Design issues of a cooperative cache with no
coherence problems. In Proceedings of the Fifth Workshop on Input/Output in Parallel
and Distributed Systems, pages 3746, San Jose, CA, November 1997. ACM Press.
[59] T. Cortes and J. Labarta. Linear aggressive prefetching: A way to increase the perfor-
mance of cooperative caches. In Proceedings of the Joint International Parallel Proces-
sing Symposium and IEEE Symposium on Parallel and Distributed Processing, pages
4554, San Juan, Puerto Rico, April 1999.
[60] Toni Cortes, Sergi Girona, and Jess Labarta. Avoiding the cache-coherence problem in
a parallel/distributed le system. In Proceedings of High-Performance Computing and
Networking, pages 860869, April 1997.
[61] A. Damminda, H. K. Saman, and S. Bala. Dynamic self-organizing maps with controlled
growth for knowledge discovery. IEEE Transactions on Neural Networks, 11(3):601
614, May 2000.
[62] S. P. Day and M. R. Davenport. Continuous-time temporal back-propagation with adap-
table time delays. IEEE Transactions on Neural Networks, 4(2):348354, March 1993.
[63] J. Fernndez de Canete, A. Garca-Cerezo, I. Garca-Moral, A. Garca-Gonzlez, and
C. Macas. Control architecture based on radial basis function network. application to a
uid level system. In NICROSP 96: Proceedings of the 1996 International Workshop
on Neural Networks for Identication, Control, Robotics, and Signal/Image Processing
(NICROSP 96), page 254, Washington, DC, USA, 1996. IEEE Computer Society.
[64] J. M. del Rosario and A. Choudhary. High performance I/O for parallel computers:
Problems and prospects. IEEE Computer, 27(3):5968, March 1994.
[65] M. V. Devarakonda and R. K. Iyer. Predictability of Process Resource Usage: A
Measurement-based Study on UNIX. IEEE Transactions on Software Engineering,
15(12):15791586, 1989.
[66] M. Ding, Q. Zhou, and Q. Wang. The application of self-adaptive kalman lter in
ngimu/gps integrated navigation system. In ISDA 06: Proceedings of the Sixth Inter-
national Conference on Intelligent Systems Design and Applications (ISDA06), pages
6165, Washington, DC, USA, 2006. IEEE Computer Society.
[67] G. Doblinger. An adaptive kalman lter for the enhancement of noisy ar signals, 1998.
84
[68] E. Dodonov. Um mecanismo integrado de Cache e Prefetching para sistemas de entrada
e sada de alto desempenho. Masters thesis, DC/UFSCar, February 2004.
[69] E. Dodonov. Instrumentando e monitorando aplicativos. http://www.dicas-
l.com.br/dicas-l/20060427.php, 2006.
[70] E. Dodonov. Statmonitor project. http://statmonitor.sourceforge.net/, 2006.
[71] E. Dodonov and R. F. de Mello. A model for automatic on-line process behavior ex-
traction, classication and prediction in heterogeneous distributed systems. In CCGRID
07: Proceedings of the Seventh IEEE International Symposium on Cluster Computing
and the Grid, pages 899904, Washington, DC, USA, 2007. IEEE Computer Society.
[72] E. Dodonov, R. Mello, and L. T. Yang. Adaptive technique for automatic communication
access pattern discovery applied to data prefetching in distributed applications using
neural networks and stochastic models. In Proceedings of the ISPA-06, November 2006.
[73] E. Dodonov, R. F. Mello, and L. T. Yang. A network evaluation for lan, man and wan
grid environments. In Laurence Tianruo Yang, Makoto Amamiya, Zhen Liu, Minyi Guo,
and Franz J. Rammig, editors, EUC, volume 3824 of Lecture Notes in Computer Science,
pages 11331146. Springer, 2005.
[74] E. Dodonov, J. Q. Sousa, and H. C. Guardia. Gridbox: securing hosts from malicious
and greedy applications. In Proceedings of the 2nd workshop on Middleware for grid
computing, pages 1722, New York, NY, USA, 2004. ACM Press.
[75] Zmray Dokur and Tamer lmez. Segmentation of ultrasound images by using a hybrid
neural network. Pattern Recogn. Lett., 23(14):18251836, 2002.
[76] D. Dharbe. A tutorial introduction to symbolic model checking. Logic for concurrency
and synchronisation, 1:215237, 2003.
[77] A. L. Erkki. Time series prediction competition: The cats benchmark. cite-
seer.ist.psu.edu/734570.html.
[78] M. Er nansk, M. Makula, and U. Be nukov. Organization of the state space of a simple
recurrent network before and after training on recursive linguistic structures. Neural
Networks., 20(2):236244, 2007.
[79] G. Evensen. An ensemble kalman smoother for nonlinear dynamics. In Mon. Weather
Rev., 128, pages 18521867, 2000.
[80] R. Everson and S. Roberts. Non-stationary independent component analysis. In Proce-
edings of ICANN-99, 1999.
[81] S. E. Fahlman and C. Lebiere. The cascade-correlation learning architecture. In D. S.
Touretzky, editor, Advances in Neural Information Processing Systems, volume 2, pages
524532, Denver 1989, 1990. Morgan Kaufmann, San Mateo.
85
[82] W. Fang, C. L. Wang, W. Zhu, and F. C. M. Lau. Pat: a postmortemobject access pattern
analysis and visualization tool. In CCGRID 2004, 4th IEEE/ACM International Sympo-
sium on Cluster Computing and the Grid (CCGrid 2004), April 19-22, 2004, Chicago,
Illinois, USA, pages 379386. IEEE Computer Society, 2004.
[83] I. Farkas and L. Chudy. Modied dynamic cell structures as a thinning algorithm. In
Proc. of 1-st Slovak Neural Network Symposium, pages 7180, November 1996.
[84] U. M. Fayyad, C. Reina, and P. S. Bradley. Initialization of iterative renement clustering
algorithms. In Knowledge Discovery and Data Mining, pages 194198, 1998.
[85] D. G. Feitelson, L. Rudolph, U. Schwiegelshohn, K. C. Sevcik, and P. Wong. Theory and
Practice in Parallel Job Scheduling. In Job Scheduling Strategies for Parallel Processing,
volume 1291, pages 134. Springer Verlag, 1997. Lect. Notes Comput. Sci. vol. 1291.
[86] S. Fine, Y. Singer, and N. Tishby. The hierarchical hidden markov model: Analysis and
applications. Machine Learning, 32(1):4162, 1998.
[87] P. C. Fischer. On formalisms for turing machines. J. ACM, 12(4):570580, 1965.
[88] B. D. Fleisch and G. J. Popek. Mirage: A coherent distributed shared memory design.
In SOSP12, pages 211223, December 1989.
[89] J. A. Freeman and D. M. Skapura. Neural networks: algorithms, applications, and
programming techniques. Addison Wesley Longman Publishing Co., Inc., Redwood
City, CA, USA, 1991.
[90] J. A. Freeman and D. M. Skapura. Neural Networks: Algorithms, Applications and
Programming Techniques. Addison-Wesley, 1991.
[91] B. Fritzke. A growing neural gas network learns topologies. In G. Tesauro, D. S. Tou-
retzky, and T. K. Leen, editors, Advances in Neural Information Processing Systems 7,
pages 625632. MIT Press, Cambridge MA, 1995.
[92] B. Fritzke. A self-organizing network that can follow non-stationary distributions. In
ICANN97: International Conference on Articial Neural Networks, pages 613618.
Springer, 1997.
[93] G. R. Ganger, B. L. Worthington, R. Y. Hou, and Y. N. Patt. Disk subsystem load
balancing: Disk striping vs. conventional data placement. In Proceedings of the Twenty-
Sixth Annual Hawaii International Conference on System Sciences, volume I, pages 40
49, 1993.
[94] H. Gao, R. Sollacher, and H. P. Kriegel. Spiral recurrent neural network for online
learning. In Proceedings of 15th European Symposium on Articial Neural Networks,
pages 483488, 2007.
[95] A. Felix Gers and Juergen Schmidhuber. Long short-term memory learns context free
and context sensitive languages. In IDSIA-03-00, 25 2000.
86
[96] F. Gers. Long short term memory in recurrent neural networks. cite-
seer.ist.psu.edu/article/gers01long.html, 2001.
[97] F. Gers, N. Schraudolph, and J. Schmidhuber. Learning precise timing with lstm recur-
rent networks. In Journal of Machine Learning Research, volume 3, pages 115143,
2002.
[98] F.A. Gers, F.A. Gers, and J. Schmidhuber. Recurrent nets that time and count. In J. Sch-
midhuber, editor, Proc. IEEE-INNS-ENNS International Joint Conference on Neural
Networks IJCNN 2000, volume 3, pages 189194 vol.3, 2000.
[99] R. Gibbons. A Historical Application Proler for Use by Parallel Schedulers. In Job
Scheduling Strategies for Parallel Processing, pages 5877. Springer Verlag, 1997.
[100] F. Giunchiglia and P. Traverso. Planning as model checking. In ECP, pages 120, 1999.
[101] R. Goularte, R. F. De Mello, E. Dodonov, and L. T. Yang. A model to estimate transco-
ding costs applied in live-video transmissions. IPC, 0:341348, 2007.
[102] W. Gropp, E. Lusk, N. Doss, and A. Skjellum. A high-performance, portable implemen-
tation of the MPI message passing interface standard. Parallel Computing, 22(6):789
828, September 1996.
[103] W. D. Gropp and E. Lusk. Users Guide for mpich, a Portable Implementation of
MPI. Mathematics and Computer Science Division, Argonne National Laboratory, 1996.
ANL-96/6.
[104] Hlio Crestana Guardia. Consideraes sobre as estratgias de um Sistema de Arquivos
Paralelos integrado ao processamento distribudo. PhD thesis, EPUSP, 1999.
[105] H. Guo and W. Hsu. A survey on algorithms for real-time bayesian network inference. In
joint AAAI-02/KDD-02/UAI-02 workshop on Real-Time Decision Support and Diagnosis
Systems, 2002.
[106] M. Hagiwara. Boltzmann machine learning and mean eld theory learning with momen-
tum terms. Journal of Articial Neural Networks, 2(1-2):1725, 1995.
[107] F. Hamker and D. Heinke. Implementation and comparison of growing neural gas. In
Technical Report 1/97, Technical University of Ilmenau, 1997.
[108] J. Hammerton. Named entity recognition with long short-term memory. In Proceedings
of the seventh conference on Natural language learning at HLT-NAACL 2003, pages
172175, Morristown, NJ, USA, 2003. Association for Computational Linguistics.
[109] L. Hansen, J. Larsen, and T. Kolenda. On independent component analysis for multime-
dia signals. In Multimedia Image and VideoProcessing, CRC Press, 2000, 2000.
[110] M. Harchol-Balter and A. B. Downey. Exploiting Process Lifetimes Distributions for
Dynamic Load Balancing. ACM Transactions on Computer Systems, 15(3):253285,
August 1997.
87
[111] P. Haslum. Model checking by random walk. In Proceedings of ECSEL Workshop, 1999.
[112] Ji He, Ah-Hwee Tan, and Chew-Lim Tan. Modied art 2a growing network capable of
generating a xed number of nodes. IEEE Transactions on Neural Networks, 15(3):728
737, 2004.
[113] D. O. Hebb. The Organization of Behavior. John Wiley, New York, 1949.
[114] D. Heckerman. A tutorial on learning with bayesian networks.
http://citeseer.ist.psu.edu/heckerman96tutorial.html, 1995.
[115] M. Rauch Henzinger, T. A. Henzinger, and P. W. Kopke. Computing simulations on
nite and innite graphs. In IEEE Symposium on Foundations of Computer Science,
pages 453462, 1995.
[116] L. J. Heyer, S. Kruglyak, and S. Yooseph. Exploring expression data: Identication and
analysis of coexpressed genes. Genome Res., 9(11):11061115, November 1999.
[117] S. Hirose, K. Shimizu, S. Kanai, Yu. Kuroda, and T. Noguchi. Poodle-l: a two-level
svm prediction system for reliably predicting long disordered regions. Bioinformatics,
23(16):20462053, 2007.
[118] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Computation,
9(8):17351780, 1997.
[119] P. Hjen-Srensen, L. Hansen, and O. Winther. Mean eld implementation of bayesian
ICA. In In proceedings of 3rd International Conference on Independent Component
Analysis and Blind Signal Separation (ICA2001). Institute of Neural Computation, 2001.
[120] J. J. Hopeld. Neural networks and physical systems with emergent collective compu-
tational abilities. Neurocomputing: foundations of research, pages 457464, 1988.
[121] X. Hu, D. V. Prokhorov, and D. C. Wunsch II. Time series prediction with a weighted
bidirectional multi-stream extended kalman lter. Neurocomput., 70(13-15):23922399,
2007.
[122] K. Huang, I. King, and M. Lyu. Constructing a large node chow-liu tree based on fre-
quent itemsets. In Proceedings of the International Conference on Neural Information
Processing (ICONIP2002), 2002.
[123] A. Hyvrinen. Fast and robust xed-point algorithms for independent component analy-
sis. IEEE Transactions on Neural Networks, 10(3):626634, 1999.
[124] Paragon XP/S product overview. Intel Corporation, 1991.
[125] T. Jaditz. Time series prediction: Forecasting the future and understanding the past
: Andreas s. weigend and neil a. gershenfeld, eds., (reading, ma: Addison-we. Jour-
nal of Economic Behavior & Organization, 26(2):302305, March 1995. available at
http://ideas.repec.org/a/eee/jeborg/v26y1995i2p302-305.html.
[126] H. Jaeger. Echo state network. Scholarpedia, 2(9):2330, 2007.
88
[127] H. Jahanian, G. A. Hossein-Zadeh, H. Soltanian-Zadeh, and B. A. Ardekani. Control-
ling the false positive rate in fuzzy clustering using randomization: application to fmri
activation detection. Magnetic Resonance Imaging, 22(5):631638, June 2004.
[128] R. Jain. The Art of Computer Systems Performance Analysis: Techniques for Experi-
mental Design, Measurement, Simulation, and Modeling. John Wiley and Sons, 1991.
[129] D. Jiang, C. Tang, and A. Zhang. Cluster analysis for gene expression data: A survey.
IEEE Transactions on Knowledge and Data Engineering, 16(11):13701386, 2004.
[130] M. Kallahalla and P. J. Varman. Optimal prefetching and caching for parallel I/O sys-
tems. In Proceedings of the Thirteenth Symposium on Parallel Algorithms and Architec-
tures, pages 219228. ACM Press, July 2001.
[131] R. E. Kalman. A new approach to linear ltering and prediction problems. Transactions
of the ASMEJournal of Basic Engineering, 82(Series D):3545, 1960.
[132] T. Kanungo, D. M. Mount, N. S. Netanyahu, C. D. Piatko, R. Silverman, and A. Y. Wu.
An efcient k-means clustering algorithm: Analysis and implementation. IEEE Trans.
Pattern Anal. Mach. Intell., 24(7):881892, 2002.
[133] S. Kaski and E. Oja. Kohonen Maps. Elsevier Science Inc., New York, NY, USA, 1999.
[134] P. Keleher, S. Dwarkadas, A. L. Cox, and W. Zwaenepoel. Treadmarks: Distributed
shared memory on standard workstations and operating systems. In Proc. of the Winter
1994 USENIX Conference, pages 115131, 1994.
[135] D. Keskar and M. Leibowitz. Speeding up openofce . proling, tools, approaches. In
OpenOfce.org Conference, 2005.
[136] S. Kim, S. Imoto, and S. Miyano. Dynamic bayesian network and nonparametric regres-
sion for nonlinear modeling of gene networks from time series gene expression data.
Biosystems, 75(1-3):5765, July 2004.
[137] S.-J. Kim and R.A. Iltis. Performance comparison of particle and extended kal-
man lter algorithms for gps c/a code tracking and interference rejection. cite-
seer.ist.psu.edu/article/kim02performance.html.
[138] T. Kimbrel and A. R. Karlin. Near-optimal parallel prefetching and caching. In IEEE
Symposium on Foundations of Computer Science, pages 540549, 1996.
[139] T. Kimbrel, A. Tomkins, R. H. Patterson, B. Bershad, P. Cao, E. Felten, G. Gibson, A. R.
Karlin, and K. Li. A trace-driven comparison of algorithms for parallel prefetching
and caching. In Proceedings of the 1996 Symposium on Operating Systems Design and
Implementation, pages 1934. USENIX Association, October 1996.
[140] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing.
Science, Number 4598, 13 May 1983, 220, 4598:671680, 1983.
89
[141] S. Kirshner, P. Smyth, and A. W. Robertson. Conditional chow-liu tree structures for
modeling discrete-valued vector time series. In AUAI 04: Proceedings of the 20th
conference on Uncertainty in articial intelligence, pages 317324, Arlington, Virginia,
United States, 2004. AUAI Press.
[142] M. Kohler. Using the kalman lter to track human interactive motion - modelling and ini-
tialization of the kalman lter for translational motion. Technical Report 629/1997, Fa-
chbereich Informatik, Universitt Dortmund, Fachbereich Informatik, Universitt Dort-
mund, 44221 Dortmund, Germany, 1997.
[143] T. Kohonen, S. Kaski, K. Lagus, J. Salojrvi, J. Honkela, V. Paatero, and A. Saarela.
Self organization of a massive document collection. In IEEE Transactions on Neural
Networks, 2000.
[144] T. Koskela, M. Varsta, J. Heikkonen, and K. Kaski. Time series prediction using RSOM
with local linear modesl. Technical Report B15, Helsinki University of Technology,
Espoo, Finland, 1997.
[145] D. Kotz. Bibliography about Parallel I/O. Available on the WWW at
http://www.cs.dartmouth.edu/pario/bib/, 19942000.
[146] D. Kotz and C. S. Ellis. Practical prefetching techniques for parallel le systems. In Pro-
ceedings of the First International Conference on Parallel and Distributed Information
Systems, pages 182189. IEEE Computer Society Press, December 1991.
[147] D. Kotz and C. S. Ellis. Caching and writeback policies in parallel le systems. Journal
of Parallel and Distributed Computing, 17(12):140145, January and February 1993.
[148] D. Kotz and C. S. Ellis. Practical prefetching techniques for multiprocessor le systems.
Journal of Distributed and Parallel Databases, 1(1):3351, January 1993.
[149] D. Kotz and C. S. Ellis. Practical prefetching techniques for multiprocessor le sys-
tems. In Hai Jin, Toni Cortes, and Rajkumar Buyya, editors, High Performance Mass
Storage and Parallel I/O: Technologies and Applications, chapter 17, pages 245258.
IEEE Computer Society Press and John Wiley & Sons, New York, NY, 2001.
[150] D. Kotz and N. Nieuwejaar. Dynamic le-access characteristics of a production parallel
scientic workload. In Proceedings of Supercomputing 94, pages 640649, Washing-
ton, DC, November 1994. IEEE Computer Society Press.
[151] D. Kotz and N. Nieuwejaar. Flexibility and performance of parallel le systems. ACM
Operating Systems Review, 30(2):6373, April 1996.
[152] David Kotz. Prefetching and Caching Techniques in File Systems for MIMD Multi-
processors. PhD thesis, Duke University, April 1991. Available as technical report
CS-1991-016.
[153] S. C. Kremer. On the computational power of elman-style recurrent networks. Neural
Networks, IEEE Transactions on, 6(4):10001004, 1995.
90
[154] T. M. Kroeger and D. D. E. Long. The case for efcient le access pattern modeling. In
Workshop on Hot Topics in Operating Systems, pages 1419, 1999.
[155] B. Krse and P. van der Smagt. An introduction to neural networks. URL
ftp://ftp.informatik.uni-freiburg.de/papers/neuro/ann_intro_smag.ps.gz, The University
of Amsterdam, 1996.
[156] M. Kunze and J. Steffens. Growing cell structure and neural gas; incremental neural
networks, 1995.
[157] J. Lampinen and E. Oja. Self-organizing maps for spatial and temporal AR models.
In Matti Pietikinen and Juha Rning, editors, Proc. 6 SCIA, Scand. Conf. on Image
Analysis, pages 120127, Helsinki, Finland, 1989. Suomen Hahmontunnistustutkimuk-
sen seura r. y.
[158] C. R. F. Lara. Projeto de um servidor de vdeo sob demanda paralelo e distribudo.
Masters thesis, DC/UFSCar, 2003.
[159] A. Lendasse, M. Cottrell, V. Wertz, and M. Verleysen. Prediction of electric load using
kohonen mapsapplication to the polish electricity consumption. In Proceedings of the
American control conference, pages 36843689, 2002.
[160] U. Lerner. Hybrid bayesian networks for reasoning about complex systems. In PhD
thesis, Stanford University, October 2002.
[161] J. M. Leski. An insensitive fuzzy c-means clustering. citeseer.ist.psu.edu/550525.html.
[162] Z. Li. Computational design and nonlinear dynamics of a recurrent network model of
the primary visual cortex. Neural Computation, 13(8):17491780, 2001.
[163] T. W. Liao, Aivars K. Celmins, and II Robert J. Hammell. A fuzzy c-means variant for
the generation of fuzzy term sets. Fuzzy Sets Syst., 135(2):241257, 2003.
[164] C. Loiseaux, S. Graf, J. Sifakis, A. Bouajjani, and S. Bensalem. Property preserving abs-
tractions for the verication of concurrent systems. Formal Methods in System Design,
6(1):1144, 1995.
[165] Q. Ma and J. Wang. Application of bayesian neural networks to protein sequence classi-
cation. In ACM SIGKDD International Conference on Knowledge Discovery and Data
Mining, pages 305309, 2000.
[166] P. Makh. Competitive learning. http://www.makh.com/tutorial/clearn.htm, 2006.
[167] S. Marsland, J. Shapiro, and U. Nehmzow. A self-organising network that grows when
required. Neural Networks, 15(8-9):10411058, 2002.
[168] M. Martin, P. Harper, D. Sorin, M. Hill, and D. Wood. Using destination-set prediction
to improve the latency /bandwidth tradeoff in shared memory multiprocessors. In Pro-
ceedings of the 30th Annual International Symposium on Computer Architecture, June
2003.
91
[169] R. F. Mello. Proposta e avaliao de desempenho de um algoritmo de balanceamento de
carga para ambientes distribudos heterogneos escalveis. Tese (Doutorado) - Escola
de Engenharia de So Carlos, Universidade de So Paulo, So Paulo, 2003.
[170] R. F. Mello, J. A. Andrade, E. Dodonov, R. P. Ishii, and L. T. Yang. Optimizing distribu-
ted data access in grid environments by using articial intelligence techniques. In Ivan
Stojmenovic, Ruppa K. Thulasiram, Laurence Tianruo Yang, Weijia Jia, Minyi Guo, and
Rodrigo Fernandes de Mello, editors, ISPA, volume 4742 of Lecture Notes in Computer
Science, pages 125136. Springer, 2007.
[171] R. F. Mello and L. J. Senger. Anewmigration model based on the evaluation of processes
load and lifetime on heterogeneous computing environments. In 16th Symposium on
Computer Architecture and High Performance Computing (SBAC2004), pages 222
227, Foz do Iguau, PR, Brazil, 2004.
[172] R. F. Mello, L. J. Senger, and L. T. Yang. Automatic text classication using an articial
neural network. High Performance Computational Science and Engineering, 1:121,
2005.
[173] A. Meng. An introduction to markov and hidden markov models.
http://www2.imm.dtu.dk/pubdb/p.php?3313, oct 2003.
[174] C. D. Mitchell, R. A. Helzerman, L. H. Jamieson, and M. P. Harper. A parallel imple-
mentation of a hidden markov model with duration modeling for speech recognition. In
Digital Signal Processing, A Review Journal, 5(1), pages 298306, 1995.
[175] F. Murtagh and A. Aussem. New problems and approaches related to large databases in
astronomy. citeseer.ist.psu.edu/92142.html, 1998.
[176] H. Mhlenbein and T. Mahnig. Evolutionary algorithms and the boltzmann distribution.
citeseer.ist.psu.edu/730848.html.
[177] M. Mller-Olm, D. A. Schmidt, and B. Steffen. Model-checking: Atutorial introduction.
In SAS 99: Proceedings of the 6th International Symposium on Static Analysis, pages
330354, London, UK, 1999. Springer-Verlag.
[178] W. E. Nagel, A. Arnold, M. Weber, H. C. Hoppe, and K. Solchenbach. VAMPIR: Visu-
alization and analysis of MPI resources. Supercomputer, 12(1):6980, 1996.
[179] V. K. Naik, S. K. Setia, and M. S. Squillante. Processor Allocation in Multiprogrammed
Distributed-memory Parallel Computer Systems. Journal of Parallel and Distributed
Computing, 47(1):2847, 1997.
[180] S. Nakamori, R. Caballero-guila, A. Hermoso-Carazo, J. Jimnez-Lpez, and
J. Linares-Prez. Signal estimation algorithm from uncertain observations with signal
and coloured noise correlated at any sampling time. In MIC06: Proceedings of the
25th IASTED international conference on Modeling, indentication, and control, pages
411416, Anaheim, CA, USA, 2006. ACTA Press.
92
[181] N. Nieuwejaar, D. Kotz, A. Purakayastha, C. S. Ellis, and M. Best. File-access cha-
racteristics of parallel scientic workloads. Technical Report PCS-TR95-263, Dept. of
Computer Science, Dartmouth College, August 1995.
[182] F. Palacios-Gonzlez. Tvcar models for forecasting. Neurocomput., 70(13-15):2379
2391, 2007.
[183] V. Pavlovic, B. Frey, and T. S. Huang. Time series classication using mixed-state
dynamic bayesian networks. In IEEE Conf. Computer Vision and Pattern Recognition,
Ft. Collins, CO, 1999.
[184] J. A. Prez-Ortiz, F. A. Gers, D. E., and J. Schmidhuber. Kalman lters improve LSTM
network performance in problems unsolvable by traditional recurrent nets. In Neural
Networks, volume 16(2), 2003.
[185] D. Pham and J. Prince. An adaptive fuzzy c-means algorithm for image segmentation
in the presence of intensity inhomogeneities. In SPIE Medical Imaging 1998: Image
Processing, volume 3338, pages 555563, 1998.
[186] M. Piovoso and P. A. Laplante. Kalman lter recipes for real-time image processing.
Real-Time Imaging, 9(6):433439, 2003.
[187] A. B. Quadrado. Partool: Uma ferramenta semi-automtica de transposio de cdigo
fonte. Masters thesis, DC/UFSCar, 2003.
[188] C. Raphael. Automatic segmentation of acoustic musical signals using hidden markov
models. IEEE Trans. Pattern Anal. Mach. Intell., 21(4):360370, 1999.
[189] J. P. Rosca, D. Erdogmus, J. C. Prncipe, and S. Haykin, editors. Independent Com-
ponent Analysis and Blind Signal Separation, 6th International Conference, ICA 2006,
Charleston, SC, USA, March 5-8, 2006, Proceedings, volume 3889 of Lecture Notes in
Computer Science. Springer, 2006.
[190] G. Rufni, L. Cucurull, A. Flores, and A. Rius. A pim-aided kalman lter for gps
tomography of the ionospheric electron content. In Physics and Chemistry of the Earth,
1998.
[191] P. Runkle, L. Carin, L. Couchman, T. J. Yoder, and J. A. Bucaro. Multiaspect target
identication with wave-based matched pursuits and continuous hidden markov models.
IEEE Trans. Pattern Anal. Mach. Intell., 21(12):13711378, 1999.
[192] Neural N. Sabrine. Incremental construction of lstm recurrent neural network.
http://citeseer.ist.psu.edu/619652.html.
[193] M. Sakr, C. Giles, S. Levitan, B. Horne, M. Maggini, and D. Chiarulli. On-line prediction
of multiprocessor memory access patterns. In Proceedings of the IEEE International
Conference on Neural Networks, pages 15641569, 1996.
[194] S. Srkk, A. Vehtari, and J. Lampinen. Cats benchmark time series prediction by kal-
man smoother with cross-validated noise density. Neurocomput., 70(13-15):23312341,
2007.
93
[195] M. Schttner, M. Wende, R. Gckelmann, T. Bindhammer, U. Schmid, and
P. Schulthess. A gaming framework for a transactional dsm system. In CCGRID 2003,
3rd IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2003),
12-15 May 2003, Tokyo, Japan, pages 502509. IEEE Computer Society, 2003.
[196] M. Schuster. Fast k-means vector quantizer for very large amounts of data. cite-
seer.ist.psu.edu/9717.html.
[197] B. Schlkopf and A. J. Smola. Learning with Kernels: Support Vector Machines, Regu-
larization, Optimization, and Beyond (Adaptive Computation and Machine Learning).
The MIT Press, December 2001.
[198] L. J. Senger. An instance-based approach for predicting parallel application execution
times. In Proceedings of I2TS, Sao Carlos, Sao Paulo, Brazil, December 2004.
[199] L. J. Senger, R. F. Mello, M. J. Santana, and R. C. Santana. An on-line approach for
classifying and extracting application behavior on linux. In Laurence T. Yang and Minyi
Guo, editors, High Performance Computing: Paradigm and Infrastructure, chapter 20.
John Wiley and Sons, 2005.
[200] L. J. Senger, M. J. Santana, and R. H. C. Santana. Uma nova abordagem para a aqui-
siao de conhecimento sobre o comportamento de aplicaoes paralelas na utilizaao de
recursos. In Proceedings of WORKCOMP, pages 7985, Outubro 2002.
[201] L. J. Senger, M. J. Santana, and R. H. C. Santana. A new approach fo acquiring
knowledge of resource usage in parallel applications. In Proceedings of International
Symposium on Performance Evaluation of Computer and Telecommunication Systems
(SPECTS2003), pages 607614, 2003.
[202] L. J. Senger, M. J. Santana, and R. H. C. Santana. Using runtime measurements and
historical traces for acquiring knowledge in parallel applications. In International Con-
ference on Computational Science (ICCS) (to appear). Springer Lect. Notes Comput.
Sci., 2004.
[203] K. C. Sevcik. Characterizations of Parallelism in Applications and their use in Schedu-
ling. Performance Evaluation Review, 17(1):171180, May 1989.
[204] P. Shah, J. F. Pris, and A. Amer. dentifying stable le access patterns. In Procee-
dings of the 21st IEEE/12th NASA Goddard Conference on Mass Storage Systems and
Technologies (MSST 2004), pages 230240, 2004.
[205] F. A. B. D. Silva and I. D. Scherson. Improving Parallel Job Scheduling Using Runtime
Measurements. In Dror G. Feitelson and Larry Rudolph, editors, Job Scheduling Strate-
gies for Parallel Processing, pages 1838. Springer Verlag, 2000. Lect. Notes Comput.
Sci. vol. 1911.
[206] M. Skubiszewski. A hardware emulator for binary neural networks. In Proceedings of
the International Neural Network Conference, volume 2, pages 555558, 1990.
94
[207] M. Skubiszewski. An exact hardware implementation of the boltzmann machine. In
SPDP: 4th IEEE Symposium on Parallel and Distributed Processing. ACM Special In-
terest Group on Computer Architecture (SIGARCH), and IEEE Computer Society, 1992.
[208] P. Smith and N. C. Hutchinson. Heterogeneous process migration: The Tui system.
Software Practice and Experience, 28(6):611639, 1998.
[209] W. Smith, I. T. Foster, and V. E. Taylor. Predicting Application Run Times Using Histo-
rical Information. In JSSPP, pages 122142, 1998.
[210] P. Sollich. Bayesian methods for support vector machines: Evidence and predictive class
probabilities. Machine Learning, 46(1-3):2152, 2002.
[211] V. V. Soloviev. Prefetching in segmented disk cache for multi-disk systems. In Pro-
ceedings of the Fourth Workshop on Input/Output in Parallel and Distributed Systems,
pages 6982, Philadelphia, May 1996. ACM Press.
[212] E. A. Spessoto. Um mecanismo de ajuste dinmico para diminuio de latncia e do
tempo de resposta em sistemas de arquivos paralelo. Masters thesis, DC/UFSCar, 2003.
[213] C. Squires and J. Shavlik. Experimental analysis of aspects of the cascade-correlation le-
arning architecture. In Machine learning research group working paper 91-1, Computer
Sciences Department, University of Wisconsin-Madison., 1991.
[214] J. M. Squyres and A. Lumsdaine. A Component Architecture for LAM/MPI. In Pro-
ceedings, 10th European PVM/MPI Users Group Meeting, number 2840 in Lecture
Notes in Computer Science, pages 379387, Venice, Italy, September / October 2003.
Springer-Verlag.
[215] J. Steffens and M. Kunze. Implementation of the supervised growing cell structure on
the CNAPS neurocomputer. In F. Fogelman-Soulie and P. Gallinari, editors, ICANN
95. International Conference on Articial Neural Networks. Neuronimes 95 Scientic
Conference, volume 2, pages 516, Paris, France, 1995. EC2 & Cie.
[216] M. Steijvers and P. Grunwald. A recurrent network that performs a contextsensitive
prediction task. In Proceedings of the 18th Annual Conference of the Cognitive Science
Society, 1996.
[217] J. Sum, C. Leung, and L. Chan. Extended kalman lter in recurrent neural network trai-
ning and pruning. In Technical report CS-TR-96-05, Department of Computer Science
and Engineering, The Chinese University of Hong Kong, June 1996.
[218] J. A. K. Suykens and J. Vandewalle, editors. Nonlinear Modeling: Advanced Black-Box
Techniques (The K. U. Leuven Time Series Prediction Competition), pages 241251.
Kluwer Academic Publishers, 1998.
[219] N. A. Thacker, I. Abraham, and P. Courtney. Supervised learning extensions to the clam
network. Neural Networks., 10(2):315326, 1997.
[220] N. A. Thacker and J. E. W. Mayhew. Designing a layered network for context sensitive
pattern classication. Neural Networks., 3(3):291299, 1990.
95
[221] Simon Tong and Daphne Koller. Support vector machine active learning with applicati-
ons to text classication. In Pat Langley, editor, Proceedings of ICML-00, 17th Interna-
tional Conference on Machine Learning, pages 9991006, Stanford, US, 2000. Morgan
Kaufmann Publishers, San Francisco, US.
[222] G. K. Venayagamoorthy. 2007 special issue: Online design of an echo state network
based wide area monitor for a multimachine power system. Neural Networks, 20(3):404
413, 2007.
[223] D. Verstraten, B. Schrauwen, D. Stroobandt, and J. Van Campenhout. Isolated word
recognition with the liquid state machine: a case study. Inf. Process. Lett., 95(6):521
528, 2005.
[224] J. Vesanto. Using the SOM and local models in time-series prediction. In Proceedings
of WSOM97, Workshop on Self-Organizing Maps, Espoo, Finland, June 46, pages
209214. Helsinki University of Technology, Neural Networks Research Centre, Espoo,
Finland, 1997.
[225] M. Vinther. Independent component analysis of evoked potentials in eeg.
http://www.logicnet.dk/reports/EEG/ICA.htm, 2006.
[226] N. A. Vlassis, A. Dimopoulos, and G. K. Papakonstantinou. The probabilistic growing
cell structures algorithm. In ICANN 97: Proceedings of the 7th International Con-
ference on Articial Neural Networks, pages 649654, London, UK, 1997. Springer-
Verlag.
[227] G. M. Voelker, E. J. Anderson, T. Kimbrel, M. J. Feeley, J. S. Chase, A. R. Karlin, and
H. M. Levy. Implementing cooperative prefetching and caching in a globally-managed
memory system. In Proceedings of the Joint International Conference on Measurement
and Modeling of Computer Systems, pages 3343. ACM Press, June 1998.
[228] P. L. Wadler. Comprehending monads. In Proceedings of the 1990 ACM Conference on
LISP and Functional Programming, Nice, pages 6178, New York, NY, 1990. ACM.
[229] A. Waibel, T. Hanazawa, G. Hinton, K. Shikano, and K. Lang. Phoneme recognition
using time delay neural networks. IEEE Transactions on Accoustics, Speech and Signal
Processing, 37:328339, 1989.
[230] E. A. Wan and R. Van Der Merwe. The unscented kalman lter for nonlinear estimation.
In Adaptive Systems for Signal Processing, Communications, and Control Symposium
2000. AS-SPCC. The IEEE 2000, pages 153158, 2000.
[231] A. S. Weigend and N. A. Gershenfeld. Time series prediction: Forecasting the future
and understanding the past. In A. S. Weigend and N. A. Gershenfeld, editors, Santa Fe
Institute Studies in the Sciences of Complexity, Proceedings of the NATO Advanced Re-
search Workshop on Comparative Time Series Analysis, held in Santa Fe, New Mexico,
May 14-17, 1992, Reading, MA: Addison-Wesley, |c1994, edited by Weigend, Andreas
S.; Gershenfeld, Neil A., 1994.
96
[232] Y. Xi. An analytical model for buffer hit rate prediction. In MSc Thesis, Dept. of Com-
puting and Information Science, Queens University, June 2001.
[233] R. A. Yaffee and M. McGee. Introduction to Time Series Analysis and Forecasting: With
Applications of SAS and SPSS. Academic Press, Inc., Orlando, FL, USA, 2000.
[234] P. Yee and S. Haykin. A dynamic regularized radial basis function network for nonlinear.
In IEEE Transaction on Signal Processing, volume 47, pages 25032521, 1998.
[235] Y.Ishikawa, M.Matsuda, T.Kudoh, H.Tezuka, and S.Sekiguchi. The design of a latency-
aware mpi communication library. In SWOPP03, 2003.
[236] M.L. Yuan and M. Xie. An incremental representation of conceptual symbols using
rce neural network. In ICDL 02: Proceedings of the 2nd International Conference on
Development and Learning, page 102, Washington, DC, USA, 2002. IEEE Computer
Society.
[237] G. Udny Yule. On a method of investigating periodicities in disturbed series, with special
reference to wolfers sunspot numbers. Philosophical Transactions of the Royal Soci-
ety of London. Series A, Containing Papers of a Mathematical or Physical Character,
226:267298, 1927.
[238] N. Zhang and D. Poole. A simple approach to bayesian network computations. In
Proceedings of the Tenth Canadian Conference on Articial Intelligence, pages 171
178, 1994.
[239] J. Zhao and J. Shawe-Taylor. A recurrent network with stochastic weights. In Internal
Report, Department of Computer Science, Royal Holloway University of London., 1994.
[240] A. Zien, U. Brefeld, and T. Scheffer. Transductive support vector machines for struc-
tured variables. In Zoubin Ghahramani, editor, Proceedings of the 24th International
Conference on Machine Learning (ICML 2007), pages 11831190, Corvallis, Oregon,
USA, June 2007. ACM Press.
97