IMPLEMENTAÇÃO DE REDES NEURAIS ARTIFICIAIS UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO JAVA

Documentos relacionados
NOTA II TABELAS E GRÁFICOS

CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS - UnilesteMG

CAPÍTULO VI Introdução ao Método de Elementos Finitos (MEF)

7. Resolução Numérica de Equações Diferenciais Ordinárias

UMA REDE NEURAL ARTIFICIAL HÍBRIDA: MULTI-LAYER PERCEPTRON (MLP) E INTERAC- TIVE ACTIVATION AND COMPETITION (IAC)

Despacho Econômico de. Sistemas Termoelétricos e. Hidrotérmicos

O Método de Redes Neurais com Função de Ativação de Base Radial para Classificação em Data Mining

Nota Técnica Médias do ENEM 2009 por Escola

O Uso do Software Matlab Aplicado à Previsão de Índices da Bolsa de Valores: Um Estudo de Caso no Curso de Engenharia de Produção

TEORIA DE ERROS * ERRO é a diferença entre um valor obtido ao se medir uma grandeza e o valor real ou correto da mesma.

5.1 Seleção dos melhores regressores univariados (modelo de Índice de Difusão univariado)

Ministério da Educação. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira. Cálculo do Conceito Preliminar de Cursos de Graduação

Covariância e Correlação Linear

Introdução e Organização de Dados Estatísticos

PREVISÃO DO ÍNDICE MERVAL: UMA APLICAÇÃO DE REDES NEURIAS POLINOMIAIS GMDH

Fast Multiresolution Image Querying

PLANILHAS EXCEL/VBA PARA PROBLEMAS ENVOLVENDO EQUILÍBRIO LÍQUIDO-VAPOR EM SISTEMAS BINÁRIOS

ANÁLISE DE SENSIBILIDADE POR REDES NEURAIS APLICADA AO ESTUDO DA ESTABILI- DADE TRANSITÓRIA DE SISTEMAS ELÉTRICOS DE POTÊNCIA USANDO AS TOOLBOXES

SISTEMA HÍBRIDO NEURO-FUZZY PARA ANÁLISE DE SEGURANÇA EM TEMPO REAL DE SISTEMAS DE POTÊNCIA

Variabilidade Espacial do Teor de Água de um Argissolo sob Plantio Convencional de Feijão Irrigado

PROJEÇÕES POPULACIONAIS PARA OS MUNICÍPIOS E DISTRITOS DO CEARÁ

INF 1771 Inteligência Artificial

CAPÍTULO 1 Exercícios Propostos

Software para Furação e Rebitagem de Fuselagem de Aeronaves

Análise de Regressão. Profa Alcione Miranda dos Santos Departamento de Saúde Pública UFMA

Expressão da Incerteza de Medição para a Grandeza Energia Elétrica

ALGORITMO E PROGRAMAÇÃO

MAPEAMENTO DA VARIABILIDADE ESPACIAL

Redes Neuronais (Introdução, perceptrões, e MLP)

ELEMENTOS DE CIRCUITOS

Redes Neurais Artificiais Aplicadas no Monitoramento da Condição de Ferramentas de Corte Utilizando Algoritmo de Extração das Características SFS

PARÂMETRO DE EXATIDÃO PARA APROXIMACÃO DE FUNCÕES UTILIZANDO MULTILAYER PERCEPTRONS NOS DOMÍNIOS REAL, COMPLEXO E DE CLIFFORD

Cálculo do Conceito ENADE

Redes Neurais (Inteligência Artificial)

UNIVERSIDADE PRESBITERIANA MACKENZIE CCSA - Centro de Ciências Sociais e Aplicadas Curso de Economia

3 Algoritmos propostos

CURSO ON-LINE PROFESSOR: VÍTOR MENEZES

Elaboração: Fevereiro/2008

Objetivos da aula. Essa aula objetiva fornecer algumas ferramentas descritivas úteis para

2 Metodologia de Medição de Riscos para Projetos

Sistemas Robóticos. Sumário. Introdução. Introdução. Navegação. Introdução Onde estou? Para onde vou? Como vou lá chegar?

7.4 Precificação dos Serviços de Transmissão em Ambiente Desregulamentado

Prof. Antônio Carlos Fontes dos Santos. Aula 1: Divisores de tensão e Resistência interna de uma fonte de tensão

UTILIZAÇÃO DO MÉTODO DE TAGUCHI NA REDUÇÃO DOS CUSTOS DE PROJETOS. Uma equação simplificada para se determinar o lucro de uma empresa é:

LOCALIZAÇÃO ESPACIAL DA MÃO DO USUÁRIO UTILIZANDO WII REMOTE. Ricardo Silva Tavares 1 ; Roberto Scalco 2

Influência dos Procedimentos de Ensaios e Tratamento de Dados em Análise Probabilística de Estrutura de Contenção

