16
Antonio G. Thomé [email protected] Sala - 1013 (021)2598-3268 Os Modelos Os Modelos Perceptron Perceptron , , Adaline Adaline e e Madaline Madaline Universidade Federal do Rio de Janeiro PROGRAMA DE MESTRADO IM/DCC - NCE www.labic.nce.ufrj.br Fev 2005 2 Redes Neurais Aplicadas Redes Neurais Aplicadas O Modelo PERCEPTRON Rosemblat - 1962

T4 Perceptron Adaline

Embed Size (px)

DESCRIPTION

Redes Neurais

Citation preview

Page 1: T4 Perceptron Adaline

1

Antonio G. Thomé[email protected] - 1013(021)2598-3268

Os Modelos Os Modelos PerceptronPerceptron, , AdalineAdaline e e MadalineMadaline

Universidade Federal do Rio de Janeiro

PROGRAMA DE MESTRADOIM/DCC - NCE

www.labic.nce.ufrj.br

Fev 20052

Redes Neurais AplicadasRedes Neurais Aplicadas

O Modelo PERCEPTRON

Rosemblat - 1962

Page 2: T4 Perceptron Adaline

2

Fev 20053

Redes Neurais AplicadasRedes Neurais Aplicadas

PERCEPTRON

objetivo:– Atuar como classificador e como gerador de

funções lógicas binárias

características– aprendizado supervisionado– representação binária– apenas uma camada de pesos ajustáveis

Fev 20054

Redes Neurais AplicadasRedes Neurais Aplicadas

AtivaçãoPropagação - degrau

R∈= ∑=

iim

iii xwxwnet ,/

0

≤>

=00

01

netnet

sese

y

onde: é o limiar (threshold)0w

Perceptron - Arquitetura Básica

- também aprendido pela rede

ΣΣ

x1

xm wm

w1

net

w0

+1

y

yd

Xi

iw∆x

erro

esquema aprendizagem

Page 3: T4 Perceptron Adaline

3

Fev 20055

Redes Neurais AplicadasRedes Neurais Aplicadas

Fronteira de Decisão

atribui o ponto representado pelas entradas x1, x2, ..., xn à classe C1 se a saída y do Perceptronfor igual a 1 ou à classe C2 se ela for 0

classe C1

classe C2

x1

x2

fronteira de decisão

w1x1 + w2x2 + b = 0Demo: nnd4dbDecision bounderies

Fev 20056

Redes Neurais AplicadasRedes Neurais Aplicadas

Regra de Aprendizado do Perceptron

wij(k+1) = wij (k) + λ*ei (k)*xjwij(k+1) = wij (k) + λ*ei (k)*xj

xj

yi

• ei(k) = ydi – yi

• λ – taxa de aprendizado

Onde:

Demo: nnd4prPerceptron Learning Rule

Page 4: T4 Perceptron Adaline

4

Fev 20057

Redes Neurais AplicadasRedes Neurais Aplicadas

Treinamento do Perceptron

algoritmo

1 – inicializar λ e o vetor de pesos W

2 – repetir3 – para cada par do conjunto de treinamento

3.1 – atualizar o vetor de pesos para cada um dos nodos da rede segundo a regra

W(k + 1) = W(k) + λ ·e·X(k)4 – até e = 0 para todos os p elementos do conjunto de

treinamento em todos os neurônios da rede

( ){ }p1i

id

i y,xΓ ==

Fev 20058

Redes Neurais AplicadasRedes Neurais Aplicadas

Separabilidade Linear

• Porta “E”

x y0 00 11 01 1

z0001

9

5x

5y

z

y

x

5x + 5y = 9

x

• Porta “OU”

x y0 00 11 01 1

z0111

4

.5

.5

x

y

z

5

5

y

x

5x + 5y = 4

x

Demo: Classif w/ 2 input neurons

Page 5: T4 Perceptron Adaline

5

Fev 20059

Redes Neurais AplicadasRedes Neurais Aplicadas

• Porta “E”

y

x

x

x y0 00 11 01 1

z0001w0

x

y

+1

wx

wyz’

PERCEPTRON

• Passo 1 – iniciar wi e λ (taxa de aprendizado)

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

• Passo 2 – apresenta primeiro padrão de amostra {x1,y1}≡ {0,0}

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

≤>

=00

01

'netnet

sese

z

x+2y-1=0

Fev 200510

