• Nenhum resultado encontrado

REDES NEURAIS ARTIFICIAIS Rede Neural Perceptron

N/A
N/A
Protected

Academic year: 2019

Share "REDES NEURAIS ARTIFICIAIS Rede Neural Perceptron"

Copied!
57
0
0

Texto

(1)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br REDES NEURAIS ARTIFICIAIS

Rede Neural Perceptron

 T

1

X1

X2

W0

W1

W2

(2)

Consiste num único neurônio com peso ajustável e bias

1.2 Rede de alimentação direta

a2

a5 1

a1 W1,3

W2,3 W2,4

3

4

5

2

W1,4

(3)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Vetor de saída : y = (y1) = (a5)

Vetor de entrada x = (x1, x2) = (a1, a2)

a5 = g(w3,5 a3 + w4,5 a4) , mas {a3 = g(w1,3 a1 + w2,3 a2)

{a4 = g(w1,4 a1 + w2,4 a2)

(4)

1.2 Unidade de Redes Neurais

X0 = 1

 g ai

Função

de

entrada

Função de

ativação Saída

Bias

W1

W2

yj aj

(5)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.brFunção de entrada (soma ponderada das entradas) (ini)

ini = X0 W0,i + X1 W1,i + x2 w2,i + … XnWn,i

ini = Σ Wj,i Xj

Função de ativação (degrau/limiar):

- Entrada “corretas” => unidade ativa (valores menor 1)

(6)

Essa avaliação é feita pelo cálculo da função de ativação aplicada a função de entrada ().

ai = g(ini) = g(Σ Wj,i Xj )

Exemplos:

a)Função de Limiar b) Função signóide

