0% acharam este documento útil (0 voto)
826 visualizações22 páginas

HEbb

1. O documento apresenta os fundamentos das redes neurais artificiais com exemplos em Java. 2. É dedicado à Cloris Valença e agradece a contribuição de várias pessoas para a realização do livro. 3. Apresenta o sumário com os principais tópicos abordados: percepção, ADALINE, redes MLP, modelagem de redes MLP e rede de Kohonen.

Enviado por

Beto Casagrande
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
826 visualizações22 páginas

HEbb

1. O documento apresenta os fundamentos das redes neurais artificiais com exemplos em Java. 2. É dedicado à Cloris Valença e agradece a contribuição de várias pessoas para a realização do livro. 3. Apresenta o sumário com os principais tópicos abordados: percepção, ADALINE, redes MLP, modelagem de redes MLP e rede de Kohonen.

Enviado por

Beto Casagrande
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Fundamentos das Redes Neurais: exemplos em Java

Recife 2008

Copyringt by 2007 Muser Valena Impresso no Brasil Printed in Brazil Editor Tarcsio Pereira Diagramao Maria do Carmo de Oliveira Capa Valeska Martins Reviso Cloris Valena

V152a Valena, Muser, 1955Fundamentos das redes neurais: exemplos em Java /Muser Valena. Olinda, PE : Livro Rpido, 2007. 382p. : il. ISBN 978-85-7716-342-7 1. REDES NEURAIS (COMPUTAO) GUIAS DE ESTUDOS. 2. REDES DE COMPUTAO PROBLEMAS, EXERCCIOS, ETC. 3. JAVA (LINGUAGEM DE PROGRAMAO DE COMPUTADOR). 4. ALGORITMOS GUIAS DE ESTUDOS. 5. INTELIGNCIA ARTIFICIAL. 6. SISTEMAS ESPECIALISTAS (COMPUTAO). I. Ttulo. CDU 681.3 CDD 006.3 PeR-BPE

Editora Livro Rpido Elgica Rua Dr. Joo Tavares de Moura, 53/99 - Peixinhos Olinda PE CEP: 53230-290 Fone: (81) 2121.5300 Fax: (81) 2121.5333 [Link]

Fundamentos das Redes Neurais: exemplos em Java


3

Este livro dedicado a Cloris Valena. A ningum amo tanto. Minha maior sorte ser seu marido.

Agradecimentos
Gostaria de registrar meus agradecimentos a todos que contriburam para a realizao deste sonho, destacando: Cloris, minha esposa, Anelle, Lianne e Ivna, minhas filhas, pelos inmeros dias e noites que as privei do meu convvio para dedicar-me aos estudos. Dra. Teresa Bernarda Ludermir, minha orientadora de doutorado, grande amiga e incentivadora, sem a qual dificilmente este sonho teria sido realizado. Os analistas de sistemas Ivna Valena e Jorge Cruz, meus alunos de graduao e iniciao cientfica pela ajuda na implementao dos cdigos. Valeska Martins filha dos meus maiores amigos pela elaborao da capa. Cloris, minha esposa, pela organizao do livro. Todos os demais amigos que direta ou indiretamente contribuiro com suas sugestes.

Sumrio
1 1.1 1.2 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 Introduo ............................................................... Breve Histrico das Redes Neurais .......................... Fundamentos das Redes Neurais .............................. O Perceptron ........................................................... Definio .................................................................. Calculando a Sada para o Perceptron ..................... Exemplo de Classificao (Sistema de Alerta) ......... Exemplo de Reconhecimento de Caracteres ............ Exemplo de Classificao (Animais) ....................... Generalizao do Perceptron ................................... Exerccio com Dois Neurnios na Camada de Sada Exemplo sobre Avaliao de Crdito ....................... Limitaes do Perceptron ........................................ ADALINE ................................................................ A Rede ADALINE ................................................... Calculando a Sada para a Rede ADALINE ............. Regra de Aprendizagem ........................................... Desenvolvimento da Regra Delta ............................. Sistema de Previso com ADALINE ....................... Sistema de Previso de rea Inundada .................... Redes MLP Princpios das Redes MLP ........................................ Algoritmo Backpropagation ..................................... Desenvolvimento do Algoritmo Backpropagation ... 15 15 17 23 23 27 31 42 57 72 73 97 130 137 137 138 140 142 147 186 203 203 207 218

