Você está na página 1de 8

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/267804925

IMPLEMENTAO DE REDES NEURAIS


ARTIFICIAIS UTILIZANDO A LINGUAGEM DE
PROGRAMAO JAVA

Article

CITATION READS

1 1,145

4 authors:

Jos Roberto Campos Anna Diva P. Lotufo


Instituto Federal de Educao, Cincia e Tec So Paulo State University
1 PUBLICATION 1 CITATION 43 PUBLICATIONS 308 CITATIONS

SEE PROFILE SEE PROFILE

Carlos Roberto Minussi Mara Lcia M. Lopes


So Paulo State University So Paulo State University
86 PUBLICATIONS 427 CITATIONS 33 PUBLICATIONS 160 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Graduation course completion work View project

All content following this page was uploaded by Jos Roberto Campos on 17 February 2015.

The user has requested enhancement of the downloaded file.


IMPLEMENTAO DE REDES NEURAIS ARTIFICIAIS UTILIZANDO A LINGUAGEM DE
PROGRAMAO JAVA

Jos R. Campos1, Anna D. P. Lotufo1, Carlos R. Minussi1, Mara L. M. Lopes1


1
UNESP, Ilha Solteira, Brasil, jrcampos82@gmail.com, annadiva@dee.feis.unesp.br, minussi@dee.feis.unesp.br, mara@mat.feis.unesp.br

Abstract: This work develops a feedforward neural network complexos que no poderiam ser solucionados com antigas
by backpropagation algorithm emphasizing the JAVA tcnicas de programao, neste artigo sero abordados os
language. To illustrate the proposed methodology is used an principais conceitos da OOP como, classes, polimorfismo,
example with data from a Multi Machine Electrical Power encapsulamento, abstrao e herana, aplicando-a no
System Transient Stability Analysis aiming to provide an sistema neural retropropagao.
efficient diagnosis. A linguagem de programao JAVA foi desenvolvida
pela Sun Microsystems para automao no desenvolvimento
Keywords: JAVA, Object Oriented Programming, Artificial de uma rede neural. A escolha dessa linguagem se deve ao
Neural Networks. fato dela proporcionar uma extensa reduo na
complexidade no desenvolvimento de software e aumentar a
1. INTRODUO produtividade. A anlise, projeto e programao orientada a
objetos so as respostas para o aumento da complexidade
As Redes Neurais Artificiais (RNA) so concepes em dos ambientes computacionais que se caracterizam por
hardware e / ou software que exibem capacidade de sistemas heterogneos, distribudos em redes, em camadas e
aprender com a experincia. Para se conseguir os resultados baseados em interfaces grficas. A OOP fundamenta-se na
desejados, ou seja, que a rede apresente condies de efetuar modelagem e design do cdigo-fonte em unidades
diagnsticos complexos como caso do reconhecimento de funcionais independentes, reduzindo a complexidade do
padro, previso, etc, tais redes devero apresentar problema e viabilizando o desenvolvimento. Alm disso,
configuraes formadas por vrias unidades de "neurnios", foram desenvolvidos mdulos para os modelos
dispostas em fileiras, compondo um arranjo complexo de estabelecidos para a simulao/soluo do problema real e
interligaes [1]. As interligaes so formadas por pesos no de acordo com a lgica de programao de
(sinapses) que devem ser ajustados em funo de um computadores [5].
conjunto de padres que produzam sadas desejadas. Esta Portanto, a superioridade dessa metodologia consiste no
atividade definida como sendo Treinamento ou design do cdigo-fonte abstraindo-se os modelos fsicos de
Aprendizado, sendo elaborado em off-line. Uma vez acordo com o pensamento humano (classes, hierarquias e
ajustada a rede dever ser capaz de emitir, para padres no polimorfismo).
constantes no conjunto de treinamento, um diagnstico com No caso de um software de modelagem de um sistema
preciso satisfatria. Este diagnstico pode ser efetuado sem eltrico, as barras, circuitos, impedncias mtuas, faltas, etc.
custo computacional. Isto, a princpio, pode ser visto como podem ser modelados segundo as especificaes dos
uma possibilidade de viabilizao da anlise em tempo real. prprios componentes, ao contrrio da mera modelagem
A maioria das redes neurais feedforward supervisionadas matemtica atravs de matrizes, que so comuns em
encontradas na literatura treinada utilizando o algoritmo softwares legados.
retropropagao (backpropagation) [2], [3], o qual A engenharia de software, por sua vez, consiste na
considerado um benchmark em termos de preciso. gesto das prticas utilizadas no desenvolvimento de um
O objetivo deste artigo desenvolver uma programao aplicativo: especificaes, projetos, controle de qualidade do
orientada a objeto, especificamente a linguagem JAVA, cdigo-fonte, organizao, testes, etc. [5].
envolvendo a rede neural artificial feedforward com Assim, o artigo mostra uma aplicao simples de
algoritmo retropropagao. diagnstico de dados efetuados para analise de estabilidade
A Programao Orientada a Objeto (OOP Object de um sistema eltrico de 3 mquinas [6].
Oriented Programming) pressupe uma organizao de
software em termos de coleo de objetos discretos 2. REDES NEURAIS ARTIFICIAIS
incorporando estrutura e comportamento prprios. Deste
modo, essa organizao se difere fundamentalmente das 2.1. Estrutura da Rede Neural
estruturas dos softwares tradicionais [4].
O desenvolvimento de softwares se tornou cada vez mais Uma rede neural artificial, [1], [7], [8] corresponde a um
complexo durante os anos, e assim, foram surgindo grandes conjunto de neurnios artificiais separados em camadas
necessidades para resoluo de problemas cada vez mais (entrada, intermediria e sada).