Rastreando Algoritmos

CÁLCULO DO ALUNO EQUIVALENTE PARA FINS DE ANÁLISE DE CUSTOS DE MANUTENÇÃO DAS IFES

Universidade Federal do Rio Grande do Norte Centro de Tecnologia Programa de Pós-Graduação em Engenharia Elétrica e de Computação

Problemas Associados a Cones de Segunda Ordem

Sistemas de Filas: Aula 5. Amedeo R. Odoni 22 de outubro de 2001

Suporte Básico para Sistemas de Tempo Real

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma

UMA ABORDAGEM NEURO-IMUNE PARA A SOLUÇÃO DO PROBLEMA DE MÚLTIPLOS CAIXEIROS VIAJANTES

1 Princípios da entropia e da energia

CORRELAÇÃO DO EQUILÍBRIO DE FASES DO SISTEMA MULTICOMPONENTE ÉSTERES ETÍLICOS DO ÓLEO DE MURUMURU/DIÓXIDO DE CARBONO COM A EQUAÇÃO SRK

Regressão e Correlação Linear

Aula 7: Circuitos. Curso de Física Geral III F-328 1º semestre, 2014

MODELAGEM MATEMÁTICA DO PROCESSO DE EVAPORAÇÃO MULTI-EFEITO NA INDÚSTRIA DE PAPEL E CELULOSE

ANALISADOR DE EVENTOS EM TEMPO QUASE-REAL

3 A técnica de computação intensiva Bootstrap

Experiência V (aulas 08 e 09) Curvas características

CQ110 : Princípios de FQ

REGULAMENTO GERAL (Modalidades 1, 2, 3 e 4)

FERRAMENTA DE AUXÍLIO AO DIAGNÓSTICO MÉDICO DURANTE A GRAVIDEZ

Introdução à Análise de Dados nas medidas de grandezas físicas

Estimativa da Incerteza de Medição da Viscosidade Cinemática pelo Método Manual em Biodiesel

AGRUPAMENTO DE CLIENTES COM BASE NA FICHA DE ANAMNESE ODONTOLÓGICA: UMA APLICAÇÃO DA ART2.

AVALIAÇÃO SIMPLIFICADA DOS CONSUMOS DE ENERGIA ASSOCIADOS À VENTILAÇÃO

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA NOVO MODELO PARA O CÁLCULO DE CARREGAMENTO DINÂMICO DE TRANSFORMADORES

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA GRUPO - IX GRUPO DE ESTUDO DE OPERAÇÃO DE SISTEMAS ELÉTRICOS - GOP

SCATTER SEARCH APLICADO AO PROBLEMA DE OTIMIZAÇÃO DA ALOCAÇÃO DE SONDAS DE PRODUÇÃO EM POÇOS DE PETRÓLEO

SOM Hierárquico Aplicado à Compressão de Imagens

PARTE Apresente as equações que descrevem o comportamento do preço de venda dos imóveis.

3 Metodologia de Avaliação da Relação entre o Custo Operacional e o Preço do Óleo

Professor Mauricio Lutz CORRELAÇÃO

Análise Econômica da Aplicação de Motores de Alto Rendimento

2 Lógica Fuzzy Introdução

UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA. Francisco das Chagas de Souza

BALANÇO HÍDRICO: UMA FERRAMENTA PARA GESTÃO INDUSTRIAL E OTIMIZAÇÃO AMBIENTAL.

Geração de poses de faces utilizando Active Appearance Model Tupã Negreiros 1, Marcos R. P. Barretto 2, Jun Okamoto 3

ANÁLISE DA ESTABILIDADE DE UM BRAÇO ROBÓTICO PARA COLHEITA DE FRUTAS

UTILIZAÇÃO DE REDES NEURAIS ARTIFICIAIS E REGRESSÃO LINEAR MÚLTIPLA PARA A PREVISÃO DO TEMPO DE DURAÇÃO DE AUDIÊNCIAS TRABALHISTAS

NORMAS DE SELEÇÃO AO DOUTORADO

2 Máquinas de Vetor Suporte 2.1. Introdução

Probabilidade e Estatística. Correlação e Regressão Linear

Avaliação da Tendência de Precipitação Pluviométrica Anual no Estado de Sergipe. Evaluation of the Annual Rainfall Trend in the State of Sergipe

INCLUSÃO DE RESTRIÇÕES DINÂMICAS NA ANÁLISE DE FLUXO DE POTÊNCIA ÓTIMO RAFAEL MONTES FONTOURA

Marcus Rodrigo Carvalho

Estudo comparativo entre redes neurais artificiais e análise de regressão múltipla na avaliação de bens, para pequenas amostragens

