You are on page 1of 35

Redes Neurais Artificiais

Multi Layer Perceptron

Adriano Cruz

Universidade Federal do Rio de Janeiro

13 de maro de 2013

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 1 / 69

Resumo Seo

1 Introduo

2 Treinamento

3 Treinamento - Teoria

4 Programando
Aproximando Funo
Iris
Clustering

5 Referncias

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 2 / 69


Onde me achar?

1 mensagem::adriano@nce.ufrj.br
2 pgina::http://equipe.nce.ufrj.br/adriano
3 sala::NCE - Sala E1033
4 tel::2598-3163

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 3 / 69

At agora?

Perceptron e Adaline resolvem problemas linearmente separveis.


Funes lineares.
Somente uma camada.
Para problemas mais complexos.
Funes no lineares.
Mais de uma camada.
Uma possvel soluo Multi Layer Perceptron.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 4 / 69


MLPs

RNAs de mltiplas camadas resolvem problemas no linearmente


separveis.
Uma funo contnua pode ser aproximada por uma rede com uma
camada oculta, desde que a camada de sada seja linear e a camada
oculta utilize uma funo de propagao contnua, no-constante,
limitada e monotonicamente crescente (Teorema da Aproximao
Universal).

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 5 / 69

MLPs

P1 1 1 1 Y1

P2 2 2 2 Y2

Pn0 n0 n1 nL Ynl

C0 C1 CL

Camada Camadas Camada


de Escondidas de
Entrada Sada

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 6 / 69


Neurnio modificado

A funo de ativao substituda por uma sigmide ou tangente


hiperblica.
+1
x1 w0
w1
x2 w2

net
Y

wn
xn

Correo

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 7 / 69

Resumo Seo

1 Introduo

2 Treinamento

3 Treinamento - Teoria

4 Programando
Aproximando Funo
Iris
Clustering

5 Referncias

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 8 / 69


Como o treinamento?

Cada ciclo (epoch) tem duas fases.


Forward
Da camada de entrada para a camada de sada.
Apresentao das entradas e gerao das sadas.
Backward
Da camada de sada para a camada de entrada.
Atualizao dos pesos.
Para camadas intermedirias, estimativa do erro a partir do erro da
camada seguinte.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 9 / 69

Estratgias - Perodo

Por padro (incremental)


Os pesos so ajustados aps a apresentao de cada exemplo de
conjunto de entrada.
estvel se a taxa de aprendizado pequena.
rpida se o conjunto de treinamento grande e redundante.
Requer menos memria.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 10 / 69


Estratgias - Perodo

Por ciclo (batch/epoch)


Os pesos so ajustados aps a apresentao de todos os exemplos do
conjunto de entrada.
Geralmente mais estvel.
lenta se o conjunto de treinamento grande e redundante.
Requer mais memria.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 11 / 69

Estratgias - Perodo

Por bloco.
Combina os mtodos de ajuste por padro e ciclo.
Os pesos so ajustados aps a apresentao de k exemplos do conjunto
de treinamento.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 12 / 69


Estratgias - Critrio de Parada

Pelo nmero de ciclos de treinamento.


Pra aps a execuo de k ciclos de treinamento.
Pelo valor do erro (ou mtrica usada).
Pra quando o valor do erro menor que .
Pelo critrio de validao.
Pra quando o erro no conjunto de validao deixa de decrescer.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 13 / 69

Estratgias - Conjunto de Dados

Treinamento e teste separados.


Aproximadamente 70% treinamento 30% testes.
Treinamento, teste e validao.
Aproximadamente 50% treinamento, 30% teste e 20% validao.
Treinamento e teste juntos.
Poucos dados.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 14 / 69


Arquitetura da Rede

Nmero de camadas escondidas da rede?


uma, duas ou mais?
Nmero elementos por camada?
Maior, menor ou igual ao nmero de entradas.
Funes de propagao?
sigmide.
tangente hiperblica
linear

Respostas
No existem frmulas para responder estas questes.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 15 / 69

Sugestes

Nmero de neurnios por camada:


Mdia aritmtica entre entradas e sadas.
Mdio geomtrica entre entradas e sadas.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 16 / 69