1
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 391
Implementao De Redes Neurais Artificiais Utilizando A Linguagem De Programao Java
Jos R. Campos, Anna D. P. Lotufo, Carlos R. Minussi, Mara L. M. Lopes

O processamento de um neurnio artificial resume-se em Vi (h + 1) = Vi (h) i (h) (3)


[9]: sendo:
i (h) = [i (h)];
1. Um conjunto de entradas (sinais) X, x1, x2, ..., xn, so
apresentados rede; = taxa de treinamento;
2. Cada sinal ponderado por um peso associado V, h = ndice da iterao;
w1, w2, ..., wn, que indica sua influncia na sada da i (h) = gradiente do erro quadrtico com relao aos
unidade; pesos do neurnio i avaliado em h;
3. As entradas ponderadas so aplicadas ao bloco Vi = vetor contendo os pesos do neurnio i
somatrio, , onde se adiciona tambm uma entrada = [ w0i w1i w2i . . . wni ]T.
independente, x0 = 1, denominada bias;
4. A sada intermediria do neurnio , ento, dada por [3]: O parmetro serve como controle de estabilidade do
processo iterativo.
n Na Equao (3), a direo adotada para minimizar a
si = wi j x j (1) funo objetivo do erro quadrtico corresponde direo
j
contrria ao gradiente. O gradiente i (h) pode ser
5. A sada , ento, convertida em no-linearidade atravs expresso por [3], [7]:
das funes de ativao (rel ou sigmide).
i2 i
2.1. Treinamento da Rede Neural i ( h) = = 2 i (4)
Vi (h) Vi (h)
A rede neural possui a capacidade de aprender, para
tanto, ela deve ser treinada, ajustando assim os seus pesos.
A funo de ativao utilizada na aplicao abordada
Para tal, necessita-se de algoritmo de treinamento, neste
(neste caso, analise de estabilidade cuja varivel analisada
caso, utiliza-se o algoritmo retropropagao.
margem de segurana do sistema) a funo sigmide
O algoritmo retropropagao um procedimento
definida por [3], [7], [9]:
sistemtico de adaptao de pesos de redes neurais, baseado
no mtodo do gradiente descendente, que consiste em
adaptar os pesos de tal forma, que o erro quadrtico da rede 1
yi = (5)
seja minimizado. realizado da seguinte forma [3], [9]: 1 + e( si )
sendo:
1. Apresentao de um padro X rede, o qual fornece = constante que determina a inclinao da curva yi
uma sada Y;
2. Clculo do erro (diferena entre o valor desejado e a Diferenciando a Equao (2) com relao ao vetor Vi,
sada) para cada sada; obtm-se:
3. Determinao do erro retropropagado pela rede
associado derivada parcial do erro quadrtico; i yi yi si
4. Ajuste dos pesos de cada elemento; = = (6)
Vi Vi si Vi
5. Por fim, um novo padro apresentado rede e o
processo repetido at que ocorra a convergncia, ou
Da Equao (6), resulta-se:
seja, (erro < tolerncia preestabelecida) ou o nmero de
iteraes corresponda a um valor mximo previamente
estabelecido i si
= sgm' ( si ) (7)
Vi Vi
O algoritmo retropropagao consiste na adaptao de em que:
pesos, tal que, o erro quadrtico da rede minimizado. A yi
soma do erro quadrtico instantneo de cada neurnio sgm' ( si ) = = yi ( 1 yi ) , derivada parcial de yi
alocado na ltima camada dada por [3]: si
ns com relao a si.
2 = i2 (2)
i =1 Observa-se que:
sendo: si
= Xi (8)
i = d i - yi ; Vi
di = sada desejada do i-simo elemento da ltima sendo:
camada da rede; Xi vetor padro;
y i = sada do i-simo elemento da ltima camada da
= [ x 0 i x1i x 2 i K x n i ] T.
rede;
ns = nmero de neurnios da ltima camada da rede.
Substituindo a Equao (8) na Equao (7), tem-se:
Considerando-se o neurnio de ndice i da rede, e
utilizando-se o mtodo do gradiente descendente [3], [9], o i
ajuste de pesos pode ser formulado como: = sgm' ( s i ) X i (9)
Vi

