• Nenhum resultado encontrado

Algoritmos de Aprendizado

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos de Aprendizado"

Copied!
47
0
0

Texto

(1)

Algoritmos de Aprendizado

Algoritmos de Aprendizado •Regra de Hebb

•Perceptron

•Delta Rule (Least Mean Square)

•Multi-Layer Perceptrons (Back Propagation)

•Hopfield

•Competitive Learning •Radial Basis Function

Multi

Multi--Layer PerceptronsLayer Perceptrons

• Redes de apenas uma camadauma camada

representam funções linearmentelinearmente separáveis

(2)

Multi

Multi--Layer PerceptronsLayer Perceptrons

• Redes de apenas uma camada só representam funções linearmente separáveis

• Redes de múltiplas camadasmúltiplas camadas

solucionam essa restrição

Multi

Multi--Layer PerceptronsLayer Perceptrons

Rede de 3 camadas: 5 / 5 / 3 / 4

(3)

Multi

Multi--Layer PerceptronsLayer Perceptrons

• Redes de apenas uma camada só representam funções linearmente separáveis

• Redes de múltiplas camadas

solucionam essa restrição

• O desenvolvimento do algoritmo BackBack

Propagation

Propagation foi um dos motivos para o ressurgimentoressurgimento da área de RedesRedes

Neurais

Neurais

Back Propagation

Back Propagation

• O grande desafiodesafio foi achar um algoritmo

de aprendizado para a atualização dosatualização dos

pesos

(4)

Back Propagation

Back Propagation

• O grande desafiodesafio foi achar um algoritmo

de aprendizado para a atualização dosatualização dos

pesos

pesos das camadas intermediárias.

• Idéia Central:

– Os erroserros dos elementos processadores da

camada de saída

camada de saída (conhecidos pelo treinamentotreinamento supervisionado

supervisionado) são retro-propagadosretro-propagados para as

camadas intermediárias camadas intermediárias Back Propagation Back Propagation Padrão de Entrada: vetor X x1 x2 xi sj netj wj1 wj2 wji Bias = θj +1

(5)

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

(6)

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função Não-Linearo-Linear,

diferenci

diferenciáávelvel em todos os pontos.

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função Não-Linearo-Linear,

diferenci

diferenciáávelvel em todos os pontos. – Topologia Múltiplasltiplas camadas.

(7)

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função Não-Linearo-Linear,

diferenci

diferenciáávelvel em todos os pontos. – Topologia Múltiplasltiplas camadas.

– Algoritmo de Aprendizado Supervisionado

Back Propagation

Back Propagation

Características Básicas:Características Básicas:

– Regra de Propagação netj = Σ xi.wji + θj – Função de Ativação Função Não-Linearo-Linear,

diferenci

diferenciáávelvel em todos os pontos. – Topologia Múltiplasltiplas camadas.

– Algoritmo de Aprendizado Supervisionado – Valores de Entrada/Saída Binários e/ou

(8)

Back Propagation Back Propagation Topologia: Topologia: PE1 Camadas Escondidas Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEj PEi PE1 PE1 PE1 Processo de Aprendizado Processo de Aprendizado • Processo de minimizaçãominimização do erro

quadrático pelo método do GradienteGradiente

Descendente

Descendente ∆wji = -η δE

(9)

Processo de Aprendizado

Processo de Aprendizado • Processo de minimizaçãominimização do erro

quadrático pelo método do GradienteGradiente

Descendente

Descendente ∆wji = -η δE

δwji

• Cada peso peso sinsináápticoptico i i do elemento processador jj é atualizado

proporcionalmente ao negativo danegativo da

derivada parcial do erro

derivada parcial do erro deste

processador com relação ao peso.

Processo de Aprendizado

Processo de Aprendizado Onde o erro quadrático do processador j

referente ao padrão p é definido como:

• Epj = 1 (tpj - spj)2 2

• tpj = valor desejado de saída do padrão p para o processador j da camada de saída

• spj = estado de ativação do processador j da camada de saída ao se apresentar o padrão p

(10)

Processo de Aprendizado

Processo de Aprendizado Na verdade, deve-se minimizarminimizaro erro de

todos os processadores

todos os processadores da camada de saída, para todos os padrõestodos os padrões

Usa-se o EESSESSE SSum of um of SSquared quared EErrorsrrors

Processo de Aprendizado

Processo de Aprendizado

E

ESSESSE SSum of um of SSquared quared EErrorsrrors • ESSE = 1 Σp Σj (tpj - spj)2

2

• tpj = valor desejado de saída do padrão p para o processador j da camada de saída

• spj = estado de ativação do processador j da camada de saída quando apresentado o padrão p

(11)

Cálculo de Cálculo de

w

w

jiji ∆wji = -η δEp δwji Cálculo de Cálculo de