Convergncia

Problemas com velocidade da convergncia, mnimos locais e plats.


Taxa de aprendizado adaptativa.
Momento.
Algoritmos alternativos.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 17 / 69

Dificuldades e Solues

Capacidade de Aprendizagem
Aumentar o nmero de elementos na camada escondida.
Aumentar o nmero de camadas escondidas.
Trocar/combinar diferentes funes de propagao.
Rever a representao dos dados.
Utilizar times de redes para resolver partes do problema e despois
combinar solues.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 18 / 69


Dificuldades e Solues

Perda de generalizao
Como evitar?
Pelo critrio de validao.
reduzir a arquitetura da rede.
adicionar rudo aos dados.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 19 / 69

Anlise e Tratamento dos Dados

Separao dos conjuntos de dados.


Tratamento de outliers.
Normalizao.
Reduo de Dimensionalidade.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 20 / 69


Separao dos conjuntos

Quantidade disponvel
Pequena
Usar cross-validation
Gerar dados artificiais (caractersticas estatsticas semelhantes)
Boa
Separar conjuntos de treinamento/teste
Treinamento/teste/validao

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 21 / 69

Outliers

O que so
Pontos fora da curva
Qual sua influncia?
Podem at impedir o aprendizado.
Como tratar?
Eliminar (pode no ser possvel.)
Ajustar

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 22 / 69


Normalizao

Colocar os dados em uma mesma faixa de valores.


Por que?
Evitar que uma dimenso se sobreponha em relao s outas.
Evitar que o aprendizado possa estagnar.
Como?
Por dimenso do problema.
Usando algum dos mtodos disponveis.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 23 / 69

Max-min

Emprega os valores mximos/mnimospara normalizar linearmente os


dados entre [-1,1) ou (-1,1].
x
novox =
max(abs(x))

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 24 / 69


Max-min Equalizado

x min(x)
novox =
max(x) min(x)

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 25 / 69

Z-score

Os dados so normalizados com base na mdia e no desvio padro dos


dados.
Os dados transformados ficam com mdia 0 e varincia igual a 1.
x x
novox =
x

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 26 / 69


Sigmoidal

Os dados so normalizados com base na mdia e no desvio padro dos


dados.
Sofre pouca influncia dos outliers.
1
novox = x x
1+e x

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 27 / 69

Reduo da dimensionalidade

Reduzir o nmero de entradas procurando s que so correlacionadas.


Por que?
Reduz o custo computacional.
Melhora a generalizao.
Mtodos
Principal Component Analysis (PCA).
Linear Discriminant Analysys (LDA).
Clusterizao.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 28 / 69


Resumo Seo

1 Introduo

2 Treinamento

3 Treinamento - Teoria

4 Programando
Aproximando Funo
Iris
Clustering

5 Referncias

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 29 / 69

Treinamento fase forward

1 As entrada so apresentadas primeira camada da rede (Camada 0).


2 Para cada camada 0 < l L a partir da camada de entrada:
1 Os ns da camada i calculam suas sadas.
2 Sadas da camada i servem de entrada para a camada i + 1
3 As sadas produzidas na camada L so comparadas s sadas desejadas.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 30 / 69


Treinamento fase backward

1 A partir da ltima camada at chegar na camada de entrada:


1 Os ns da camada atual ajustam seus pesos de forma a reduzir seus
erros.
2 O erro de um n das camadas intermedirias calculado utilizando-se
os erros dos ns da camada seguinte, a ele conectados, ponderados
pelos pesos das conexes entre eles.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 31 / 69

Parmetros da Rede

nl : nmero de neurnios da camada l (0 l L)


pi : i-sima caracterstica da amostra de treinamento (1 i n0 )
di : i-sima caracterstica da sada desejada para a amostra de
treinamento (1 i nL )
xli : i-sima entrada da l -sima camda (1 l L, 1 i nl1 )
xli = y(l1)i
wlij : peso do i-simo neurnio da l -sima camada em relao
j -sima entrada (1 l L, 1 i nl , 1 j n(l1) )
bli : bias do i-simo neurnio da l -sima camada
(1 l L, 1 i nl )

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 32 / 69