2
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 392
Inserindo-se a Equao (9) na Equao (4), resulta em: Nesta seo sero abordados os principais conceitos que
permeiam o uso das tcnicas de OOP utilizando a linguagem
i (h) = 2 i sgm' ( s i ) X i (10) de programao JAVA.
Um dos grandes diferenciais desta tcnica em relao a
Utilizando (10) estimado no mtodo do gradiente outros paradigmas de programao o conceito de herana,
descendente, obtm-se o seguinte algoritmo [3], [7]: mecanismo no qual permite a extenso de definies j
existentes. importante enfatizar tambm juntamente com o
conceito de herana a importncia do polimorfismo, que a
Vi (h + 1) = Vi (h) + 2 i ( yi ( 1 yi ) ) X i (11) capacidade de invocar mtodos que tem a mesma
identificao (assinaturas), porm comportamentos distintos
Os pesos iniciais so normalmente adotados como [12]. Para considerar-se um sistema OOP, necessrio levar
nmeros randmicos, visto que a iniciao nula quase em conta pelo menos 4 caractersticas:
sempre proporciona baixa convergncia [3].
Uma formulao bastante interessante o algoritmo Classificao;
retropropagao com momento que faz com que o Herana;
algoritmo se torne mais rpido. Polimorfismo;
O processo de aprendizagem exige com que a mudana
Encapsulamento.
nos pesos seja proporcional a i / Vi . O gradiente
descendente requer que uma infinidade de passos sejam
tomados. Considera-se, por exemplo, uma taxa de 3.1. Classe
treinamento grande o possvel para que haja oscilao sem A definio de classes e seus inter-relacionamentos so
direo. Assim, um meio de evitar a oscilao para conhecidos como o gabarito para a definio de seus
grande, tomar uma variao no peso dependente da objetos, apresentando-se quais propriedades, atributos o
variao do peso passado acrescentando o termo momento. objeto ter. Classe, no descreve somente os atributos, mas
Este procedimento se constitui no algoritmo tambm o comportamento dos objetos, ou seja, quais
retropropagao com momento [11]. funcionalidades podero ser aplicadas aos objetos, essas
A adaptao dos pesos, neste caso, pode ser formulada funcionalidades so descritas atravs de mtodos. Um
da seguinte forma [3]: mtodo nada mais que o anlogo a uma funo ou
procedimento, diferindo-se somente que ele manipula os
vij (h+1) = vij (h) + vij (h) (12) atributos da classe e variveis locais definidos [13].
sendo: Um exemplo de classe utilizando a linguagem JAVA
vij (h) = 2 (1 - ) j xi + vij (h-1); (13) descrito na Figura 1.
vij = peso correspondente interligao entre o i-
simo e j-simo neurnio;
= taxa de treinamento;
= constante momento (0 < 1).

Se o elemento j encontrar-se na ltima camada ento:

j = j j (14)
em que:
j = derivada da funo sigmide com relao a sj.
Figura 1. Exemplo de classe.

Se o elemento j encontrar-se nas demais camadas tem-


se: A Figura 1 apresenta uma classe MLP (Multi Layer
Perceptron) que compe o pequeno projeto de redes neurais
j = j w j k k (15)
artificiais cujo algoritmo de treinamento utilizado o
k R ( j)
algoritmo retropropagao.
sendo:
R(j) = conjunto dos ndices dos elementos que se 3.2. Objeto
encontram na fileira seguinte fileira do
elemento j e que esto interligados ao elemento No contexto de OOP, um objeto uma entidade capaz de
j. guardar estados (informaes) e de realizar operaes
(comportamento) que podem se utilizar dos estados, bem
como modific-los, um objeto tambm conhecido como
3. ORIENTAO A OBJETO instncia quando pertencer a uma classe. As declaraes de
um objeto so denominadas mtodos e suas informaes
A orientao a objeto (OOP) no tem a inteno de atributos [13].
substituir a programao estrutural tradicional, desta forma
ela uma evoluo das tcnicas que vem sendo muito
3.3. Herana
empregadas nos ltimos tempos, porm no formalizadas,
como visibilidade, escopo e utilizao de variveis locais O conceito de herana organiza as classes para reuso,
[12]. isto , faz-se o uso da herana para resolver o problema de

3
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 393
Implementao De Redes Neurais Artificiais Utilizando A Linguagem De Programao Java
Jos R. Campos, Anna D. P. Lotufo, Carlos R. Minussi, Mara L. M. Lopes

classes que compartilham caractersticas iguais. Tomando especfico, h alguns passos necessrios para a o sucesso do
como exemplo a classe Neurnio, Neurnio Intermedirio, aprendizado da rede. So eles:
Neurnio de Sada, ambos so variaes da classe Neurnio,
ou seja, todos eles tm caractersticas iguais, porm 4.1.1. Coleta dos dados e configurao
comportamentos diferentes ao longo do programa.
Neurnio, seja de entrada, intermedirio ou de sada, pode Os dois primeiros passos para o desenvolvimento da rede
conter pesos, dados de entradas, dados de sadas, porm o a abstrao dos dados relativos ao problema e a sua
clculo do erro para cada um se difere [13]. separao em conjuntos, treinamento e diagnstico. Esta
tarefa requer uma minuciosa anlise para que no haja
problemas como ambigidade e erros nos dados. Alm
disso, os dados devem ser significativos e cobrir
amplamente o problema em questo.
Normalmente os dados coletados so separados em duas
categorias, dados de treinamento que sero utilizados para o
treinamento da rede e diagnstico, que sero utilizados para
verificao da performance (desempenho) sob condies
reais de utilizao.
Figura 2. Exemplo de classe com herana.
4.1.2. Configurao da rede
A Figura 2 ilustra um exemplo de classe utilizando O terceiro passo quem denomina o comportamento da
herana, em Java pode-se observar o uso da palavra extends, rede conforme os padres de entrada e diagnsticos
isto indica que a classe Neurnio Intermedirio herda as apresentados no passo um e dois.
caractersticas da classe Neurnio, deste modo, notrio o Determinao dos parmetros da rede como:
reuso da classe poupando assim a sobrecarga de cdigos
repetitivos. Herana a principal caracterstica de um a) Taxa de Treinamento - ;
sistema OOP. Como citado em [14], um sistema que no faz b) Inclinao da funo de ativao - ;
o uso de herana no considerado um sistema totalmente c) Bias;
OOP. d) Taxa do momento - ;
Desta forma, a principal vantagem da herana evitar a e) Escolha da funo de ativao.
duplicidade, podendo unicamente herdar caractersticas de
uma classe-pai e especializar mtodos e atributos.
Estes passos tem um grande impacto na performance
(desempenho) da rede neural, pois, uma boa escolha desses
3.4. Polimorfismo parmetros a rede ter grande sucesso em sua convergncia,
A caracterstica de polimorfismo a capacidade de embora a definio dessas configuraes seja de forma
modificar e interagir com os objetos sem a necessidade do emprica.
conhecimento prvio de sua classe, atravs de
comportamento dinmico [15]. Em outras palavras, esses 4.2. Integrao
comportamentos podem possuir mtodos homnimos,
Finalmente, com a rede j configurada e treinada, ela j
porm com resultados distintos e comportamentos distintos.
pode ser introduzida no ambiente da aplicao na qual ela
Assim o polimorfismo, junto com o encapsulamento, que
foi projetada. Para maior facilidade da operao, foi
ser abordado a seguir, proporciona um cdigo mais
desenvolvido uma interface grfica para os passos um, dois
inteligvel e aumenta o nvel da dinmica proposta pela OOP
e trs visando um grande aumento de produtividade e
[15].
minimizando a complexidade da integrao.
3.5. Encapsulamento
4.3. Idealizao da Rede Neural
Segundo Jacobson [15], a capacidade de definir
O sistema desenvolvido traz consigo uma interface bem
restrio a visibilidade, de acesso e modificao dos
intuitiva para o usurio, pois ela permite a configurao da
atributos e mtodos, assim possvel encapsular mtodos e
rede de forma rpida e bem customizada em trs etapas.
atributos para que exista uniformidade de acesso durante e
Na primeira, apresentado ao usurio um sistema de
depois do acesso, sem que haja a necessidade da
procura de arquivo em que se encontram os dados inerentes
modificao dos objetos dependentes de tais operaes.
ao treinamento em questo. Neste arquivo, constam os
padres de entradas e sadas.
4. APLICAO DA REDE NEURAL EM JAVA O prximo passo requer a configurao das camadas da
rede. O sistema automaticamente arbitra os melhores dados
4.1. Desenvolvimento da Aplicao de acordo com os dados fornecidos na primeira etapa,
porm, tambm possvel a seleo do nmero de neurnios
Para este trabalho foi desenvolvido na linguagem JAVA em cada camada atravs do boto Customizar. Nesta fase,
uma interface grfica para que o usurio entre com as ento apresentado um preview do arquivo na janela do
configuraes e os dados de entrada por um arquivo programa, conforme visto na Figura 5.