w

w

jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji

(12)

Cálculo de

Cálculo de

w

w

jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji e ejj ej = - δEp δnetj Cálculo de Cálculo de

w

w

jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji netj = Σ si.wji + θj ej = - δEp δnetj e ejj

(13)

Cálculo de

Cálculo de

w

w

jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji netj = Σ si.wji + θj e ejj s sii ej = - δEp δnetj Cálculo de Cálculo de

w

w

jiji ∆wji = -η δEp = - η δEp δnetj δwji δnetj δwji

netj = Σ si.wji + θj

∆wji = η . eejj . ssii ej = - δEp

(14)

Cálculo de

Cálculo de eejj

Cálculo de

Cálculo de eejj

(15)

Cálculo de

Cálculo de eejj

ej = -δEp δnetj

Depende da camada à qual o processador jj pertence:

Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj ej = -δEp δnetj

(16)

Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj

Depende da camada à qual o processador jj pertence:

Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj

Depende da camada à qual o processador jj pertence:

F

(17)

Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj

Depende da camada à qual o processador jj pertence:

F F’’((netnetjj)) Cálculo de Cálculo de eejj δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj

Depende da camada à qual o processador jj pertence:

F

F’’((netnetjj)) Se j ∈ Camada de Saída ☺

(18)

Cálculo de Cálculo de eejj j j ∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 Cálculo de Cálculo de eejj j j ∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 [[ 2 . 2 . 1 (1 (ttjj - - s sjj).(-1)]).(-1)] 2 2

(19)

Cálculo de Cálculo de eejj j j ∈Camada de SaCamada de Saíídada δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp==ΣΣjj 1 ( 1 (ttjj - - s sjj))2 2 2 2 [[ 2 . 2 . 1 (1 (ttjj - - s sjj).(-1)]).(-1)] 2 2

ej == - - [ [ --((ttjj - - s sjj) ] ) ] . . FF’’((netnetjj))= = (tj - sj) F’(netj)

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) E Epp = f( = f(sj) = ?) = ?

(20)

• Pelo aprendizado supervisionadoaprendizado supervisionado, só se conhece o erro na camada de saerro na camada de saíídada((eekk)); • Erro na saída ((eekk)) é função do potencialpotencial

interno

interno do processador ((netnetkk););

• O netk depende dos estados de ativaestados de ativaçãçãoo dos processadores da camada anterior ((ssjj) ) e dos pesos das conexões ((wwkjkj););

• Portanto, ssjj de uma camada escondida afeta, em maior ou menor grau

em maior ou menor grau, o erro de todos os processadores da camada subsequente.

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

F(net) Processador j j da camada escondida PE1 PE2 PEk w1j w2j wkj e1 Cálculo de Cálculo de eejj j

j ∈∈Camada EscondidaCamada Escondida

sj sj

sj

e2

(21)

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 Cálculo de Cálculo de eejj j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj

(22)

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj

= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk

δδssjj

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj

= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk

δδssjj

(23)

Cálculo de

Cálculo de eejj

j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj

= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk δδssjj ej= - {- = - {- Σkek. . wwkjkj} . F} . F’’((netnetjj)) Cálculo de Cálculo de eejj j

j ∈∈Camada EscondidaCamada Escondida

δEp= δEp . δsj δnetj δsj δnetj sj = F(netj) ej = -δEp δnetj F F’’((netnetjj)) δ E Epp = = δ [ 1 Σk (tk - sk)2 ] δsj δsj 2 = 2. 1 [ Σk (tk - sk) ] .(-1). δsk 2 δsj

= - [ Σk (tk - sk) ] . FF’’((netnetkk) . ) . δδnetnetkk

δδssjj

(24)

Processo de Aprendizado

Processo de Aprendizado • Em resumo, após o cálculo da derivada,

tem-se:

∆wji = η.si.ej

Onde:

si valor de entrada recebido pela conexão ii

ej valor calculado do erro do processador jj