Continuando

netli : ativao do i-simo neurnio da l -sima camada


(1 l L, 1 i nl )
Pn(l 1)
netli = bli + j=1 wlij xlj
fl : funo de propagao da l -sima camada (1 l L)
yli : sada do i-simo neurnio da l -sima camada
(1 l L, 1 i nl )

fl (netli ) se l > 0
yli =
pi se l = 0

hli : erro do i-simo neurnio da l -sima camada


(1 l L, 1 i nl ).
Para a ltima camada, temos: hLi = di yLi

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 33 / 69

Regra Delta generalizada

Avaliao do Erro:
n
1XL
2
E= hLi
2
i =1

wlij : incremento no peso do i-simo neurnio da l -sima camada em


relao j -sima entrada (1 l L, 1 i nl , 1 j n(l1) ):

E E
wlij = wlij =
wlij wlij

wli 0 : incremento na polarizao do i-simo neurnio da l -sima


camada (1 l L, 1 i nl ) (polarizao=entrada 0) :

E E
wli 0 = wli 0 =
wli 0 wli 0

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 34 / 69


Vamos considerar L = 2

Considerando L = 2
Sabendo que: hLi = di yLi

E E h2i
=
w2ij h2i w2ij
E h2i y2i
=
h2i y2i w2ij
E h2i y2i net2i
=
h2i y2i net2i w2ij

Portanto:
E
= h2i (1) f2 (net2i ) x2j
w2ij

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 35 / 69

Continuando

Chamando

eli = hli fl (netli )
de erro ajustado do i-simo neurnio da l -sima camada,
temos
E
= e2i x2j
w2ij
Da mesma forma
E
= e2i
b2i

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 36 / 69


E a camada intermediria
n2
X
E E h2k
=
w1ij h2k w1ij
k=1
Xn2
E h2k y2k
=
h2k y2k w1ij
k=1
Xn2
E h2k y2k net2k
=
h2k y2k net2k w1ij
k=1
Xn2
E h2k y2k net2k x2i
=
h2k y2k net2k x2i w1ij
k=1
Xn2
E h2k y2k net2k x2i y1i
=
h2k y2k net2k x2i y1i w1ij
k=1
Xn2
E h2k y2k net2k x2i y1i net1i
=
h2k y2k net2k x2i y1i net1i w1ij
k=1

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 37 / 69

Ento...

n2
X
E E h2k y2k net2k x2i y1i net1i
=
w1ij h2k y2k net2k x2i y1i net1i w1ij
k=1
Xn2
E
= h2k (1) f2 (net2k ) w2ki (1) f1 (net1i ) x1j
w1ij
k=1

n2
X
= 1 h2k f2 (net2k ) w2ki f1 (net1i ) x1j
| {z }
k=1 e2k
n2
!
X
= 1 e2k w2ki f1 (net1i ) x1j
k=1

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 38 / 69


Finalizando...

Definindo hli para l < L.


nl +1
X
hli = e(l+1)k w(l+1)ki
k=1

Temos
E
= h1i f1 (net1i ) x1j
w1ij
Substituindo e1i ,
E
= e1i x1j
w1ij

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 39 / 69

E o bias

Da mesma forma,
E
= e1i
b1i
Resumindo:

wlij = eli xlj


bli = eli

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 40 / 69


Resumo Seo

1 Introduo

2 Treinamento

3 Treinamento - Teoria

4 Programando
Aproximando Funo
Iris
Clustering

5 Referncias

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 41 / 69

newff

newff: cria uma rede feed-forward backpropagation.


Syntaxe simplificada: net = newff(P,T,S,TF,BTF,BLF,PF)
P: matriz de tamanho R Q1, onde Q1 o nmero de elementos
representativos (Patterns) e R o nmero de entradas.
T : matriz de tamanho SNxQ2 onde Q2 o nmero de elementos
representativos e SN o nmero de sadas dos valores desejados
(Target).
Si : Tamanhos das N 1 camadas escondidas, S1 at S(N1) , default
= [].
Tamanho da camada de sada SN determinada a partir de T .

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 42 / 69


newff continuando...

