AULA06-exercícios
description
Transcript of AULA06-exercícios
AULA06-exercícios
MLP
exercício1
f1
f2
f
x1
x2
w1
w2
w3
w4
w5
w6
w7
w8
w9
y
y1
y2
Definir os pesos iniciais e aplicar o algoritmo do gradiente (backpropagation com atualização em lote) para a função XOR, com entradas binárias e funções de ativação sigmoidais.
))(())(()()()1(ttttt
wwww
)()(wwd
T
nwwwgrad
)(...)()()())((21
wwwww
Algoritmo de primeira ordem: gradienteDado o gradiente da soma dos quadrados dos erros por:
a direção de maior decrescimento é dada por
e o ajuste do peso é dado por:
Programa – gradiente1 • Os seguintes arquivos constituem o programa do gradiente binário:
– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros
– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas
• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e
entradas– Saídas – mostra as saídas atuais para todas as entradas
exercício2
Definir os pesos iniciais e aplicar o algoritmo do gradiente com momento para a função XOR, com entradas binárias e funções de ativação sigmoidais
f1
f2
f
x1
x2
w1
w2
w3
w4
w5
w6
w7
w8
w9
y
y1
y2
Momentum• As fórmulas de atualização são
ou
onde o parâmetro de momentum é restrito ao intervalo (0,1).
• O momentum permite à rede realizar ajustes de peso razoavelmente grande enquanto as correções forem na mesma direção para vários padrões, e uma pequena taxa de aprendizado para quaisquer erros de padrão de treinamento.
• Exemplo: Usando os mesmos pesos iniciais e arquitetura para os exemplos de aplicação para o problema do Xor e valores desejados +1 e -1, adicionando momentum (parâmetro = 0.9) com a taxa de aprendizado como antes (0.02) reduz o número de épocas de 387 para 38.
)]1()([)()1( twtwytwtw jijiijjiji
)()1( twytw jiijji
Programa – momento1 • Os seguintes arquivos constituem o programa do gradiente binário:
– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros
– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas
• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e
entradas– Saídas – mostra as saídas atuais para todas as entradas
exercício3
Definir os pesos iniciais e aplicar o algoritmo do gradiente com delta-bar-delta para a função XOR, com entradas binárias e funções de ativação sigmoidais.
f1
f2
f
x1
x2
w1
w2
w3
w4
w5
w6
w7
w8
w9
y
y1
y2
Delta-bar-delta
• A regra delta-bar-delta muda os pesos conforme:
• Cada peso muda numa taxa de aprendizado individual.
jijijiji wttwtw
)1()()1(
ijjiji yttw )1()(
• Seja wji (t) um peso arbitrário no tempo t, e ji (t) a respectiva taxa de treinamento, e a soma dos quadrados dos erros para o padrão apresentado nesse tempo t.
Delta-bar-delta (cont.)• Se, para regra delta convencional,
• a regra delta-bar-delta usa uma combinação da informação sobre a derivada atual e passada para formar um novo delta, ou delta-bar, para cada unidade:
onde o valor do parâmetro deve ser especificado pelo usuário (0< <1). Assim a nova taxa de aprendizado é dada por
ijji
ji yw
)1()()1()(__
ttt jijiji
contráriocasot
ttsetttset
t
ji
jijiji
jijiji
ji
)(0)()1()()1(0)()1()(
)1(
Programa – deltabardelta1 • Os seguintes arquivos constituem o programa do gradiente binário:
– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros
– Continua100 – executa 100 épocas – Continua1000– executa 1000 épocas
• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– Erromed – calcula o erro medio quadrático– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotag – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e
entradas– Saídas – mostra as saídas atuais para todas as entradas
exercício4
Definir os pesos iniciais e aplicar o algoritmo do gradiente conjugado para a função XOR, com entradas binárias e funções de ativação sigmoidais.
f1
f2
f
x1
x2
w1
w2
w3
w4
w5
w6
w7
w8
w9
y
y1
y2
Resumo do Algoritmo de Gradiente Conjugado
1. Iniciar os valores de w(0) 2. Para w(0) usar o back-propagation para computar o gradiente g(0).3. Fazer s(0)=r(0)=-g(0)4. No passo n, usar a busca em linha para encontrar (n) que minimiza .5. Testar se a norma euclidiana do residual r(n) caiu num valor abaixo do
especificado, ou seja numa pequena fração do valor inicial r(0).6. Atualizar o vetor peso:
7. Para w(n+1) usar back-propagation para computar o vetor gradiente g(n+1)8. Fazer r(n+1) = - g(n+1)9. Usar o método de Polak-Ribiére para calcular
10. Atualizar a direção conjugada
11. Fazer n = n + 1 e ir para o passo 4.
)()()()1( nnnn sww
0,)()(
))()1()(1(max)1(nn
nnnn T
T
rrrrr
)()1()1()1( nnnn srs
Programa – gradienteconjugado1 • Os seguintes arquivos constituem o programa do gradiente binário:
– Inicializa – deve ser executado primeiro para inicializar os pesos e parametros
– Continua– executa até minimizar o MSE, 100 épocas
• Subprogramas– Passo1 – calcula o passo do cálculo da saida– Passo2 – calcula o passo da retro-propagação do erro– polak– calcula a direção conjugada s(n), a partir de n = 2– Calculalinha– faz a busca em linha para a obtenção de (n)– Linha – calcula o valor do erro médio quadratico na linha– Erromed – calcula o erro medio quadrático para a época– Atualizarpesos – atualiza os pesos– Epoca – calcula e ajusta os pesos para uma época– Plotagc – plota o erro medio quadrático para todas as épocas– Plotatodos – plota as saídas dos neurônios para todas as épocas e entradas– Saídas – mostra as saídas atuais para todas as entradas