Cálculo do Erro (

(25)

Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: ej = (tj - sj). δ F(net) δ net

(26)

Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada de Saída Camada de Saída:: ej = (tj - sj). δ F(net) δ net F(net) wji s sii saída:ssjj Processador j j da camada de saída Valor desejado de saída: ttjj Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida::

(27)

Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida:: ej = (Σ ek.wkj).δ F(net) δ net Cálculo do Erro ( Cálculo do Erro (eejj)) Processador j pertence à Processador j pertence à Camada Escondida Camada Escondida:: ej = (Σ ek.wkj).δ F(net) δ net F(net) wji s sii Processador j j da camada escondida PE1 PE2 PEk w1j w2j wkj e1 e2 ek

(28)

Processo

Processo de de AprendizadoAprendizado

O algoritmo Back Propagation tem portanto

duas fases, para cada padrão apresentado:

Processo

Processo de de AprendizadoAprendizado

O algoritmo Back Propagation tem portanto

duas fases, para cada padrão apresentado:

Feed-Forward Feed-Forward as entradasentradas se propagam pela rede, da camada de entrada até a

(29)

Processo

Processo de de AprendizadoAprendizado

O algoritmo Back Propagation tem portanto

duas fases, para cada padrão apresentado:

FeedFeed--Forward Forward as entradasentradas se propagam pela rede, da camada de entrada até a

camada de saída. –

FeedFeed--BackwardBackward oserros se propagamerros na diredireção contrção contráária ao fluxo de dadosria ao fluxo de dados, indo da camada de saída até a primeira camada escondida.

Processo de Aprendizado

Processo de Aprendizado Fase 1: Feed-Forward

PE1

2 Camadas Escondidas CamadaCamada

de Saída de Saída Entrada Entrada PEm PE PE1 PE1 Valor de entrada Fluxo de Dados Fluxo de Dados

(30)

Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEi PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PE PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados

(31)

Processo de Aprendizado Processo de Aprendizado PE1 Camada Camada de Saída de Saída Entrada Entrada PEm PEk PEi PE1 PE1 Valor de entrada Fase 1: Feed-Forward 2 Camadas Escondidas Fluxo de Dados Fluxo de Dados Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Valor alvo Fase 2: Feed-Backward

Cálculo do erro da camada de saída

s smm s s22 s s11 t tmm t t22 t t11 Fluxo de Erros Fluxo de Erros

(32)

Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward

Atualização dos pesos da camada de saída

s smm s s22 s s11 t tmm t t22 t t11 em e1 e1 e1 e1 em emem w w2121 w wmkmk w w1111 w wm1m1 ∆wmk = η.sk.em ∆wmk = η.sk.em Fluxo de Erros Fluxo de Erros Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward

Cálculo do erro da 2° camada escondida

s smm s s22 s s11 t tmm t t22 t t11 em e1 e1 e1 e1 em emem w w2121 w wmkmk w w1111 w wm1m1 Fluxo de Erros Fluxo de Erros

(33)

Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward

Atualização dos pesos da 2° camada escondida

∆wki = η.si.ek ∆ ∆wwkiki= = ηη.s.sii..eekk e1 ek ek ek ek e1 e1 e1 w wkiki w w3131 w wk1k1 w w2121 w w1111 Fluxo de Erros Fluxo de Erros Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEi PE1 PE1 Fase 2: Feed-Backward

Cálculo do erro da 1° camada escondida

e1 ek ek ek ek e1 e1 e1 w wkiki w w3131 w wk1k1 w w2121 w w1111 Fluxo de Erros Fluxo de Erros

(34)

Processo de Aprendizado Processo de Aprendizado PE1 PEm PEk PEj PE1 PE1 Fase 2: Feed-Backward

Atualização dos pesos da 1° camada escondida

∆wji = η.si.ej ∆ ∆wwjiji= = ηη.s.sii..eejj ej ej ej ej e1 e1 e1 e1 Fluxo de Erros Fluxo de Erros w wj3j3 w wjiji w wj2j2wwj1j1 Processo de Aprendizado Processo de Aprendizado Este procedimento de aprendizado é

repetido

repetido diversas vezesdiversas vezes, até que, para

todos os processadores da camada de todos os processadores da camada de saída

saída e para todos os padrões detodos os padrões de treinamento

treinamento, o , erro erro seja menor do que o especificado.

(35)

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

(36)

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa saíída da YYii desejado. desejado Algoritmo de Aprendizado Algoritmo de Aprendizado Inicialização Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa

saíída da YYii desejado. desejado

Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.

(37)

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa

saíída da YYii desejado. desejado

Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.

Calcula-se oerroerro para cada processador da camada de saída. Se

erro

erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa

saíída da YYii desejado. desejado

Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.

Calcula-se oerroerro para cada processador da camada de saída. Se

erro

erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .

Atualiza os pesos

Atualiza os pesos de cada processador, começando pela camada

(38)

Algoritmo de Aprendizado

Algoritmo de Aprendizado

Inicialização

Inicialização::

pesos iniciados com valores aleatórios e pequenos ((||ww|≤|≤0.1)0.1)

Treinamento:

Treinamento:

Loop até que o erroerro de cada processador de saída seja ≤≤tolertolerâânciancia, para todos os padrões do conjunto de treinamento.

Aplica-se um padrpadrãão de entrada o de entrada XXii com o respectivo vetor devetor de sa

saíída da YYii desejado. desejado

Calcula-se as sasaíídasdas dos processadores, começando da primeira camada escondida até a camada de saída.

Calcula-se oerroerro para cada processador da camada de saída. Se

erro

erro ≤≤tolertolerâânciancia, para todos os processadores, volta ao passovolta ao passo .

Atualiza os pesos

Atualiza os pesos de cada processador, começando pela camada

de saída, até a primeira camada escondida. Volta ao passo

Avaliação do Algoritmo

Avaliação do Algoritmo • Foi demonstrado (Cybenko 1989) que a

Multi

Multi--Layer PerceptronLayer Perceptron é um Aproximador

Aproximador UniversalUniversal, isto é, pode

(39)

Avaliação do Algoritmo

Avaliação do Algoritmo • Foi demonstrado (Cybenko 1989) que a

Multi

Multi--Layer PerceptronLayer Perceptron é um Aproximador

Aproximador UniversalUniversal, isto é, pode

representar qualquer função.

• O BP é o algoritmo de Redes Neuraisalgoritmo mais utilizado

mais utilizado em aplicações práticas

de previsãoprevisão, classificaçãoclassificação e

reconhecimento de padrões

reconhecimento de padrões em geral.

Capacidade das

Capacidade das Multi Multi--LayerLayer Perceptrons

(40)

Capacidade das MLP

Capacidade das MLP

Mostrou-se que 2 camadas escondidas são suficientes para representar regiões derepresentar

qualquer tipo.

Cybenko 88 ⇒ “Continuos valued neural networks with

two hidden layers are sufficient”, Technical report,

Departmento of Computer Science, Tufts University, 1988. Lippmann 87 ⇒ “An Introduction to Computing with Neural

Networks”, ASSP Magazine, pp. 4-22, April 1987.

Capacidade das MLP Capacidade das MLP AND AND OR OR

(41)

Capacidade das MLP

Capacidade das MLP Demonstrou-se que as Multi-Layer

Perceptrons com uma camada escondida

são AproximadoresAproximadores Universais Universais

Capacidade das MLP

Capacidade das MLP Demonstrou-se que as Multi-Layer

Perceptrons com uma camada escondida

são AproximadoresAproximadores Universais Universais (funções contínuas)..

capacidade de aproximar, com precisão

arbitrária, essencialmente qualquer

mapeamento contcontíínuonuo do hipercubo [-1, +1] no intervalo (-1, +1).

Cybenko 89 ⇒ “Approximation by superpositions of a Sigmoidal Function”, Mathematics of Control, Signals and

(42)

BP /

BP / Aproximador Aproximador UniversalUniversal

Teorema de kolmogorov:

Qualquer mapeamento f(x) contínuo de uma entrada

p-dimensional (p ≥ 2) em uma saída m-dimensional

pode ser implementado exatamente por uma rede de p

entradas, com uma camada escondida de 2p+1 processadores e m processadores de saída.

BP /

BP / Aproximador Aproximador UniversalUniversal

Teorema de kolmogorov:

Qualquer mapeamento f(x) contínuo de uma entrada

p-dimensional (p ≥ 2) em uma saída m-dimensional

pode ser implementado exatamente por uma rede de p

entradas, com uma camada escondida de 2p+1 processadores e m processadores de saída.

(43)

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta. ) / 1 ( N O BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta.

⇒Verificou-se também que o erro decresce

na ordem de em função do número MM de processadores escondidos.

) / 1 ( N O ) / 1 ( M O

(44)

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Verificou-se que o erro decresce na ordem de , conforme o número NN de padrões aumenta.

⇒Verificou-se também que o erro decresce

na ordem de em função do número MM de processadores escondidos. ⇒“Rule of Thumb”

onde N= # de padrões;

M = # de processadores escondidos;

p = dimensão da entrada (Mp ≈ # de parâmetros); ε = erro mínimo desejado.

) / 1 ( N O ) / 1 ( M O ) / (Mp ε O N > BP /

BP / Aproximador Aproximador UniversalUniversal

(45)

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um

número “suficientemente grande” de

processadores na camada escondida.

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um

número “suficientemente grande” de

processadores na camada escondida.

⇒Quando f(x) a ser aproximada é não

(46)

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Por que se utiliza mais de uma camada? ⇒A declaração que se necessita de um

número “suficientemente grande” de

processadores na camada escondida.

⇒Quando f(x) a ser aproximada é não

contínua.

⇒O número de processadores na camada única pode tender a infinito.

BP /

BP / Aproximador Aproximador UniversalUniversal

⇒Por que se utiliza mais de uma camada?

Rede com duas camadas escondidas

Rede com uma camada escondida

(47)

BP /

BP / Aproximador Aproximador UniversalUniversal

Problema de múltiplas camadasProblema de múltiplas camadas intermediárias

intermediárias:

⇒cada vez que o erro medido é retro-propagado para a camada anterior, ele se torna menos precisomenos preciso.

Referências

Documentos relacionados