4.4 4.5

Exemplo de Utilizao da Rede MLP para Previso Exemplo de Utilizao da Rede MLP para Classificao ............................................................. Modelando uma Rede MLP ................................... Aspectos a Analisar .................................................. Diviso dos Dados .................................................... Normalizao ............................................................ Determinao das Variveis de Entrada ................... Arquitetura da Rede MLP ......................................... Treinamento da Rede MLP ....................................... Verificao do Desempenho .................................... Kohonen Aprendizagem No-supervisionada .......................... A Rede de Kohonen .................................................. Algoritmo .................................................................. Exemplo de Agrupamento

226 265

5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 6 6.1 6.2 6.3 6.4

331 331 331 333 334 338 341 345

347 348 353 355

Referncias Apndices

10

Apresentao
Este livro visa introduzir os conceitos bsicos necessrios sobre Redes Neurais Artificiais usados para resoluo de aplicaes prticas e para implementao, buscando desenvolver no leitor o entendimento do funcionamento desta poderosa ferramenta de Inteligncia Artificial, assim como a capacidade para implementar, de maneira adequada, os algoritmos de aprendizagem supervisionada da rede Perceptron, da rede ADALIDE, das redes MLP e da aprendizagem no-supervisionada (rede de Kohonen). Para implementar os algoritmos de treinamento das Redes Neurais neste livro se adota a linguagem Java, que consiste numa linguagem de programao orientada a objetos mais amplamente utilizada do mundo. Este livro foi elaborado para ser utilizado como material didtico em cursos de Redes Neurais Artificiais, de nvel universitrio. Entretanto o contedo do livro no pressupe qualquer conhecimento ou experincia anterior do leitor na rea de Redes Neurais ou na rea de computao em geral, requerendo apenas conhecimentos bsicos de matemtica, estatstica e lgica de programao, usualmente abordados nos cursos universitrios. Em cada captulo dada uma base conceitual do tema e cada um desses conceitos abordado mais detalhadamente por meio de exemplos ilustrativos e implementaes em cdigo Java. Os cdigos fonte so disponibilizados no CD para que o leitor interessado possa no apenas entender os 11

exerccios resolvidos como tambm realizar outras implementaes. Logo, este bastante adequado para interessados em fazer uso da tecnologia de redes neurais, pesquisadores, alunos de graduao e de ps-graduao. Este livro est dividido em 6 captulos, conforme descrito a seguir: Captulo 1 Introduo O captulo 1 apresenta uma viso sucinta sobre a histria das Redes Neurais e seus fundamentos. Captulo 2 Perceptron Nesse captulo, se introduz o conceito bsico da rede Perceptron, que constituem o cerne das Redes Neurais. Este captulo introduz tambm as noes de aprendizagem e inicia o conceito de treinamento, comeando por resolver exerccios simples, cujas solues e implementao podem ser realizadas com o uso do algoritmo de treinamento do Perceptron que bastante simples. Captulo 3 ADALINE Este captulo aborda a rede ADALINE que uma extenso do Perceptron para dados contnuos. Introduz a regra delta que utilizada para treinamento da rede 12

ADALINE e so realizados exerccios de previso e classificao. A implementao da regra delta realizada em Java e utilizada para resoluo de alguns exemplos ilustrativos. Captulo 4 Redes MLP Inicialmente, ser feita uma introduo as Redes MLP que uma extenso das Redes ADALINE. Em seguida, sero apresentadas suas bases tericas e sua importncia, bem como o algoritmo de aprendizagem proposto para estas redes. Exemplos de previso e classificao so realizados e a implementao em Java do algoritmo backpropagation feita. Captulo 5 Modelando uma Rede MLP Nesse captulo, apresentam-se as vrias etapas que so necessrias para modelagem de uma Rede MLP. Estas etapas incluem, a diviso dos dados, a normalizao dos dados, a seleo das variveis de entrada e de sada, a determinao da arquitetura tima da rede, o treinamento (critrios de parada, parmetros, valores iniciais dos pesos) e a verificao do desempenho. Captulo 6 Rede de Kohonen Esse captulo, enfoca o aprendizado nosupervisionado ou auto-organizado. Dentre as redes com aprendizado no-supervisionado destacam-se os mapas 13

