Você está na página 1de 27

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CINCIAS EXATAS E TECNOLOGIA


DEPARTAMENTO DE ENGENHARIA ELTRICA
ORIENTARDOR: PROF. CARLOS ALBERTO V. CARDOSO
ALUNA: TARCIANA ALVES ALMEIDA



REDES NEURAIS NO
MATLAB
INTRODUO
DEFINIES:

1. Tcnica inspirada no funcionamento do
crebro, onde neurnios artificiais, conectados
em rede, so capazes de aprender e de
generalizar.
2.Isso significa que se a rede aprende a lidar
com um certo problema, e lhe apresentado um
similar, mas no exatamente o mesmo, ela
tende a reconhecer esse novo problema,
oferecendo a mesma soluo.



Componentes do neurnio artificial
As sinapses (entradas), com seus pesos associados

A juno somadora; e

A funo de ativao.

w
k1
w
k2
w
km
E f(u
k
)
x
1
x
2
x
m
u
k
w
k0
=b
k
y
k
sinais
de
entrada
pesos
sinpticos
juno
aditiva
(bias)
funo
de ativao
sada
w
k0
x
0
=+1
entrada fixa
Princpio de funcionamento
A operao de um neurnio artificial se resume em:

Sinais so apresentados entrada (x
1
x
m
);
Cada sinal multiplicado por um peso que indica
sua influncia na sada da unidade (w
k
);
feita a soma ponderada dos sinais que produz
um nvel de atividade (u
k
);
A funo de ativao f(u
k
) tem a funo de limitar
a sada e introduzir no-linearidade ao modelo.
O bias b
k
tem o papel de aumentar ou diminuir a
influncia do valor das entradas.

Expresso Matemtica do Neurnio
Artificial
|
|
.
|

\
|
+ = =

=
m
j
k j kj k k
b x w f u f y
1
) (
Matematicamente a sada pode ser expressa por:





Caractersticas Tpicas de Redes Neurais
Artificiais
Caractersticas Positivas

Capacidade de Aprendizado: RNA no so programadas, mas treinadas com padres de
treinamento. Podem ser adaptadas atravs das entradas.

Paralelismo: RNA so massivamente paralelas e so portanto muito bem adequadas para
uma simulao/implementao em computao paralela.

Representao distribuda do conhecimento: O conhecimento armazenado de forma
distribuda em seus pesos. O que aumenta muito a tolerncia do sistema a falhas de neurnios
individuais; permite o processamento paralelo.

Tolerncia falhas: O sistema pode ser mais tolerante a falhas de neurnios individuais que
algoritmos convencionais. A rede deve, no entanto, ser treinada para apresentar esta
caracterstica. Nem toda rede automaticamente tolerante a falhas.

Armazenamento associativo da informao: Para um certo padro de entrada a RNA
fornece o padro que lhe mais prximo. O acesso no feito por endereamento.

Robustez contra perturbaes ou dados ruidosos: Quando treinadas para tanto as redes
neurais so mais robustas a padres incompletos

Caractersticas Tpicas de Redes Neurais
Artificiais
Caractersticas Negativas
Aquisio de conhecimento s possvel atravs de aprendizado:
Principalmente devido representao distribuda muito difcil (exceo: rede
de Hopfield para problemas de otimizao) introduzir conhecimento prvio em
uma RNA. Isto muito comum em sistemas de IA simblicos.

No possvel a introspeco: No possvel analisar o conhecimento ou
percorrer o procedimento para a soluo,como possvel com os componentes de
explicao de sistemas especialistas.

Difcil deduo lgica (seqencial): virtualmente impossvel obter-se cadeias
de inferncia lgica com redes neurais.

Aprendizado lento: Principalmente redes completamente conectadas e quase
todas as variantes dos algoritmos backpropagation so muito lentas.

Aplicaes de redes neurais
classificao de dado
anlise de imagens;
anlise de voz;
anlise de aroma e odor (nariz eletrnico);
Reconhecimento de assinatura
Reconhecimento de faces e outros biomtricos
Criando Redes Neurais
Existem vrios tipos de rede neural. A mais
comum o modelo MLP (multi layer
perceptron).
ENTRADA SADA
Camada
1
Camada
2
Camada
3
Rede feedforward de Mltiplas Camadas
(Multilayer Perceptron - MLP)
Treinamento da rede neural
Durante o treinamento, a rede neural receber
a matriz de dados e o alvo.
Todos os pesos de todos os neurnios sero
modificados para obter a classificao
desejada.
Exemplo 01
% cria a estrutura da RNA com um perceptron
% [min; max], nmero de neurnios

net = newp([-2 2; -2 2], 1)
P = *0 0; 0 1; 1 0; 1 1+; % entradas
T = [0 1 1 1]; % sadas
figure; % cria nova figura
plotpv(P, T); % plota as entradas/sadas
lh = plotpc(net.IW{1}, net.b{1}) % plota linha que separa as classes
hold on
for cont=1:6,
net = adapt(net, P, T); % treinamento
lh = plotpc(net.IW{1}, net.b{1}, lh);
drawnow;
pause;
Y = sim(net, P) % propagao
end;
hold off;
Criao e treinamento de um Percepton

Criao e treinamento de um Percepton
Criao e treinamento de um Percepton
Criao e treinamento de um Percepton
Exemplo 02
% cria uma rede BP para solucionar o problema do XOR

P = [-1 -1; -1 1; 1 -1; 1 1]; % entradas
T = [-1 1 1 -1]; % sadas
net = newff([-1 1; -1 1], [2 1]); % criao da rede BP
a = sim(net, P.)
net = train(net, P., T);
a = sim(net, P.)
TREINAMENTO

a =

0.4012 0.6344 -0.5085 0.6298


a =

-0.9996 0.9995 0.9996 -0.9985
Exemplo 03
FUNO SENO

x = -pi:pi/16:pi;
y = sin(x);
plot(x,y);
pause;
Criao e treinamento de uma rede
BackPropagation
% cria uma rede BP para aproximar a funo seno
% entradas podem variar de -pi at pi
% 20 neurnios na camada oculta
% 1 neurnio na camada de sada

net = newff([-pi pi], [20 1]);
a = sim(net, x);
plot(x, a);
pause;

% a rede inicia com pesos aleatrios. Ento...
Criao e treinamento de uma rede
BackPropagation

Criao e treinamento de uma rede
BackPropagation
% treina a rede BP para aproximar a funo seno

net = train(net, x, y);
a = sim(net, x);
plot(x, a);
pause;
Criao e treinamento de uma rede
BackPropagation
Criao e treinamento de uma rede
BackPropagation
% repetindo para 500 pocas de treinamento

net = init(net); % inicializa novamente os pesos
net.trainParam.epochs = 500;
net = train(net, x, y);
a = sim(net, x);
plot(x, a);
Criao e treinamento de uma rede
BackPropagation