Redes Neurais AplicadasRedes Neurais Aplicadas

• Porta “E”

y

x

x

x y0 00 11 01 1

z0001w0

x

y

+1

wx

wyz’

PERCEPTRON

• Passo 3 – apresenta segundo padrão 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

≤>

=00

01

'netnet

sese

z

x+y-2=0

Page 6: T4 Perceptron Adaline

6

Fev 200511

Redes Neurais AplicadasRedes Neurais Aplicadas

• Porta “E”

y

x

x

x y0 00 11 01 1

z0001w0

x

y

+1

wx

wyz’

PERCEPTRON

• Passo 3 – apresenta terceiro padrão de amostra {x3,y3}≡ {1,0}

• net(3)= 1*1 + 1*0 + -2* 1 = -1 ⇒ z’(3) = 0 – correto

• Passo 4 – apresenta quarto padrão 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

≤>

=00

01

'netnet

sese

z

2x+2y-1=0

Fev 200512

Redes Neurais AplicadasRedes Neurais Aplicadas

w1

w2

PERCEPTRON – Capacidade de Classificação

Page 7: T4 Perceptron Adaline

7

Fev 200513

Redes Neurais AplicadasRedes Neurais Aplicadas

Limitações do Perceptron

– não admite mais de uma camada de pesos

ajustáveis

– aprendizado nem sempre ocorre

– as duas classes C1 e C2 devem ser linearmente

separáveis

classeC1 classe

C2

classeC1 classe

C2

Demo: Linearly non separable vectors

Fev 200514

Redes Neurais AplicadasRedes Neurais Aplicadas

Problemas linearmente separáveis são aqueles que podem ser resolvidos utilizando uma reta

ou hiperplano como fronteira de decisão.

X1

X2

X1

X2

Linearmente separável Não-linearmente separável

Page 8: T4 Perceptron Adaline

8

Fev 200515

Redes Neurais AplicadasRedes Neurais Aplicadas

Classificação perfeita quase nunca é possívelNem todos os problemas são linearmente separáveisDifícil validar qual o melhor número de categorias para um determinado problemaGrande sobreposição de classes (???)Causas freqüentes de erros:

– Padrões não podem ser linearmente separados– Características podem ser inadequadas para distinguir as

diferentes classes– Características podem ser muito correlacionadas– Podem haver subclasses distintas nos dados

Realidade

Fev 200516

Redes Neurais AplicadasRedes Neurais Aplicadas

– Combinar CamadasPoderia ser uma solução?

– ProblemaComo treinar as camadas mais internas?

?

PERCEPTRON – 01 camada & linearmente separáveis

Page 9: T4 Perceptron Adaline

9

Fev 200517

Redes Neurais AplicadasRedes Neurais Aplicadas

• Porta “XOR”

y

x

x

x y0 00 11 01 1

z0110w0

x

y

+1

wx

wyz’

PERCEPTRON

≤>

=00

01

'netnet

sese

z

x

+1

PERCEPTRON

yxyxyx •+•=⊕

x

yz’

Fev 200518

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo

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.

1 1XLúcia1 0XMaria0 1XPaulo0 0XJosé

codificaçãomasculinofemininonome

Page 10: T4 Perceptron Adaline

10

Fev 200519

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo (cont.)

condições de disparo– se net > 0 y = 1 (feminino)– se net ≤ 0 y = 0 (masculino)

início do treinamento– b = 0– w1 = 0– w2 = 0

Fev 200520

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo (cont.)

apresentação do primeiro elemento à rede neural

– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 0– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 0 = 0– y = 0 e d = 0 (resposta correta)

w1b w2

+1 0 0

Page 11: T4 Perceptron Adaline

11

Fev 200521

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo (cont.)

apresentação do segundo elemento à rede neural

– net = b ∗ 1 + w1 ∗ 0 + w2 ∗ 1– net = 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 1 = 0– y = 0 e d = 0 (resposta correta)

w1b w2

+1 0 1

Fev 200522

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo (cont.)

– apresentação do terceiro elemento à rede neural

– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 0– net = 0 ∗ 1 + 0 ∗ 1 + 0 ∗ 0 = 0– y = 0 e d = 1 (resposta incorreta)

– 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 y = 1 e d = 1 (resposta

correta)

w1b w2

+1 1 0

Page 12: T4 Perceptron Adaline

12

Fev 200523

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo (cont.)