auto-organizveis ou de forma simplificada SOMs (selforganizing maps) propostas pelo professor Teuvo Kohonen. Procurar-se- ressaltar, nesse captulo, um dos principais usos das redes de Kohonen que como ferramenta de clusterizao. Apndice A Ferramentas Utilizadas (Cdigo Fonte) Nesse apndice, apresentam-se as ferramentas utilizadas para implementao das redes Perceptron, ADALINE, MLP e de Kohonen. A descrio da localizao dos cdigos fontes no CD bem como a forma de execuo dos exemplos.

Muser Valena meuserv@[Link]

14

Captulo 1 Introduo
1.1 Breve Histrico das Redes Neurais
A primeira verso de um neurnio artificial foi proposta por McCulloch (neurofisiologista) e Pitts (matemtico) [MP43] que apresentaram um estudo em 1943 sugerindo a construo de uma mquina inspirada no crebro humano. Em funo destes trabalhos pioneiros credita-se a eles o estabelecimento das bases da neuro computao. Em seguida ao trabalho de McCulloch e Pitts surge a regra de aprendizagem proposta por Donald Hebb que se constitui na base de todas as regras de aprendizagem. Em seu famoso livro de 1949, The Organization of Behavior, o psiclogo Donald Hebb [Heb49] procurou encontrar um mecanismo neural capaz de explicar como as informaes podem ser armazenadas e recuperadas nos neurnios. A sua grande contribuio foi formular uma regra de aprendizagem enunciada da seguinte forma:

15

Quando um neurnio recebe um estmulo de outro neurnio, e se ambos esto altamente ativos, o peso entre estes deve ser fortalecido, caso contrrio enfraquecido. Entretanto, s em 1958 a primeira aplicao prtica foi realizada por Frank Rosenblatt [Ros62] que desenvolveu uma rede neural Perceptron que era capaz de realizar reconhecimento de padres atravs de uma regra de aprendizagem o que gerou um grande interesse nas redes neurais. No ano de 1960, Widrow e Hoff [WH60] apresentaram uma regra de aprendizagem para uma extenso do Perceptron chamada de ADALINE (ADAptive LInear NEuron). Esta regra baseada no mtodo dos mnimos quadrados ficou conhecida como regra delta e utilizada at os dias atuais. Infelizmente, com a publicao de um trabalho de Minsky e Papert [MP69] em 1969 verificou-se que o Perceptron era capaz de distinguir apenas padres linearmente separveis o que levou a um desinteresse nas redes neurais e, conseqentemente, uma reduo nas verbas de pesquisa. Apesar destas limitaes, alguns pesquisadores continuaram interessados nas redes neurais e em 1970 destaca-se a rede neural auto-organizvel desenvolvida por Teuvo Kohonen [Koh82][Koh88] (rede de Kohonen). O ressurgimento das redes neurais atribudo ao trabalho do fsico John Hopfield [Hop82] publicado em 16

1982, sobre as propriedades associativas das redes neurais (rede de Hopfield) e ao desenvolvimento do algoritmo backpropagation que teve seus passos inicias dados por Paul Werbos em 1970 [Wer74] na sua tese de doutoramento e posteriormente popularizado atravs da publicao feita por Rumelhart e McClelland em 1986 [RM86].

1.2 Fundamentos das Redes Neurais


