You are on page 1of 16

Universidade Federal do Rio de Janeiro

PROGRAMA DE MESTRADO
IM/DCC - NCE

Os Modelos Perceptron, Adaline e


Madaline

www.labic.nce.ufrj.br

Antonio G. Thom
thome@nce.ufrj.br
Sala - 1013
(021)2598-3268

Redes Neurais Aplicadas

O Modelo PERCEPTRON

Rosemblat - 1962

Fev 2005

Redes Neurais Aplicadas

PERCEPTRON
z

objetivo:

Atuar como classificador e como gerador de


funes lgicas binrias

caractersticas

aprendizado supervisionado

representao binria

apenas uma camada de pesos ajustveis

Fev 2005

Redes Neurais Aplicadas

Perceptron - Arquitetura Bsica


yd

x1 w1

xm wm

erro

w0
+1

Ativao

net

wi

Xi

esquema aprendizagem

Propagao - degrau

net = wi xi / wi , xi R

1 se net > 0
y=

0 se net 0
onde: w0 o limiar (threshold) - tambm aprendido pela rede
i =0

Fev 2005

Redes Neurais Aplicadas

Fronteira de Deciso
z

atribui o ponto representado pelas entradas x1,


x2, ..., xn classe C1 se a sada y do Perceptron
for igual a 1 ou classe C2 se ela for 0
x2

classe C2
classe C1
x1
fronteira
de deciso

Demo: nnd4db
Decision bounderies

w1x1 + w2x2 + b = 0

Fev 2005

Redes Neurais Aplicadas

Regra de Aprendizado do Perceptron

yi
xj

wijij(k+1) = wijij (k) + *eii (k)*xjj


Onde:

ei(k) = ydi yi
Demo: nnd4pr
Perceptron Learning Rule

taxa de aprendizado
Fev 2005

Redes Neurais Aplicadas

Treinamento do Perceptron
z

algoritmo
1 inicializar e o vetor de pesos W
2 repetir

i
i
3 para cada par do conjunto de treinamento = {(x , yd )}i =1
p

3.1 atualizar o vetor de pesos para cada um dos


nodos da rede segundo a regra
W(k + 1) = W(k) + eX(k)
4 at e = 0 para todos os p elementos do conjunto de
treinamento em todos os neurnios da rede
7

Fev 2005

Redes Neurais Aplicadas

Demo:
Classif w/ 2 input neurons

Separabilidade Linear
Porta E
x
x y
0
0
1
1

0
1
0
1

z
0
0
0
1

Porta OU
x

5
9

5
5x + 5y = 9

x y

0
0
1
1

0
1
1
1

0
1
0
1

.5
5
4

.5
5

5x + 5y = 4

x
x
8

x
Fev 2005

Redes Neurais Aplicadas

Porta E
x

wx

PERCEPTRON

wy
y

w0

+1

1 se net > 0
z' =

0 se net 0

x y

0
0
1
1

0
0
0
1

0
1
0
1

Passo 1 iniciar wi e (taxa de aprendizado)

x+2y-1=0

wx = +1; wy = +2; w0 = -1; = 1

Passo 2 apresenta primeiro padro de amostra {x1,y1} {0,0}


net(1)= wx* x1 + wy* y1 + w0* 1 = -1 z(1) = 0 -- correto
9

Fev 2005

Redes Neurais Aplicadas

Porta E
x

wx

wy
y
+1

PERCEPTRON

w0

1 se net > 0
z' =

0 se net 0

x y

0
0
1
1

0
0
0
1

0
1
0
1

Passo 3 apresenta segundo padro de amostra {x2,y2} {0,1}


net(2)= 1*0 + 2*1 + -1* 1 = +1 z(2) = 1 incorreto
adapta os pesos:
wx(3) = wx(2) + 1*(z(2)-z(2))*x(2) = 1 + (-1)*0 = 1
wy(3) = wy(2) + 1*(z(2)-z(2))*y(2) = 2 + (-1)*1 = 1
w0(3) = w0(2) + 1*(z(2)-z(2))*1 = -1 + (-1)*1 = -2
10

x+y-2=0
Fev 2005

Redes Neurais Aplicadas