newff: cria uma rede feed-forward backpropagation.


Syntaxe simplificada: net = newff(P,T,S,TF,BTF,BLF,PF)
TFi : Funo de transferncia da i-sima camada. Default tansig
para camadas escondidas e purelin para camada de sada.
BTF : Funo de treinamento, default = trainlm.
BLF : Funo de aprendizado dos pesos/polarizao, default =
learngdm.
PF : Clculo do desempenho, default = mse.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 43 / 69

train

Treina o MLP para executar uma tarefa.


Forma mais comum: netTreinada = train(net, P, T).
net geralmente a rede gerada por newff.
netTreinada como o nome diz.
P e T so matrizes como as j definidas.
Parmetros que podem ser definidos:
net.trainParam.epochs nmero mximo de pocas,
net.trainParam.lr taxa de aprendizado,
net.trainParam.goal erro mximo desejado.
net.trainParam.lm momentum

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 44 / 69


sim

Aps a criao do MLP, podemos utiliz-lo usando esta funo.


resp = sim(net, P); forma mais simples.
net a estrutura que contm o MLP.
P uma matriz R Q1, onde Q1 o nmero de padres de entrada e
R o nmero de variveis na entrada.
resp a sada da rede, sendo uma matriz de tamanho S Q1.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 45 / 69

Um exemplo
clear all ;
close all ;

P = [ 0 1 2 3 4 5 6 7 8 9 10];
T = [ 0 1 2 3 4 3 2 1 2 3 4];

net = newff (P , T , 10)


Y = sim ( net , P );
plot (P , T , rs - , P , Y , o - );
legend ( T , Y ) , xlabel ( P );

net . t r a i n P a r a m . epochs = 100;


net = train ( net , P , T );
Y = sim ( net , P );

figure ;
plot (P , T , rs - , P , Y , o - );
legend ( T , Y ) , xlabel ( P );

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 46 / 69


Resultado

12 4
T T
Y Y
10 3.5

3
8

2.5
6
2
4
1.5

2
1

0 0.5

2 0
0 2 4 6 8 10 0 2 4 6 8 10
P P

(a) Antes do treinamento (b) Aps o treinamento

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 47 / 69

As Famosas Iris

(d) Iris Virginica (e) Iris Versicolor


(c) Iris Setosa

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 48 / 69


As Famosas Iris

O conjunto conhecido como Iris flower data set ou Fishers Iris data
set foi apresentado por Sir Ronald Fisher (1936) como um exemplo de
anlise discriminante.
Tambm conhecido por Andersons Iris data set porque Edgar
Anderson coletou os dados para quantificar as variaes morfolgicas
de trs espcies das flores Iris.
Duas das trs espcies foram coletadas na pennsula Gasp (Canad)
sendo todas do mesmo local, coletadas no mesmo dia e medidas ao
mesmo tempo, pela mesma pessoa, com os mesmos aparelhos.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 49 / 69

As Famosas Iris

O conjunto consiste de 50 amostras de cada uma das trs espcies da


Iris (Iris setosa, Iris virginica and Iris versicolor).
Quatro caractersticas foram medidas: comprimento e largura das
spalas e ptalas, em centmetros.
Baseado na combinao destas quatro caractersticas, Fisher
desenvolveu o modelo conhecido como o discriminante linear de Fisher
para distinguir cada uma das espcies.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 50 / 69


Exemplo Iris
f u n c t i o n net = c r e a t e _ f i t _ n e t ( inputs , t a r g e t s)
% C R E A T E _ F I T _ N E T C r e a t e s and trains a f i t t i n g neural n e t w o
%
% Create N e t w o r k
n u m H i d d e n N e u r o n s = 20; % Adjust as d e s i r e d
net = newfit ( inputs , targets , n u m H i d d e n N e u r o n s );
net . d i v i d e P a r a m . t r a i n R a t i o = 7 0 / 1 0 0 ; % Adjust as d e s i r e d
net . d i v i d e P a r a m . v a l R a t i o = 1 5 / 1 0 0 ; % Adjust as d e s i r e d
net . d i v i d e P a r a m . t e s t R a t i o = 1 5 / 1 0 0 ; % Adjust as d e s i r e d