As redes neurais artificiais ou simplesmente redes neurais, so modelos que vm sendo desenvolvidos nos ltimos anos, e que tm como metfora o funcionamento do crebro humano com suas redes neurais biolgicas. O crebro humano composto por algo em torno de 10 bilhes de neurnios que se interconectam, formando uma verdadeira rede, que capaz de processar milhes de informaes e realizar algo em torno de 60 trilhes de ligaes sinpticas. O crebro um sistema de processamento maciamente paralelo que apesar de ser constitudo por neurnios individualmente lentos, capaz de realizar o processamento de informaes mais rpido do que o mais rpido computador existente, uma vez que pode processar trilhes de operaes simultaneamente. De maneira geral, pode-se definir uma Rede Neural Artificial como um sistema constitudo por elementos de processamento interconectados, chamados de neurnios, os 17

quais esto dispostos em camadas (uma camada de entrada, uma ou vrias camadas intermedirias e uma camada de sada) e so responsveis pela no-linearidade e pela memria da rede. O Neurnio Neurnio biolgico De maneira bastante simples, pode-se dizer que o neurnio biolgico (Figura 1.1) composto por um corpo celular, de onde saem ramificaes que so os dendritos. Desse corpo celular, sai um prolongamento chamado axnio, cujo terminal denominado de telodendro. A passagem do impulso nervoso entre dois neurnios se d na regio de sinapse, geralmente, formada pela unio dos axnios de um neurnio e os dendritos do outro. Essa transmisso ocorre do axnio de um neurnio para os dendritos do neurnio seguinte, e no no sentido contrrio.

Figura 1.1: Neurnio Biolgico

18

Um dos aspectos importantes de entendimento do funcionamento do neurnio biolgico aquele relacionado com a Lei do Tudo ou Nada. Esta lei est relacionada com a intensidade do estmulo, chamado de limiar excitatrio, a partir do qual o neurnio dispara ou no o impulso nervoso. Portanto, se o estmulo for muito pequeno, sua intensidade ser inferior ao limiar excitatrio e no ocorrer nenhum impulso nervoso. Por outro lado, passado esse limiar, o potencial de ao do neurnio ser sempre o mesmo, qualquer que seja a intensidade do estmulo. Em outras palavras, o neurnio segue a Lei do Tudo ou Nada. Neurnio Artificial O comportamento do neurnio artificial utilizado para caracterizar o neurnio biolgico o passo inicial para se compreender as redes neurais. A primeira proposta de uma representao matemtica, chamada aqui de neurnio matemtico, para representar o neurnio biolgico foi feita por McCulloch e Pitts (1943). O modelo proposto procura, de forma bastante simples e, por que no dizer rude, representar o neurnio biolgico utilizando uma regra de propagao e uma funo de ativao. A emisso de sinal por este neurnio est baseada em um limiar em analogia com a Lei do Tudo ou Nada.

19

Considere x1 , x 2 , x3 , ..., x n , como sendo as variveis de entrada x j (j = 1,...,n) do neurnio de sada i . A entrada lquida neti dada pela seguinte regra de propagao:
neti = wij x j
j =1 n

(1.1)

onde: wij so os pesos sinpticos e o limiar. A figura 1.2 mostra esta representao

x1 w11 x2 x3 . . . xn w12 w13

= lim iar

Y=f(net)

w1n

Figura 1.2: Neurnio de McCulloch e Pitts com limiar explcito

A funo de ativao f (net i ) neste caso a funo degrau, isto :

20

1, net i 0 f (net i ) = 0, net i < 0

(1.2)

Entretanto, nos algoritmos de aprendizagem, a considerao do limiar de forma implcita mais adequada. A Figura 1.3 apresenta uma alternativa de representao do neurnio, em que o efeito da funo limiar representado por se fazer duas modificaes:

x 0 =+1 x1 x2 x3 . . . xn w 10 w 11 w 12 w 13 Y=f(net)

w 1n

Figura 1.3: Neurnio de McCulloch e Pitts com limiar implcito

adicionou-se uma nova entrada de valor fixo x0 = +1, acrescentou-se um novo peso sinptico (limiar). 21 w10 =

neti = wij x j + (+1).( )


j =1

Substituindo-se w10 = e x0 = +1
neti = wij x j + w10 x0
j =1 n

neti = wij x j
j =0

22

Você também pode gostar