Física. Setor A. Índice-controle de Estudo. Prof.: Aula 25 (pág. 86) AD TM TC. Aula 26 (pág. 86) AD TM TC. Aula 27 (pág.

Introdução. Introdução. Introdução I - PERCEPTRON. Modelos de Neurônios LABIC. Neurônio:

INTRODUÇÃO SISTEMAS. O que é sistema? O que é um sistema de controle? O aspecto importante de um sistema é a relação entre as entradas e a saída

Aula Características dos sistemas de medição

UNIDADE IV DELINEAMENTO INTEIRAMENTE CASUALIZADO (DIC)

Sempre que surgir uma dúvida quanto à utilização de um instrumento ou componente, o aluno deverá consultar o professor para esclarecimentos.

Organização da Aula. Gestão de Obras Públicas. Aula 2. Projeto de Gestão de Obras Públicas Municipais. Contextualização

Transcrição:

IMPLEMENTAÇÃO DE REDES NEURAIS ARTIFICIAIS UTILIZANDO A LINGUAGEM DE PROGRAMAÇÃO JAVA José R. Campos 1, Anna D. P. Lotufo 1, Carlos R. Mnuss 1, Mara L. M. Lopes 1 1 UNESP, Ilha Soltera, Brasl, jrcampos8@gmal.com, annadva@dee.fes.unesp.br, mnuss@dee.fes.unesp.br, mara@mat.fes.unesp.br Abstract: Ths work develops a feedforward neural network by backpropagaton algorthm emphaszng the JAVA language. To llustrate the proposed methodology s used an example wth data from a Mult Machne Electrcal Power System Transent Stablty Analyss amng to provde an effcent dagnoss. Keywords: JAVA, Object Orented Programmng, Artfcal Neural Networks. 1. INTRODUÇÃO As Redes Neuras Artfcas (RNA) são concepções em hardware e / ou software que exbem capacdade de aprender com a experênca. Para se consegur os resultados desejados, ou seja, que a rede apresente condções de efetuar dagnóstcos complexos como é caso do reconhecmento de padrão, prevsão, etc, tas redes deverão apresentar confgurações formadas por váras undades de "neurônos", dspostas em fleras, compondo um arranjo complexo de nterlgações [1]. As nterlgações são formadas por pesos (snapses) que devem ser ajustados em função de um conjunto de padrões que produzam saídas desejadas. Esta atvdade é defnda como sendo Trenamento ou Aprendzado, sendo elaborado em off-lne. Uma vez ajustada a rede deverá ser capaz de emtr, para padrões não constantes no conjunto de trenamento, um dagnóstco com precsão satsfatóra. Este dagnóstco pode ser efetuado sem custo computaconal. Isto, a prncípo, pode ser vsto como uma possbldade de vablzação da análse em tempo real. A maora das redes neuras feedforward supervsonadas encontradas na lteratura é trenada utlzando o algortmo retropropagação (backpropagaton) [], [3], o qual é consderado um benchmark em termos de precsão. O objetvo deste artgo é desenvolver uma programação orentada a objeto, especfcamente a lnguagem JAVA, envolvendo a rede neural artfcal feedforward com algortmo retropropagação. A Programação Orentada a Objeto (OOP Object Orented Programmng) pressupõe uma organzação de software em termos de coleção de objetos dscretos ncorporando estrutura e comportamento própros. Deste modo, essa organzação se dfere fundamentalmente das estruturas dos softwares tradconas [4]. O desenvolvmento de softwares se tornou cada vez mas complexo durante os anos, e assm, foram surgndo grandes necessdades para resolução de problemas cada vez mas complexos que não poderam ser soluconados com antgas técncas de programação, neste artgo serão abordados os prncpas concetos da OOP como, classes, polmorfsmo, encapsulamento, abstração e herança, aplcando-a no sstema neural retropropagação. A lnguagem de programação JAVA fo desenvolvda pela Sun Mcrosystems para automação no desenvolvmento de uma rede neural. A escolha dessa lnguagem se deve ao fato dela proporconar uma extensa redução na complexdade no desenvolvmento de software e aumentar a produtvdade. A análse, projeto e programação orentada a objetos são as respostas para o aumento da complexdade dos ambentes computaconas que se caracterzam por sstemas heterogêneos, dstrbuídos em redes, em camadas e baseados em nterfaces gráfcas. A OOP fundamenta-se na modelagem e desgn do códgo-fonte em undades funconas ndependentes, reduzndo a complexdade do problema e vablzando o desenvolvmento. Além dsso, foram desenvolvdos módulos para os modelos estabelecdos para a smulação/solução do problema real e não de acordo com a lógca de programação de computadores [5]. Portanto, a superordade dessa metodologa consste no desgn do códgo-fonte abstrando-se os modelos físcos de acordo com o pensamento humano (classes, herarquas e polmorfsmo). No caso de um software de modelagem de um sstema elétrco, as barras, crcutos, mpedâncas mútuas, faltas, etc. podem ser modelados segundo as especfcações dos própros componentes, ao contráro da mera modelagem matemátca através de matrzes, que são comuns em softwares legados. A engenhara de software, por sua vez, consste na gestão das prátcas utlzadas no desenvolvmento de um aplcatvo: especfcações, projetos, controle de qualdade do códgo-fonte, organzação, testes, etc. [5]. Assm, o artgo mostra uma aplcação smples de dagnóstco de dados efetuados para analse de establdade de um sstema elétrco de 3 máqunas [6].. REDES NEURAIS ARTIFICIAIS.1. Estrutura da Rede Neural Uma rede neural artfcal, [1], [7], [8] corresponde a um conjunto de neurônos artfcas separados em camadas (entrada, ntermedára e saída). 1 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 391

Implementação De Redes Neuras Artfcas Utlzando A Lnguagem De Programação Java José R. Campos, Anna D. P. Lotufo, Carlos R. Mnuss, Mara L. M. Lopes O processamento de um neurôno artfcal resume-se em [9]: 1. Um conjunto de entradas (snas) X, x 1, x,..., x n, são apresentados à rede;. Cada snal é ponderado por um peso assocado V, w 1, w,..., w n, que ndca sua nfluênca na saída da undade; 3. As entradas ponderadas são aplcadas ao bloco somatóro, Σ, onde se adcona também uma entrada ndependente, x 0 = 1, denomnada bas; 4. A saída ntermedára do neurôno é, então, dada por [3]: n s = w j x j (1) j 5. A saída é, então, convertda em não-lneardade através das funções de atvação (relé ou sgmóde)..1. Trenamento da Rede Neural A rede neural possu a capacdade de aprender, para tanto, ela deve ser trenada, ajustando assm os seus pesos. Para tal, necessta-se de algortmo de trenamento, neste caso, utlza-se o algortmo retropropagação. O algortmo retropropagação é um procedmento sstemátco de adaptação de pesos de redes neuras, baseado no método do gradente descendente, que consste em adaptar os pesos de tal forma, que o erro quadrátco da rede seja mnmzado. É realzado da segunte forma [3], [9]: 1. Apresentação de um padrão X à rede, o qual fornece uma saída Y;. Cálculo do erro (dferença entre o valor desejado e a saída) para cada saída; 3. Determnação do erro retropropagado pela rede assocado à dervada parcal do erro quadrátco; 4. Ajuste dos pesos de cada elemento; 5. Por fm, um novo padrão é apresentado à rede e o processo é repetdo até que ocorra a convergênca, ou seja, (erro < tolerânca preestabelecda) ou o número de terações corresponda a um valor máxmo prevamente estabelecdo O algortmo retropropagação consste na adaptação de pesos, tal que, o erro quadrátco da rede é mnmzado. A soma do erro quadrátco nstantâneo de cada neurôno alocado na últma camada é dada por [3]: ns ε = ε () = 1 ε = d - y ; d = saída desejada do -ésmo elemento da últma camada da rede; y = saída do -ésmo elemento da últma camada da rede; ns = número de neurônos da últma camada da rede. Consderando-se o neurôno de índce da rede, e utlzando-se o método do gradente descendente [3], [9], o ajuste de pesos pode ser formulado como: θ (h) γ h (h) V V ( h + 1) = V θ (3) = γ [ (h)]; = taxa de trenamento; = índce da teração; = gradente do erro quadrátco com relação aos pesos do neurôno avalado em h; = vetor contendo os pesos do neurôno = [ w 0 w 1 w... w n ] T. O parâmetro γ serve como controle de establdade do processo teratvo. Na Equação (3), a dreção adotada para mnmzar a função objetvo do erro quadrátco corresponde à dreção contrára ao gradente. O gradente (h) pode ser expresso por [3], [7]: ε ε = = ε A função de atvação utlzada na aplcação abordada (neste caso, analse de establdade cuja varável analsada é à margem de segurança do sstema) é a função sgmóde defnda por [3], [7], [9]: 1 y = ( λ s ) 1+ e (5) λ = constante que determna a nclnação da curva y Dferencando a Equação () com relação ao vetor V, obtém-se: ε y = Da Equação (6), resulta-se: = y s s ε s = sgm' ( s ) (7) em que: y sgm' ( s ) = = λ y ( 1 y ), dervada parcal de y s com relação a s. Observa-se que: s = X X Δ vetor padrão; = x x x K x ] T. [ 0 1 n Substtundo a Equação (8) na Equação (7), tem-se: ε = sgm' ( s ) X (4) (6) (8) (9) Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 39

Inserndo-se a Equação (9) na Equação (4), resulta em: ( h ) = ε sgm' ( s ) X (10) Utlzando (10) estmado no método do gradente descendente, obtém-se o segunte algortmo [3], [7]: V ( h + 1) = V + γ ε ( λ y (1 y ) ) X (11) Os pesos ncas são normalmente adotados como números randômcos, vsto que a ncação nula quase sempre proporcona baxa convergênca [3]. Uma formulação bastante nteressante é o algortmo retropropagação com momento que faz com que o algortmo se torne mas rápdo. O processo de aprendzagem exge com que a mudança nos pesos seja proporconal a ε / V. O gradente descendente requer que uma nfndade de passos sejam tomados. Consdera-se, por exemplo, uma taxa de trenamento grande o possível para que haja osclação sem dreção. Assm, um meo de evtar a osclação para γ grande, é tomar uma varação no peso dependente da varação do peso passado acrescentando o termo momento. Este procedmento se consttu no algortmo retropropagação com momento [11]. A adaptação dos pesos, neste caso, pode ser formulada da segunte forma [3]: v j (h+1) = v j (h) + Δv j (h) (1) Δv j (h) = γ (1 - η) β j x + ηδv j (h-1); (13) v j = peso correspondente à nterlgação entre o - ésmo e j-ésmo neurôno; γ = taxa de trenamento; η = constante momento (0 η < 1). Nesta seção serão abordados os prncpas concetos que permeam o uso das técncas de OOP utlzando a lnguagem de programação JAVA. Um dos grandes dferencas desta técnca em relação a outros paradgmas de programação é o conceto de herança, mecansmo no qual permte a extensão de defnções já exstentes. É mportante enfatzar também juntamente com o conceto de herança a mportânca do polmorfsmo, que é a capacdade de nvocar métodos que tem a mesma dentfcação (assnaturas), porém comportamentos dstntos [1]. Para consderar-se um sstema OOP, é necessáro levar em conta pelo menos 4 característcas: Classfcação; Herança; Polmorfsmo; Encapsulamento. 3.1. Classe A defnção de classes e seus nter-relaconamentos são conhecdos como o gabarto para a defnção de seus objetos, apresentando-se quas propredades, atrbutos o objeto terá. Classe, não descreve somente os atrbutos, mas também o comportamento dos objetos, ou seja, quas funconaldades poderão ser aplcadas aos objetos, essas funconaldades são descrtas através de métodos. Um método nada mas é que o análogo a uma função ou procedmento, dferndo-se somente que ele manpula os atrbutos da classe e varáves locas defndos [13]. Um exemplo de classe utlzando a lnguagem JAVA é descrto na Fgura 1. Se o elemento j encontrar-se na últma camada então: β j = σ j ε j (14) em que: σ j = dervada da função sgmóde com relação a s j. Se o elemento j encontrar-se nas demas camadas temse: β j = σ j w j k βk (15) k R ( j) R(j) = conjunto dos índces dos elementos que se encontram na flera segunte à flera do elemento j e que estão nterlgados ao elemento j. 3. ORIENTAÇÃO A OBJETO A orentação a objeto (OOP) não tem a ntenção de substtur a programação estrutural tradconal, desta forma ela é uma evolução das técncas que vem sendo muto empregadas nos últmos tempos, porém não formalzadas, como vsbldade, escopo e utlzação de varáves locas [1]. Fgura 1. Exemplo de classe. A Fgura 1 apresenta uma classe MLP (Mult Layer Perceptron) que compõe o pequeno projeto de redes neuras artfcas cujo algortmo de trenamento utlzado é o algortmo retropropagação. 3.. Objeto No contexto de OOP, um objeto é uma entdade capaz de guardar estados (nformações) e de realzar operações (comportamento) que podem se utlzar dos estados, bem como modfcá-los, um objeto também é conhecdo como nstânca quando pertencer a uma classe. As declarações de um objeto são denomnadas métodos e suas nformações atrbutos [13]. 3.3. Herança O conceto de herança organza as classes para reuso, sto é, faz-se o uso da herança para resolver o problema de 3 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 393

Implementação De Redes Neuras Artfcas Utlzando A Lnguagem De Programação Java José R. Campos, Anna D. P. Lotufo, Carlos R. Mnuss, Mara L. M. Lopes classes que compartlham característcas guas. Tomando como exemplo a classe Neurôno, Neurôno Intermedáro, Neurôno de, ambos são varações da classe Neurôno, ou seja, todos eles têm característcas guas, porém comportamentos dferentes ao longo do programa. Neurôno, seja de entrada, ntermedáro ou de saída, pode conter pesos, dados de entradas, dados de saídas, porém o cálculo do erro para cada um se dfere [13]. Fgura. Exemplo de classe com herança. A Fgura lustra um exemplo de classe utlzando herança, em Java pode-se observar o uso da palavra extends, sto ndca que a classe Neurôno Intermedáro herda as característcas da classe Neurôno, deste modo, é notóro o reuso da classe poupando assm a sobrecarga de códgos repettvos. Herança é a prncpal característca de um sstema OOP. Como ctado em [14], um sstema que não faz o uso de herança não é consderado um sstema totalmente OOP. Desta forma, a prncpal vantagem da herança é evtar a duplcdade, podendo uncamente herdar característcas de uma classe-pa e especalzar métodos e atrbutos. 3.4. Polmorfsmo A característca de polmorfsmo é a capacdade de modfcar e nteragr com os objetos sem a necessdade do conhecmento prévo de sua classe, através de comportamento dnâmco [15]. Em outras palavras, esses comportamentos podem possur métodos homônmos, porém com resultados dstntos e comportamentos dstntos. Assm o polmorfsmo, junto com o encapsulamento, que será abordado a segur, proporcona um códgo mas ntelgível e aumenta o nível da dnâmca proposta pela OOP [15]. 3.5. Encapsulamento Segundo Jacobson [15], é a capacdade de defnr restrção a vsbldade, de acesso e modfcação dos atrbutos e métodos, assm é possível encapsular métodos e atrbutos para que exsta unformdade de acesso durante e depos do acesso, sem que haja a necessdade da modfcação dos objetos dependentes de tas operações. 4. APLICAÇÃO DA REDE NEURAL EM JAVA 4.1. Desenvolvmento da Aplcação Para este trabalho fo desenvolvdo na lnguagem JAVA uma nterface gráfca para que o usuáro entre com as confgurações e os dados de entrada por um arquvo específco, há alguns passos necessáros para a o sucesso do aprendzado da rede. São eles: 4.1.1. Coleta dos dados e confguração Os dos prmeros passos para o desenvolvmento da rede é a abstração dos dados relatvos ao problema e a sua separação em conjuntos, trenamento e dagnóstco. Esta tarefa requer uma mnucosa análse para que não haja problemas como ambgüdade e erros nos dados. Além dsso, os dados devem ser sgnfcatvos e cobrr amplamente o problema em questão. Normalmente os dados coletados são separados em duas categoras, dados de trenamento que serão utlzados para o trenamento da rede e dagnóstco, que serão utlzados para verfcação da performance (desempenho) sob condções reas de utlzação. 4.1.. Confguração da rede O tercero passo é quem denomna o comportamento da rede conforme os padrões de entrada e dagnóstcos apresentados no passo um e dos. Determnação dos parâmetros da rede como: a) Taxa de Trenamento - γ; b) Inclnação da função de atvação - λ; c) Bas; d) Taxa do momento - η; e) Escolha da função de atvação. Estes passos tem um grande mpacto na performance (desempenho) da rede neural, pos, uma boa escolha desses parâmetros a rede terá grande sucesso em sua convergênca, embora a defnção dessas confgurações seja de forma empírca. 4.. Integração Fnalmente, com a rede já confgurada e trenada, ela já pode ser ntroduzda no ambente da aplcação na qual ela fo projetada. Para maor facldade da operação, fo desenvolvdo uma nterface gráfca para os passos um, dos e três vsando um grande aumento de produtvdade e mnmzando a complexdade da ntegração. 4.3. Idealzação da Rede Neural O sstema desenvolvdo traz consgo uma nterface bem ntutva para o usuáro, pos ela permte a confguração da rede de forma rápda e bem customzada em três etapas. Na prmera, é apresentado ao usuáro um sstema de procura de arquvo em que se encontram os dados nerentes ao trenamento em questão. Neste arquvo, constam os padrões de entradas e saídas. O próxmo passo requer a confguração das camadas da rede. O sstema automatcamente arbtra os melhores dados de acordo com os dados fornecdos na prmera etapa, porém, também possível a seleção do número de neurônos em cada camada através do botão Customzar. Nesta fase, é então apresentado um prevew do arquvo na janela do programa, conforme vsto na Fgura 5. 4 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 394