% Train and Apply N e t w o r k


[ net , tr ] = train ( net , inputs , t a r g e t s );
o u t p u t s = sim ( net , inputs );

% Plot
p l o t p e r f( tr )
p l o t f i t( net , inputs , t a r g e t s)
p l o t r e g r e s s i o n ( targets , o u t p u t s)

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 51 / 69

Exemplo Iris

% Treina uma rede para os dados iris . dat


clear all ; close all ;
load i r i s T r a i n. dat % Parte dos dados para t r e i n a m e n t

PT = i r i s T r a i n (: ,1:4) ; % Dados de e n t r a d a da rede para t


TT = i r i s T r a i n (: ,5) ; % Dados de saida da rede para tre
net = c r e a t e _ f i t _ n e t ( PT , TT );
load iris . dat
P = iris (: ,1:4) ;
T = iris (: ,5) ;
Y = sim ( net , P );
BY = Y ;
BY ( find (Y < 1 . 2 5 ) ) = 1;
BY ( find (Y >=1.25 & Y < 2.25)) = 2;
BY ( find (Y > = 2 . 2 5 ) ) = 3;
f p r i n t f( A c e r t o u %.2 f por cento \ n , ...
100 * sum ( BY == T ) / size (T ,2));

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 52 / 69


O problema

Quatro classes de dados (A, B, C, D).


Espao bidimensional.
Criar uma RNA capaz de classificar um ponto arbitrrio em uma das
quatro classes.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 53 / 69

Definindo os dados
% number of sample of each class
K = 100;
% Define 4 c l u s t e r s of input data
q = 0.6; % offset of c l a s s e s
A = [ rand (1 , K ) - q ; rand (1 , K ) + q ];
B = [ rand (1 , K ) + q ; rand (1 , K ) + q ];
C = [ rand (1 , K ) + q ; rand (1 , K ) - q ];
D = [ rand (1 , K ) - q ; rand (1 , K ) - q ];
figure (1);
plot ( A (1 ,:) , A (2 ,:) , k + );
hold on ;
plot ( B (1 ,:) ,B (2 ,:) , b * );
plot ( C (1 ,:) , C (2 ,:) , kx );
plot ( D (1 ,:) , D (2 ,:) , bd );
text (.5 -q , .5+2* q , Class A );
text (.5+ q , .5+2* q , Class B );
text (.5+ q , .5 -2* q , Class C );
text (.5 -q , .5 -2* q , Class D );

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 54 / 69


Dados para classificao
2

Class A Class B
1.5

0.5

0.5
Class D Class C

1
1 0.5 0 0.5 1 1.5 2

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 55 / 69

Codificao

% Define output coding


% coding (+1/ -1) of 4 s e p a r a t e c l a s s e s
a = [ -1 -1 -1 +1] ;
b = [ -1 -1 +1 -1] ;
d = [ -1 +1 -1 -1] ;
c = [+1 -1 -1 -1] ;

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 56 / 69


Treinamento

% P r e p a r e inputs and o u t p u t s f o r n e t w o r k t r a i n i g
% define inputs ( c o m b i n e s a m p l e s from all four c l a s s e s)
P = [ A B C D ];
% define t a r g e t s
T = [ repmat (a ,1 , length ( A )) repmat (b ,1 , length ( B )) ...
repmat (c ,1 , length ( C )) repmat (d ,1 , length ( D )) ];
% create a neural n e t w o r k
net = newff ( minmax ( P ) , minmax ( T ) , [5 3]);
% train net
net . d i v i d e P a r a m . t r a i n R a t i o = 1; % t r a i n i n g set %
net . d i v i d e P a r a m . v a l R a t i o = 0; % v a l i d a t i o n set %
net . d i v i d e P a r a m . t e s t R a t i o = 0; % test set %
% train
[ net , tr , Y , E ] = train ( net , P , T );
view ( net );

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 57 / 69

Avaliao