g(x) {x>0, g=1 {x<0, g=0

(7)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br 2. Perceptron

- Redes neurais de alimentação direta de única camada

- Representam apenas funções linearmente separáveis.

3. Aprendizagem

Aprendizagem de redes neurais tem a função de ajustar os pesos da rede para minimizar alguma medida de erro.

Err = Y – hw(x)

(8)

Análise do erro

- A média clássica para estimativa do erro:

- Soma dos erros quadráticos:

E = ½ Err² = ½ (y – hw (x))²

em que { y = valor real

{ hw (x) = g (∑ Wj Xj)

- Análise da influência de variação de erro sobre a variação do peso.

hw(x)

wj

(9)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br            Err² 2 1 Wj Wj

E = Err

      WjXj g y Wj Err Err

Wj , mas Wj

y = 0, pois y = Cte

Err Wj

E

 

x

       

g

WjXj

Wj = -Err . g’(in) . Xj

Como o gradiaente aponta o sentido de maior crescimento, como quero minimizar o erro devo inverter o sinal do gradiente:

Wj(n+1)  Wj(n) + Err. g’(in) . Xj

Para melhor domínio no refino dos pesos, acrescenta-se  (taxa de

treinamento)

Wj(n+1)  Wj(n) +  Err . g’(in) . Xj

(10)

Para função de ativação de Limiar  desconsidera g’(in), pois não há derivada

em X=0 (descontinua)

(11)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Treinamento

Ex1: Distinção de atletas por modalidade de esportes:

Atleta Futebol F1

Pelé X

Zico x

Senna X

Piquet x

(12)

Exemplo 1: Aplicação Didática de Redes Neurais Artificiais

Entrada Saída

X1 X2 Y

Padrão 1 0 0 0

Padrão 2 0 1 0

Padrão 3 1 0 1

(13)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Mantendo a rede

Função de ativação Limiar

Sigma: in= 1 Wo + X1W1 + X2W2

Condições iniciais: W= { Wo, W1, W2} = {0 , 0 , 0} Taxa de aprendizado  1

g (in) 0

1

B(W0)

W1

W2

1

X1

(14)

1º - apresentação (epochs) (n=1)

Entrada 1 Calculo da saída:

Erro = Y – d = 0 , saída correta

In = 1.0 + 0.0 + 0.0 = 0 G(in){in > 0, g = 1

{ in  0, g = 0

g (0) = 0  d = 0

 g

1

0

0

0

0

0

d

Δw

(15)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 2

In = 1.0 + 0.0 + 1.0 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 0 – 0 = 0

Wi =  . Erro . Xi = 0

 g

0

1

0

0

d 0

1

Δw

(16)

Entrada 3

Wi =  . Erro . Xi  Win+1 = Win + Win

Wo = 1 . 1 . 1 = 1  Wo= 0 + 1 = 1

W1 = 1 . 1 . 1 = 1  W11 = 0 + 1 = 1

W2 = 1 . 1 . 0 = 0  W22 = 0 + 0 = 0

In = 1.0 + 0.0 + 1.0 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 1 – 0 = 1

 g

1

0

0 0

d 0

1

Δw

(17)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 4

In = 1.1 + 1.1 + 1.0 = 2 g(in) = g(2) = 1  d = 1

Erro = y – d = 1 – 1 = 0 Wi = 0

 g

1

1

1

0

d 1

1

Δw

(18)

2º - Apresentação

Entrada 1

Wo = 1 . (-1) . 1 = -1  Wo2 = 1 +(-1) = 0

W1 = 1 . (-1) . 0 = 0  W11 = 1 + 0 = 1

W2 = 1 . (-1) . 0 = 0  W22 = 0 + 0 = 0

In = 1.1 + 0.1 + 0.0 = 1 g(in) = g(1) = 1  d = 1

Erro = y – d = 0 – 1 = -1

 g

0

0

1

0

d 1

1

Δw

(19)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 2

In = 1.0 + 0.1 + 1.0 = 0 g(in) = g(0) = 0  d = 0

Erro = 0 – 0 = 0

Wi =  . 0 . Xi = 0

 g

0

1

1

0

d 0

1

Δw

(20)

Entrada 3

In = 1.0 + 1.1 + 0.0 = 1 g(in) = g(1) = 1  d = 1

Erro = 1 – 1 = 0

Wi =  . 0 . Xi = 0

 g

1

0

1

0

d 0

1

Δw

(21)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 4

Houve Convergência!

Wj Xj = 0 Hiperplano de Separação = Separação linear

1 . Wo + X1W1 + X2W2 = 0

X2 =

-2 0 1 . 2 W1 W W X W  

In = 1.0 + 1.1 + 1.0 = 1

g(in) = g(1) = 1  d = 1

Erro = 1 – 1 = 0

Wi =  . 0 . Xi = 0

(22)

EXEMPLO 2: TREINAMENTO DA FUNÇÃO UNIÃO (OU)

X1 X2 Y

0 0 0

0 1 1

1 0 1

1 1 1

 g

X1

X2

w1

w2

d

w0

1

Δw

(23)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Pesos : Wo = ( Wo , W1 , W2 ) = ( 0 , 0 , 0 )

Soma : 2 = in = 1 . Wo + X1W1 + X2W2

J = 0

Função de ativação : Limiar: g(in) {in > 0, g = 1 { in  0, g = 0

(24)

1º Apresentação (Epochs)

- Entrada 1

0 0 0 0 0 0 0 0 0 2 2 1 2 1 1 1 1 1                  

W

W

W

W

W

W

W

W

W

o o o o o o o o o  g

In = 1.0 + 0.0 + 0.0 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 0 – 0 = 0

Wi = 0, Wi = . Erro .

Xi =0

(25)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 2

Win=  . Erro . Xi  Win+1 = Win + Win

Wo = 1 . 1 . 1 = 1  Wo= 0 + 1 = 1

W1 = 1 . 1 . 0 = 0  W11 = 0 + 0 = 0

W2 = 1 . 1 . 1 = 1  W21 = 0 + 1 = 1

 g In = 1.0 + 0.0 + 1.0 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 1 – 0 = 1

0

1

0 0

d 0

1

Δw

(26)

Entrada 3

In = 1.1 + 1.0 + 1.0 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = . 0 . Xi = 0

 g

1

0

0

1

d 1

1

Δw

(27)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 4

In = 1.1 + 1.0 + 1.1 = 2

g(in) = g(2) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi =  . 0 . Xi = 0

 g

1

1

0

1

d 1

1

Δw

(28)

2º Apresentação

- Entrada 1

Wo = 1 . (-1) . 1 = -1  Wo= 1 + (-1) = 0

W1 = 1 . (-1) . 0 = 0  W11 = 0 + 0 = 0

W2 = 1 . (-1) . 0 = 0  W21 = 1 + 0 = 1

In = 1.1 + 0.0 + 0.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 0 – 1 = -1

 g

0

0

0

1

d 1

1

ΔWi

(29)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 2

In = 1.0 + 0.0 + 1.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi =  . 0 . Xi = 0

 g

0

1

0

1

d 0

1

ΔWi

(30)

- Entrada 3

Wo = 1 . 1 . 1 = 1  Wo= 0 + 1 = 1

W1 = 1 . 1 . 1 = 1  W11 = 0 + 1 = 1

W2 = 1 . 1 . 0 = 0  W21 = 1 + 0 = 1

In = 1.0 + 1.0 + 0.1 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 1 – 0 = 1

 g

1

0

0

1

d 0

1

ΔWi

(31)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 4

In = 1.1 + 1.1 + 1.1 = 3

g(in) = g(3) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi =  . 0 . Xi = 0

 g

1

1

1

1

d 1

1

ΔWi

(32)

3º Apresentação

- Entrada 1

Wo = 1 . (-1) . 1 = -1  Wo= 1 + (-1) = 0

W1 = 1 . (-1) . 0 = 0  W11 = 1

W2 = 1 . (-1) . 0 = 0  W21 = 1

In=1.1 + 0.1+ 0.1 =1

g(in) = g(1) = 1  d = 1

Erro = 0 – 1 = -1

 g

0

0

1

1

d 1

1

ΔWi

(33)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 2

In = 1.0 + 0.1 + 1.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

0

1

1

1

d 0

1

ΔWi

(34)

- Entrada 3

In = 1.0 + 1.1 + 0.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

1

0

1

1

d 0

1

ΔWi

(35)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

Entrada 4

In = 1.0 + 1.1 + 1.1 = 2

g(in) = g(2) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

1

1

1

1

d 0

1

ΔWi

(36)

4º Apresentação

- Entrada 1

In = 1.0 + 0.1 + 0.1 = 0

g(in) = g(0) = 0  d = 0

Erro = y – d = 0 – 0 = 0

Wi = 0

 g

0

0

1

1

d 0

1

ΔWi

(37)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 2

In = 1.0 + 0.1 + 1.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

0

1

1

1

d 0

1

ΔWi

(38)

- Entrada 3

In = 1.0 + 1.1 + 0.1 = 1

g(in) = g(1) = 1  d = 1

Erro = 0

Wi = 0

 g

1

0

1

1

d 0

1

ΔWi

(39)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 4

OBTEVE A CONVERGÊNCIA

In = 1.0 + 1.1 + 1.1 = 2

g(in) = g(2) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

1

1

1

1

d 0

1

ΔWi

(40)

Exemplo 3: de Treinamento da função união (OU)

- Pesos: W = ( W1 , W2 , W3 ) = ( 0 , 0 , 0 )

- Função somatória :  Wj Xj = in = 1 . Wo + X1W1 + X2W2

J = 0

- Função de ativação (diferente do exemplo anterior): g(in) {in < 0, g(in) = 0

{ in  0, g(in) = 1

- Erro = Y – d  Wi =  . Erro . Xi Taxa de Aprendizado () = 1

X1 X2 Y

0 0 0

0 1 1

1 0 1

1 1 1

 g

X1

X2

W1

W2

d

W0

1

ΔWi

(41)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br 1º Apresentação (epoch)

- Entrada 1

Win=  . Erro . Xi  Wi1 = Wi0 + Wi

Wo = 1 . (-1) . 1 = -1  Wo1 = 0 + (-1) = -1

W1 = 1 . (-1) . 0 = 0  W11 = 0 + 0 = 0

W2 = 1 . (-1) . 0 = 0  W21 = 0 + 0 = 0

In = 1.0 + 0.0 + 0.0 = 0

g(in) = g(0) = 1  d = 1

Erro = y – d = 0 – 1 = -1

 g

0

0

0

0

d 0

1

ΔWi

(42)

- Entrada 2

Wo = 1 . 1 . 1 = 1  Wo= (-1) + 1 = 0

W1 = 1 . 1 . 0 = 0  W11 = 0

W2 = 1 . 1 . 1 = 1  W21 = 0 + 1 = 1

In = 1.-1 + 0.0 + 1.0 = -1

g(in) = g(-1) = 0  d = 0

Erro = y – d = 1 – 0 = 1

 g

0

1

0

0

d

-1

1

ΔWi

(43)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 3 In = 1.0 + 1.0 + 0.0 = 0

g(in) = g(0) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi =. 0 . Xi = 0

 g

1

0

0

1

d 0

1

ΔWi

(44)

- Entrada 4

In = 1.0 +1.0 + 1.1 = 1

g(in) = g(1) = 1  d = 1

Erro = y – d = 1 – 1 = 0

Wi = 0

 g

1

1

0

1

d 0

1

ΔWi

(45)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br 2º Apresentação

- Entrada 1

Wo = 1 . (-1) . 1 = -1  Wo= 0 + (-1) = -1

W1 = 1 . (-1) . 0 = 0  W11 = 0

W2 = 1 . (-1) . 0 = 1  W21 = 1

In = 1.0 + 0.0 + 0.1 = 0

g(in) = g(0) = 1  d = 1

Erro = 0 – 1 = -1

 g

0

0

0

1

d 0

1

ΔWi

(46)

- Entrada 2

In = -1 + 0 + 1 = 0

g(in) = g(0) = 1  d = 1

Erro = 1 – 1 = 0  Wi = 0

 g

0

1

0

1

d

-1

1

ΔWi

(47)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 3

Wo = 1 . 1 . 1 = 1  Wo= -1 + 1 = 0

W1 = 1 . 1 . 1 = 1  W11 = 0 + 1 = 1

W2 = 1 . 1 . 0 = 0  W21 = 1 + 0 = 1

In = -1 + 0 + 0 = -1

g(in) = g(-1) = 0  d = 0

Erro = 1 – 0 = 1

 g

1

0

0

1

d

-1

1

ΔWi

(48)

- Entrada 4

In = 0 + 1 + 1 = 2

g(in) = g(2) = 1  d = 1

Erro = 1 – 1 = 0  Wi = 0

 g

1

1

1

1

d 0

1

ΔWi

(49)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br 3º Apresentação

- Entrada 1

Wo = 1 . (-1) . 1 = -1  Wo= 0 + (-1) = -1

W1 = 1 . (-1) . 0 = 0  W11 = 1 + 0 = 0

W2 = 1 . (-1) . 0 = 1  W21 = 1 + 0 = 0

In = 0 + 0 + 0 = 0

g(in) = g(0) = 1  d = 1

Erro = 0 – 1 = -1

 g

0

0

1

1

d 0

1

ΔWi

(50)

- Entrada 2

In = -1 + 0 + 1 = 0

g(in) = g(0) = 1  d = 1

Erro = 1 – 1 = 0  Wi = 0

 g

1

0

1

1

d 0

1

ΔWi

(51)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br

- Entrada 3

- Entrada 4

In = -1 + 1 + 0 = 0

g(in) = g(0) = 1  d = 1

Erro = 1 – 1 = 0  Wi = 0

 g

In = -1 + 1 + 1 = 1

g(in) = g(0) = 1  d = 1

Erro = 1 – 1 = 0  Wi = 0

 g 0 1 1 1 d -1 1

ΔWi

y 1 1 1 1 1 1 d -1 1

ΔWi

(52)

4º Apresentação

- Entrada 1

Convergência!

In = -1 + 0 + 0 = -1

g(in) = g(-1) = 0  d = 0

Erro = 0 – 0 = 0  Wi = 0

 g

0

0

1

1

d

-1

1

ΔWi

(53)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br Análise da Fronteira de decisão (Hiperplano de separação)

² Wj Xj = in = 1 . Wo + X1W1 + X2W2

J = 0

X2 =

-2 0 1 1 . 2 W1 W W X W  

X2 = 1 1

(54)

- Função não linearmente separável (XOR) ou – exclusivo:

Não há hiperplano de separação. Logo não converge. Realize o teste no MatLab!

X1 X2 Y

0 0 0

1 0 1

0 1 1

(55)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br REDE PERCEPTRON DE MÚLTIPLOS COMANDOS (MLP)

Apredizagem: Back Propagation Learning (Retropopagação)

ai wji

aj

ak

wk,j

Unidades de Entrada (k)

Unidades ocultas (j)

(56)

FUNÇÕES IMPORTANTES NO MATLAB - Training function:

Traingd = Gradient descent backpropagation.

- Adaption learning function:

(57)

Marcelo Lucas Pereira Machado marcelolucas@ifes.edu.br - Transfer Function:

Logsig= log sigmoid transfer function: px

e

x

f

1

1

)

(

Purelin= linear transfer function:

f

(

x

)

p

.

x

Referências

Documentos relacionados

Para Wânia Pasinato, o conceito de feminicídio não deve ser utilizado de forma generalizada e irrestrita, eis que vinculado apenas aos assassinatos de mulheres em razão da

Eficiência de remoção de coliformes totais, em função da quantidade de bactérias na água bruta, nas diferentes espessuras do meio filtrante nãotecido e do meio filtrante

Portanto, diante de tudo que foi apresentado, para obter uma melhor análise sobre a influência da dependência financeira dos agentes militares sobre os gastos e o grau de

As pegadas patinadas sobre o coração, que estaria coberto por pó (talvez, mumificado), desenham uma passagem de tempo. Dialeticamente, as ações continuam seu curso enquanto há

Em outras palavras “são os professores que precisam ser constantemente renovados e atualizados desde suas metodologias de ensino até as ferramentas que viabilizam esse ensino”

O objetivo desta dissertação é analisar a associação entre autopercepção da imagem corporal e estado nutricional com autoestima corporal em adolescentes, segundo sexo e faixa

Apesar da existência do projeto desde 2004 e da inserção da ação como área de atuação do Mafra em Forma da SMS - programa institucionalizado por meio de lei - o desafio atual

17.º, n.º 4 - Se a abertura de um processo de insolvência for recusada por tribunal de um Estado-membro da União Europeia em virtude de a competência caber aos tribunais