Na tercera e últma etapa, o usuáro entrará com os dados referentes ao trenamento, tas como: taxa de trenamento, erro mínmo tolerável, quantdade de épocas, valor do bas, nclnação da função de atvação, momento, tpo de função de atvação e as confgurações ncas dos pesos. Nestas duas últmas, o sstema permte ao usuáro seleconar através de caxa de seleção outros comportamentos a segur: a) Seleção do tpo da função de atvação: Sgmóde Logístca, Tangente Hperbólca, Relé, etc. mostrada na Fgura 3; Após ter concluído as três etapas, nca-se o trenamento clcando no botão Incar o processo de trenamento. Caso a rede tenha convergdo, é apresentado um gráfco (Fgura 6) contendo a méda do erro quadrátco da rede, e ao mesmo tempo, sugere-se ao usuáro dagnostcar a rede para a conferênca do trenamento, o gráfco do dagnóstco é lustrado na Fgura 7. 4.4. Aplcação na análse de sensbldade Neste artgo consdera-se um exemplo para aplcação na Análse de Establdade Transtóra de um Sstema de Energa Elétrca composto por 3 máqunas síncronas, 7 lnhas de transmssão e 9 barras [16]. Na análse de establdade transtóra é adotado o modelo clássco [6] e ela corresponde à obtenção da margem de segurança para contngêncas de curto-crcuto com saída de lnha de transmssão sob defeto. O objetvo do trabalho é evdencar a aplcabldade e smplcdade da rede neural feedforward com algortmo retropropagação através da lnguagem de programação JAVA. Neste artgo será mostrada a aplcação da rede neural para o dagnóstco da margem de segurança para o sstema de 3 máqunas [6]. Tabela 1. Parâmetros utlzados na rede neural. Fgura 3. Escolha da função de atvação. Item Sstema Anderson & Fouad Número de vetores padrões 40 Número de camadas 3 Número de neurônos por camadas 5-10-1 Tolerânca 0,0001 Taxa de trenamento - γ 0,3 Momento - η 0,8 Inclnação da função sgmóde - λ 0,3 b) Seleção do tpo de sementes ncas para os pesos: Pesos com valor entre -1 e 1, com valores entre 0 e 1 ou pesos aleatóros como lustra a Fgura 4. Na Tabela 1 são apresentados os parâmetros que foram utlzados no trenamento e dagnostco da rede neural. Fgura 4. Escolha dos pesos. Fgura 5. Interface da rede neural na lnguagem JAVA. 5 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 395