4
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 394
Na terceira e ltima etapa, o usurio entrar com os Aps ter concludo as trs etapas, inicia-se o treinamento
dados referentes ao treinamento, tais como: taxa de clicando no boto Iniciar o processo de treinamento. Caso
treinamento, erro mnimo tolervel, quantidade de pocas, a rede tenha convergido, apresentado um grfico (Figura
valor do bias, inclinao da funo de ativao, momento, 6) contendo a mdia do erro quadrtico da rede, e ao mesmo
tipo de funo de ativao e as configuraes iniciais dos tempo, sugere-se ao usurio diagnosticar a rede para a
pesos. conferncia do treinamento, o grfico do diagnstico
Nestas duas ltimas, o sistema permite ao usurio ilustrado na Figura 7.
selecionar atravs de caixa de seleo outros
comportamentos a seguir: 4.4. Aplicao na anlise de sensibilidade
a) Seleo do tipo da funo de ativao: Sigmide Neste artigo considera-se um exemplo para aplicao
Logstica, Tangente Hiperblica, Rel, etc. mostrada na Anlise de Estabilidade Transitria de um Sistema de
na Figura 3; Energia Eltrica composto por 3 mquinas sncronas, 7
linhas de transmisso e 9 barras [16].
Na anlise de estabilidade transitria adotado o modelo
clssico [6] e ela corresponde obteno da margem de
segurana para contingncias de curto-circuito com sada de
linha de transmisso sob defeito.
O objetivo do trabalho evidenciar a aplicabilidade e
simplicidade da rede neural feedforward com algoritmo
retropropagao atravs da linguagem de programao
JAVA.
Neste artigo ser mostrada a aplicao da rede neural
para o diagnstico da margem de segurana para o sistema
de 3 mquinas [6].

Tabela 1. Parmetros utilizados na rede neural.

Sistema Anderson &


Item
Fouad
Nmero de vetores padres 40
Nmero de camadas 3
Nmero de neurnios por camadas 5-10-1
Tolerncia 0,0001
Taxa de treinamento - 0,3
Momento - 0,8
Figura 3. Escolha da funo de ativao. Inclinao da funo sigmide - 0,3