Porta E
x

wx

PERCEPTRON

wy
y
+1

w0

1 se net > 0
z' =

0 se net 0

x y

0
0
1
1

0
0
0
1

0
1
0
1

Passo 3 apresenta terceiro padro de amostra {x3,y3} {1,0}


net(3)= 1*1 + 1*0 + -2* 1 = -1 z(3) = 0 correto
Passo 4 apresenta quarto padro de amostra {x4,y4} {1,1}
net(4)= 1*1 + 1*1 + -2* 1 = 0 z(4) = 0 incorreto
wx(4) = 1 + (1)*1 = 2; wy(4) = 1 + (1)*1 = 2; w0(4) = -2 + (1)*1 = -1
2x+2y-1=0
11

Fev 2005

Redes Neurais Aplicadas

PERCEPTRON Capacidade de Classificao


w2

12

w1
Fev 2005

Redes Neurais Aplicadas

Demo:
Linearly non separable vectors

Limitaes do Perceptron

no admite mais de uma camada de pesos


ajustveis

aprendizado nem sempre ocorre

as duas classes C1 e C2 devem ser linearmente


separveis
classe
C1

classe
C2

13

classe
C1

classe
C2

Fev 2005

Redes Neurais Aplicadas

Problemas linearmente separveis so aqueles


que podem ser resolvidos utilizando uma reta
ou hiperplano como fronteira de deciso.
X2

X2

X1
Linearmente separvel

14

X1
No-linearmente separvel

Fev 2005

Redes Neurais Aplicadas

Realidade
z
z
z
z
z

Classificao perfeita quase nunca possvel


Nem todos os problemas so linearmente separveis
Difcil validar qual o melhor nmero de categorias
para um determinado problema
Grande sobreposio de classes (???)
Causas freqentes de erros:

Padres no podem ser linearmente separados


Caractersticas podem ser inadequadas para distinguir as
diferentes classes
Caractersticas podem ser muito correlacionadas
Podem haver subclasses distintas nos dados

15

Fev 2005

Redes Neurais Aplicadas

PERCEPTRON 01 camada & linearmente separveis

Combinar Camadas
z

Problema
z

16

Poderia ser uma soluo?

Como treinar as camadas


mais internas?

Fev 2005

Redes Neurais Aplicadas

Porta XOR
x

wx

PERCEPTRON

wy
y
+1

x y

0
0
1
1

0
1
1
0

w0

0
1
0
1

PERCEPTRON

x
z
y

x y = x y+ x y

1 se net > 0
z' =

0 se net 0

+1

17

Fev 2005

Redes Neurais Aplicadas

Exemplo
z

considere um conjunto de pessoas (4 elementos)


formado por homens e mulheres. Treinar uma rede
Perceptron, que seja capaz de reconhecer o sexo
das pessoas.
nome
Jos
Paulo
Maria
Lcia

18

feminino

X
X

masculino
X
X

codificao
0 0
0 1
1 0
1 1
Fev 2005

Redes Neurais Aplicadas

Exemplo (cont.)
z

condies de disparo

se

net > 0

y=1

(feminino)

se

net 0

y=0

(masculino)

incio do treinamento

b=0

w1 = 0

w2 = 0

19

Fev 2005

Redes Neurais Aplicadas

Exemplo (cont.)
z

apresentao do primeiro elemento rede


neural
+1

20

net = b 1 + w1 0 + w2 0

net = 0 1 + 0 0 + 0 0 = 0

y=0

d=0

0
w1

0
w2

(resposta correta)

Fev 2005

10

Redes Neurais Aplicadas

Exemplo (cont.)
z

apresentao do segundo elemento rede


neural
+1

net = b 1 + w1 0 + w2 1

net = 0 1 + 0 0 + 0 1 = 0

y=0

d=0

0
1
w1 w2

(resposta correta)

21

Fev 2005

Redes Neurais Aplicadas

Exemplo (cont.)

22

apresentao do terceiro elemento rede neural

net = b 1 + w1 1 + w2 0

+1

net = 0 1 + 0 1 + 0 0 = 0

y=0

b=b+1=0+1=1

net = b 1 + w1 1 + w2 0