apresentação do quarto elemento à rede neural

– net = b ∗ 1 + w1 ∗ 1 + w2 ∗ 1– net = 1 ∗ 1 + 1 ∗ 1 + 0 ∗ 1 = 2– y = 1 e d = 1 (resposta correta)

w1b w2

+1 1 1

Fev 200524

Redes Neurais AplicadasRedes Neurais Aplicadas

Modelo ADALINE

Widrow & Hoff - 1963

Page 13: T4 Perceptron Adaline

13

Fev 200525

Redes Neurais AplicadasRedes Neurais Aplicadas

ADALINE

características

– ADALINE e Perceptron surgiram quase que simultaneamente

– tem seus pesos ajustados em função do erro de sua saída

linear, antes da aplicação da função de propagação

– continua com o problema de uma única camada de pesos

ajustáveis

– a função de custo a ser minimizada é quadrática nos pesos de

entrada, e a minimização é feita pelo método do gradiente

Fev 200526

Redes Neurais AplicadasRedes Neurais Aplicadas

Ativação Propagação - degrau

R∈= ∑=

iim

iii xwxwnet ,/

0

≤>

=00

01

netnet

sese

y

onde: é o limiar (threshold)0w

ADALINE - Arquitetura Básica

- também aprendido pela rede

ΣΣ

x1

xm wm

w1

net

w0

+1

y

ydiw∆

Xi

x erro

esquema aprendizagem

Demo:Training w/ Linear neuron

Page 14: T4 Perceptron Adaline

14

Fev 200527

Redes Neurais AplicadasRedes Neurais Aplicadas

atualização dos pesos pelo método do gradiente– o ajuste ocorre quando e ≠ 0 ⇒ ∆W ≠ 0

função de erro a ser minimizada

objetivo– obter a direção do ajuste a ser aplicado ao vetor de pesos de

forma a caminhar de forma incremental em direção à solução ótima

Esquema de Treinamento - Regra Delta

( )2

)(2

)(2

d2 net(k)kye(k)kE −==

Fev 200528

Redes Neurais AplicadasRedes Neurais Aplicadas

Dedução da Regra Delta (dedução)

o ajuste é feito na direção contrária do gradiente

)()1( kEkWi ∇×−≈+∆ λ

)(/)()(

)()(

)()()( itodo

kwknet

knetkE

kwkEkE

i

i

ii ∂∂

∂∂

=∂∂

=∇

)(2

))()((2)(2

))()(()(

)( 2keknetky

knetknetky

knetkE id

i

id

i−=

−−=

∂−∂

=∂∂

)()(

)()()( kx

kwxw

kwknet

ii

jj

i=

∂∑∂

=∂∂

)()()()()1( kxkekxekw iii λλ =−−≈+∆

Page 15: T4 Perceptron Adaline

15

Fev 200529

Redes Neurais AplicadasRedes Neurais Aplicadas

Vantagens e Limitações do ADALINE

• Vantagens:

• Treinamento mais suave que o do Perceptron

• Limitações:

• As mesmas do Perceptron

• O treinamento inclusive pode ser muito mais demorado

(*) muito empregado na área de filtros digitais adaptativos

Demo: nnd4prLinear Class System

Fev 200530

Redes Neurais AplicadasRedes Neurais Aplicadas

Modelo - MADALINE

Page 16: T4 Perceptron Adaline

16

Fev 200531

Redes Neurais AplicadasRedes Neurais Aplicadas

Madaline

uma das primeiras redes neurais em camadas treináveis com múltiplos elementos adaptativos

uma camada composta por ADALINE´s é conectada a um ADALINE com parâmetros fixos

critérios de decisão: “OU” “E” “MAIORIA”

Fev 200532

Redes Neurais AplicadasRedes Neurais Aplicadas

Exemplo - Maioria

majy

• Passo 1 – um padrão é apresentado a cada ADALINE

• Passo 2 – a saída y é calculada em concordância com a maioria

• Passo 3 – a saída gerada é comparada com a desejada

• Passo 4 – se errada, o ADALINE com menor erro é escolhido para treinar

• Passo 1 – um padrão é apresentado a cada ADALINE

• Passo 2 – a saída y é calculada em concordância com a maioria

• Passo 3 – a saída gerada é comparada com a desejada

• Passo 4 – se errada, o ADALINE com menor erro é escolhido para treinar

Desejada

?? erro

A

A

A