Implementação De Redes Neuras Artfcas Utlzando A Lnguagem De Programação Java José R. Campos, Anna D. P. Lotufo, Carlos R. Mnuss, Mara L. M. Lopes A Fgura 5 mostra a nterface do programa JAVA para a rede neural feedforward com algortmo retropropagação. Pode-se observar que a nterface proporcona ao usuáro a dsponblzação de todos os parâmetros que são utlzados no processamento da rede neural. Nota-se também, que os dados de entrada da rede neural utlzados na aplcação tanto para o trenamento quanto para o dagnostco da rede neural, que neste caso é analse de sensbldade, são ndexados ao processo como um arquvo de dados. A nterface proporcona ao mesmo tempo uma conexão da entrada de dados, que serão utlzados na rede neural, e da saída de dados que fornecem os resultados pertnentes a cada aplcação. A saída do número de terações obtda pela rede neural e o tempo de processamento estão ndcados na parte nferor da nterface. Durante o processamento do trenamento da rede neural é crada uma nterface gráfca após a convergênca da rede como mostra a Fgura 6. Esta nterface representa a evolução do erro obtdo no trenamento da rede neural até a convergênca. Fgura 6. Interface gráfca do erro obtdo pela rede neural. Após a execução do trenamento torna-se atvo o ícone de dagnostco o qual é realzado segudamente gerando a nterface gráfca lustrada pela Fgura 7. Este gráfco mostra os resultados reas da aplcação e os resultados obtdos pela rede neural. Fgura 7. Comparação entre os resultados reas e resultados obtdos. No caso da aplcação na análse de establdade transtóra o objetvo, neste artgo, é utlzar a rede neural para dagnostcar as margens de segurança para um conjunto de potêncas. Tabela. Resultados reas e obtdos pela rede neural. Obtda Obtda Obtda Obtda 0.510 0.519 0.345 0.349 0.15 0.14 0.100 0.18 0.40 0.434 0.355 0.353 0.300 0.79 0.5 0.18 0.5 0.1 0.155 0.139 0.090 0.091 0.035 0.063 0.5 0.0 0.155 0.131 0.100 0.08 0.040 0.056 0.585 0.598 0.445 0.431 0.65 0.69 0.105 0.150 0.665 0.675 0.575 0.58 0.505 0.48 0.370 0.386 0.470 0.478 0.370 0.378 0.95 0.9 0.55 0.19 0.310 0.31 0.40 0.36 0.180 0.176 0.15 0.13 0.415 0.41 0.330 0.339 0.65 0.61 0.10 0.195 0.70 0.6 0.195 0.197 0.135 0.148 0.090 0.11 Na Tabela observam-se os resultados obtdos, va método PEBS (saída real) [16] e pela rede neural feedforward com trenamento retropropagação (saída obtda). Observa-se que a RNA gerar dagnóstcos próxmos dos dados fornecdos va PEBS. 5. CONCLUSÃO Este artgo apresenta uma metodologa para trenamento de redes neuras feedforward baseado no algortmo retropropagação executada através de uma programação orentada a objeto. Para demonstrar a facldade da analse e do desenvolvmento da rede neural feedforward com algortmo retropropagação fo desenvolvdo um sstema de análse de establdade transtóra de um Sstema de Energa Elétrca Multmáqunas (Sstema Anderson & Fouad) [6]. O enfoque prncpal do artgo é a mplementação da rede neural de tal forma que ela tvesse uma lnguagem mas acessível para város profssonas de dversas áreas podendo ser aplcada em númeras stuações. A dfculdade de mplementação do algortmo faz com que os pesqusadores procurem programas mas dnâmcos como por exemplo o MATLAB. Porém, nem todos os programas oferecem o suporte técnco necessáro para a análse total da aplcação. Uma técnca novadora que está sendo muto dfundda no ambente de desenvolvmento de aplcatvos é a programação orentada ao objeto. A grande vantagem de utlzar a técnca de programação orentada a objeto é que ela proporcona maor facldade na programação, uma maor reutlzação de códgo e ndependênca no desenvolvmento de módulos. Dentre as lnguagens de programação orentada a objeto exstentes fo escolhda a lnguagem de programação JAVA, por ser totalmente orentada a objeto, por ter grande facldade na construção de nterfaces gráfcas através do aplcatvo NetBeans IDE 6.8. Desta forma, foram desenvolvdas nterfaces para a nteração com o usuáro a fm de estabelecer smplcdade na customzação da rede. O presente trabalho não enfatza somente o desenvolvmento da rede neural para a análse de establdade, mas sm na utlzação da técnca da OOP. Foram apresentadas no decorrer do trabalho, váras vantagens na utlzação e aplcação da mesma, dessa forma, os resultados esperados foram muto satsfatóros. AGRADECIMENTOS Agradeço a Unversdade Estadual Paulsta - Júlo de Mesquta Flho (UNESP) Campus de Ilha Soltera por ter 6 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 396