w1 = w1 + 1 = 0 + 1 = 1

net = 1 1 + 1 1 + 0 0 = 2

w2 = w2 + 0 = 0 + 0 = 0
correta)

y = 1 e d = 1 (resposta

1
0
w1 w2

d = 1 (resposta incorreta)

Fev 2005

11

Redes Neurais Aplicadas

Exemplo (cont.)
z

apresentao do quarto elemento rede neural

net = b 1 + w1 1 + w2 1

net = 1 1 + 1 1 + 0 1 = 2

y=1

d=1

+1
b

1
w1

1
w2

(resposta correta)

23

Fev 2005

Redes Neurais Aplicadas

Modelo ADALINE

Widrow & Hoff - 1963

24

Fev 2005

12

Redes Neurais Aplicadas

ADALINE
z

caractersticas

ADALINE e Perceptron surgiram quase que simultaneamente

tem seus pesos ajustados em funo do erro de sua sada


linear, antes da aplicao da funo de propagao

continua com o problema de uma nica camada de pesos


ajustveis

a funo de custo a ser minimizada quadrtica nos pesos de


entrada, e a minimizao feita pelo mtodo do gradiente

25

Fev 2005

Redes Neurais Aplicadas

Demo:
Training w/ Linear neuron

ADALINE - Arquitetura Bsica


x1 w1

esquema aprendizagem

xm wm

w0
+1

wi

Ativao

net

x
Xi

erro

yd

Propagao - degrau

1 se net > 0
y=

0 se net 0
onde: w0 o limiar (threshold) - tambm aprendido pela rede

net = wi xi / wi , xi R
i =0

26

Fev 2005

13

Redes Neurais Aplicadas

Esquema de Treinamento - Regra Delta


z

atualizao dos pesos pelo mtodo do gradiente

o ajuste ocorre quando

e 0 W 0

funo de erro a ser minimizada

e(k)2 ( yd (k ) net(k))2
E (k ) =
=
2
2
z

objetivo

obter a direo do ajuste a ser aplicado ao vetor de pesos de


forma a caminhar de forma incremental em direo soluo
tima

27

Fev 2005

Redes Neurais Aplicadas

Deduo da Regra Delta (deduo)


z

o ajuste feito na direo contrria do gradiente

Wi (k + 1) E (k )
E ( k ) =

E (k ) neti (k )
E (k )
=
/ (todo i )
wi (k ) neti (k ) wi (k )

E (k )
( yd (k ) neti (k ))2
2( yd (k ) neti (k ))
=
=
= e( k )
neti (k )
2neti (k )
2

net (k ) ( w j x j )
= xi (k )
=
wi (k )
wi (k )

wi (k + 1) (e) xi (k ) = e(k ) xi (k )
28

Fev 2005

14

Redes Neurais Aplicadas

Demo: nnd4pr
Linear Class System

Vantagens e Limitaes do ADALINE


Vantagens:
Treinamento mais suave que o do Perceptron
Limitaes:
As mesmas do Perceptron
O treinamento inclusive pode ser muito mais
demorado
(*) muito empregado na rea de filtros digitais adaptativos
29

Fev 2005

Redes Neurais Aplicadas

Modelo - MADALINE

30

Fev 2005

15

Redes Neurais Aplicadas

Madaline
z

uma das primeiras redes neurais em camadas


treinveis com mltiplos elementos adaptativos

uma camada composta por ADALINEs conectada a


um ADALINE com parmetros fixos

critrios de deciso:

OU

MAIORIA

31

Fev 2005

Redes Neurais Aplicadas

Exemplo - Maioria

Desejada
A
A
A

maj

?? erro

Passo
Passo 11 um
um padro
padro apresentado
apresentado aa cada
cada ADALINE
ADALINE
Passo
Passo 22 aa sada
sada yy calculada
calculada em
em concordncia
concordncia com
com aa maioria
maioria
Passo
Passo 33 aa sada
sada gerada
gerada comparada
comparada com
com aa desejada
desejada
Passo
Passo 44 se
se errada,
errada, oo ADALINE
ADALINE com
com menor
menor erro
erro escolhido
escolhido para
para treinar
treinar
32

Fev 2005

16