b) Seleo do tipo de sementes iniciais para os pesos: Na Tabela 1 so apresentados os parmetros que foram
Pesos com valor entre -1 e 1, com valores entre 0 e 1 utilizados no treinamento e diagnostico da rede neural.
ou pesos aleatrios como ilustra a Figura 4.

Figura 5. Interface da rede neural na linguagem JAVA.


Figura 4. Escolha dos pesos.

5
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 395
Implementao De Redes Neurais Artificiais Utilizando A Linguagem De Programao Java
Jos R. Campos, Anna D. P. Lotufo, Carlos R. Minussi, Mara L. M. Lopes

A Figura 5 mostra a interface do programa JAVA para a Tabela 2. Resultados reais e obtidos pela rede neural.
rede neural feedforward com algoritmo retropropagao.
Pode-se observar que a interface proporciona ao usurio a Sada Sada Sada Sada Sada Sada Sada Sada
Real Obtida Real Obtida Real Obtida Real Obtida
disponibilizao de todos os parmetros que so utilizados
no processamento da rede neural. 0.510 0.519 0.345 0.349 0.215 0.214 0.100 0.128
0.420 0.434 0.355 0.353 0.300 0.279 0.225 0.218
Nota-se tambm, que os dados de entrada da rede neural 0.225 0.155 0.090 0.035
0.221 0.139 0.091 0.063
utilizados na aplicao tanto para o treinamento quanto para 0.225 0.220 0.155 0.131 0.100 0.082 0.040 0.056
o diagnostico da rede neural, que neste caso analise de 0.585 0.598 0.445 0.431 0.265 0.269 0.105 0.150
sensibilidade, so indexados ao processo como um arquivo 0.665 0.675 0.575 0.582 0.505 0.482 0.370 0.386
de dados. 0.470 0.478 0.370 0.378 0.295 0.292 0.255 0.219
A interface proporciona ao mesmo tempo uma conexo 0.310 0.321 0.240 0.236 0.180 0.176 0.125 0.132
0.415 0.421 0.330 0.339 0.265 0.261 0.210 0.195
da entrada de dados, que sero utilizados na rede neural, e 0.270 0.262 0.195 0.197 0.135 0.148 0.090 0.112
da sada de dados que fornecem os resultados pertinentes a
cada aplicao. A sada do nmero de iteraes obtida pela Na Tabela 2 observam-se os resultados obtidos, via
rede neural e o tempo de processamento esto indicados na mtodo PEBS (sada real) [16] e pela rede neural
parte inferior da interface. feedforward com treinamento retropropagao (sada
Durante o processamento do treinamento da rede neural obtida). Observa-se que a RNA gerar diagnsticos prximos
criada uma interface grfica aps a convergncia da rede dos dados fornecidos via PEBS.
como mostra a Figura 6. Esta interface representa a
evoluo do erro obtido no treinamento da rede neural at a
5. CONCLUSO
convergncia.
Este artigo apresenta uma metodologia para
treinamento de redes neurais feedforward baseado no
algoritmo retropropagao executada atravs de uma
programao orientada a objeto. Para demonstrar a
facilidade da analise e do desenvolvimento da rede neural
feedforward com algoritmo retropropagao foi
desenvolvido um sistema de anlise de estabilidade
transitria de um Sistema de Energia Eltrica Multi-
mquinas (Sistema Anderson & Fouad) [6].
O enfoque principal do artigo a implementao da rede
neural de tal forma que ela tivesse uma linguagem mais
acessvel para vrios profissionais de diversas reas podendo
ser aplicada em inmeras situaes. A dificuldade de
implementao do algoritmo faz com que os pesquisadores
procurem programas mais dinmicos como por exemplo o
Figura 6. Interface grfica do erro obtido pela rede neural. MATLAB. Porm, nem todos os programas oferecem o
suporte tcnico necessrio para a anlise total da aplicao.
Aps a execuo do treinamento torna-se ativo o cone Uma tcnica inovadora que est sendo muito difundida no
de diagnostico o qual realizado seguidamente gerando a ambiente de desenvolvimento de aplicativos a
interface grfica ilustrada pela Figura 7. Este grfico mostra programao orientada ao objeto.
os resultados reais da aplicao e os resultados obtidos pela A grande vantagem de utilizar a tcnica de programao
rede neural. orientada a objeto que ela proporciona maior facilidade na
programao, uma maior reutilizao de cdigo e
independncia no desenvolvimento de mdulos.
Dentre as linguagens de programao orientada a objeto
existentes foi escolhida a linguagem de programao JAVA,
por ser totalmente orientada a objeto, por ter grande
facilidade na construo de interfaces grficas atravs do
aplicativo NetBeans IDE 6.8. Desta forma, foram
desenvolvidas interfaces para a interao com o usurio a
fim de estabelecer simplicidade na customizao da rede.
O presente trabalho no enfatiza somente o
desenvolvimento da rede neural para a anlise de
estabilidade, mas sim na utilizao da tcnica da OOP.
Foram apresentadas no decorrer do trabalho, vrias
Figura 7. Comparao entre os resultados reais e resultados obtidos. vantagens na utilizao e aplicao da mesma, dessa forma,
os resultados esperados foram muito satisfatrios.
No caso da aplicao na anlise de estabilidade
transitria o objetivo, neste artigo, utilizar a rede neural AGRADECIMENTOS
para diagnosticar as margens de segurana para um conjunto Agradeo a Universidade Estadual Paulista - Jlio de
de potncias. Mesquita Filho (UNESP) Campus de Ilha Solteira por ter