% E v a l u a t e n e t w o r k p e r f o r m a n c e and plot r e s u l t s
[ m , i ] = max ( T ); % Target class
[ m , j ] = max ( Y ); % p r e d i c t e d class
N = length ( Y ); % number of all s a m p l e s
k = 0;
i f find (i - j ) , % i f there exist m i s c l a s s i f i e d s a m p l e s
k = length ( find (i - j )); % get the n u m b b e r of m i s c l a s s i
end
f p r i n t f( C o r r e c t c l a s s i f i e d s a m p l e s: %.1 f %% s a m p l e s\ n ,

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 58 / 69


Grficos

% Plot n e t w o r k output
figure ;
s u b p l o t (211);
plot ( T );
title ( T a r g e t s );
ylim ([ -2 2]);
grid on ;
s u b p l o t (212);
plot ( Y );
title ( N e t w o r k r e s p o n s e );
xlabel ( # sample );
ylim ([ -2 2]);
grid on ;

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 59 / 69

Respostas da rede
Targets
2

2
0 50 100 150 200 250 300 350 400

Network response
2

2
0 50 100 150 200 250 300 350 400
# sample

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 60 / 69


Grficos

% Plot c l a s s i f i c a t i o n result f o r the c o m p l e t e input space


span = -1:0.01:2;
[ P1 P2 ] = m e s h g r i d( span , span );
pp = [ P1 (:) P2 (:)] ;
% s i m u l a t e neural n e t w o r k on a grid
aa = sim ( net , pp );

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 61 / 69

Grficos

% plot classification regions based on MAX Activation


figure(1)
m=mesh(P1, P2, reshape(aa(1,:), length(span), length(span))-5);
set(m, facecolor, [1 0.2 0.7], linestyle, none);
hold on;

m=mesh(P1, P2, reshape(aa(2,:), length(span), length(span))-5);


set(m, facecolor, [1 1.0 0.5], linestyle, none);

m=mesh(P1, P2, reshape(aa(3,:), length(span), length(span))-5);


set(m, facecolor, [0.4 1.0 0.9], linestyle, none);

m=mesh(P1, P2, reshape(aa(4,:), length(span), length(span))-5);


set(m, facecolor, [0.3 0.4 0.5], linestyle, none);
view(2);

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 62 / 69


Dados classificados

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 63 / 69

Resumo Seo

1 Introduo

2 Treinamento

3 Treinamento - Teoria

4 Programando
Aproximando Funo
Iris
Clustering

5 Referncias

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 64 / 69


Referncias I

Antnio de Pdua Braga, Andr Ponce de Leon F. de Carvalho, and


Teresa Bernarda Ludermir.
Fundamentos de Redes Neurais Artificiais.
NCE/UFRJ, Rio de Janeiro, Brasil, 1998.
11a Escola de Computao.
Simon Haykin.
Redes neurais : princpios e prtica.
Bookman, Porto Alegre, 2001.
D. O. Hebb.
The organization of behavior.
Wiley, New York, 1949.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 65 / 69

Referncias II

J. J. Hopfield.
Neural networks and physical systems with emergent collective
properties.
In Proceedings of the National Academy of Sciences, volume 79, pages
25542558, 1982.
W. S. McCulloch and W. Pitts.
A logical calculus of the ideas immanent in nervous activity.
Bulletin of Mathematical Biophysics, 5:115133, 1943.
M. Minsky and S. Papert.
Perceptrons: an introduction to computational geometry.
MIT Press, Massachusetts, 1969.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 66 / 69


Referncias III

F. Rosenblatt.
The perceptron: a probabilistic model for information storage and
organization in the brain.
Psychol. Review, 65:386408, 1958.
D. E. Rumelhart, G. E. Hinton, and R. J. Williams.
Learning representantions by back-propagation errors.
Nature, 323:533536, 1986.
doi:10.1038/323533a0.
B. Widrow and M. E. Hoff.
Adaptative switching circuits.
Western Electronic Show and Convention, Institute of Radio Engineers,
1960.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 67 / 69

Referncias IV

D.H. Wolpert and W.G. Macready.


No free lunch theorems for optimization.
IEEE Transactions on Evolutionary Computation, 1(1):6782, april
1997.

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 68 / 69


The End

The End

Adriano Cruz (UFRJ) MLP - RNA 2013/03/13 69 / 69

You might also like