proporconado uma estrutura adequada para o térmno deste trabalho. REFERENCIAS [1] T. L. Fne, Feedforward Neural Network Methodology, Sprnger-Verlag, USA, 1999. [] P. J. Werbos, Beyond Regresson: New Tools for Predcton and Analyss n the Behavoral Scences, Master Thess, Harvard Unversty, 1974. [3] B. Wdrow, M. A. Lehr, 30 Years of Adaptve Neural Networks: Perceptron, Madalne, and Backpropagaton, n Proceedngs of the IEEE, Vol. 78, No. 9, pp. 1415-144, 1990. [4] A. Boente, Lvro Aprendendo a Programar em Java - Orentado a Objetos, ed. 1, Brasport, São Paulo, 003. [5] G. Voss, M. G. Hll, Object-Orented Programmng: An Introducton, Addson Wesley, New York, 1991. [6] P. M. Anderson, A. A. Fouad, Power System Control and Stablty, IEEE Seres on Power Engneerng, USA, ed., 003. [7] S. Haykn, Neural Networks: A Comprehensve Foundaton, Prentce-Hall, Upper Saddle Rver, New Jersey, USA, 1999. [8] P. K. Smpson, Artfcal Neural Systems: Foundatons, Paradgms, Applcatons and Implementatons, Pergamon Press, New York, 1989. [9] M. L. M. Lopes, Desenvolvmento de um Sstema Prevsor de Cargas Elétrcas va Redes Neuras, Dssertação de Mestrado, Programa de Pós-graduação em Engenhara Elétrca - Faculdade de Engenhara de Ilha Soltera - UNESP, 000. [10] C. R. Mnuss, M. C. G. Slvera, Electrc Power System Transent Stablty by Neural Networks, 38 Th Mdwest Symposum On Crcuts And System, Ro de Janero-RJ, pp. 1305-1308, 1995. [11] B. Krose, P. V. Smagt, An Introducton to Neural Networks, Unversty of Amsterdam, November 1996. [1] A. A. Melo, M. G. F. Nascmento, Aprenda a Desenvolver Sstemas Profssonas Orentados a Objetos com Padrões de Projeto, ed. 1, Novatec, São Paulo, 007. [13] C. Cardoso, Orentação a Objetos na Prátca, ed. 1, Cênca Moderna, São Paulo, 006. [14] A. Lete, FJ-11 - Java e Orentação a Objetos, Apostla do Curso FJ11 CAELUM Ensno e Inovação, 009. [15] I. Jacobson, Object Orented Software Engneerng: A Use Case Drven Approach (Hardcover), Addson-Wesley, 199. [16] A. D. P. Lotufo, Análse de Sensbldade por Redes Neuras para Estudos de Establdade Transtóra de Sstemas Elétrcos de Potênca, Tese de Doutorado, Programa de Pós-Graduação em Engenhara Elétrca, UNESP, Campus de Ilha Soltera, 004. 7 Proceedngs of the 9th Brazlan Conference on Dynamcs Control and ther Applcatons Serra Negra, SP - ISSN 178-3667 397