6
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 396
proporcionado uma estrutura adequada para o trmino deste
trabalho.

REFERENCIAS
[1] T. L. Fine, Feedforward Neural Network Methodology,
Springer-Verlag, USA, 1999.
[2] P. J. Werbos, Beyond Regression: New Tools for Prediction and
Analysis in the Behavioral Sciences, Master Thesis, Harvard
University, 1974.
[3] B. Widrow, M. A. Lehr, 30 Years of Adaptive Neural Networks:
Perceptron, Madaline, and Backpropagation, in Proceedings of
the IEEE, Vol. 78, No. 9, pp. 1415-1442, 1990.
[4] A. Boente, Livro Aprendendo a Programar em Java 2 -
Orientado a Objetos, ed. 1, Brasport, So Paulo, 2003.
[5] G. Voss, M. G. Hill, Object-Oriented Programming: An
Introduction, Addison Wesley, New York, 1991.
[6] P. M. Anderson, A. A. Fouad, Power System Control and
Stability, IEEE Series on Power Engineering, USA, ed. 2, 2003.
[7] S. Haykin, Neural Networks: A Comprehensive Foundation,
Prentice-Hall, Upper Saddle River, New Jersey, USA, 1999.
[8] P. K. Simpson, Artificial Neural Systems: Foundations,
Paradigms, Applications and Implementations, Pergamon Press,
New York, 1989.
[9] M. L. M. Lopes, Desenvolvimento de um Sistema Previsor de
Cargas Eltricas via Redes Neurais, Dissertao de Mestrado,
Programa de Ps-graduao em Engenharia Eltrica - Faculdade
de Engenharia de Ilha Solteira - UNESP, 2000.
[10] C. R. Minussi, M. C. G. Silveira, Electric Power System
Transient Stability by Neural Networks, 38 Th Midwest
Symposium On Circuits And System, Rio de Janeiro-RJ, pp.
1305-1308, 1995.
[11] B. Krose, P. V. Smagt, An Introduction to Neural Networks,
University of Amsterdam, November 1996.
[12] A. A. Melo, M. G. F. Nascimento, Aprenda a Desenvolver
Sistemas Profissionais Orientados a Objetos com Padres de
Projeto, ed. 1, Novatec, So Paulo, 2007.
[13] C. Cardoso, Orientao a Objetos na Prtica, ed. 1, Cincia
Moderna, So Paulo, 2006.
[14] A. Leite, FJ-11 - Java e Orientao a Objetos, Apostila do
Curso FJ11 CAELUM Ensino e Inovao, 2009.
[15] I. Jacobson, Object Oriented Software Engineering: A Use Case
Driven Approach (Hardcover), Addison-Wesley, 1992.
[16] A. D. P. Lotufo, Anlise de Sensibilidade por Redes Neurais para
Estudos de Estabilidade Transitria de Sistemas Eltricos de
Potncia, Tese de Doutorado, Programa de Ps-Graduao em
Engenharia Eltrica, UNESP, Campus de Ilha Solteira, 2004.

7
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications
Serra Negra, SP - ISSN 2178-3667 397
View publication stats