Buscar

Redes Neurais_RBF

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina: Redes Neurais
Prof. Dr. Luís Gustavo M. Souza
Teresina, junho/2019
Rede de Função de Base Radial 
(RBF)
Objetivos
 Redes de Função de Base Radial
 Comparação com as redes MLP
 Descrição geral das redes RBF 
 Etapas de treinamento das redes RBF
 Projeto da Camada Oculta
 Projeto da Camada de Saída
Redes de Função de Base Radial
 A função é aproximada como uma combinação linear de 
Funções de Base Radial (Radial Basis Functions - RBF). As 
RBFs capturam o comportamento local das funções.
 Motivação Biológica:
RBFs representam receptores locais:
Comparação com as Redes MLP
 As redes RBF são utilizadas em tarefas complexas (não-
lineares) de classificação de padrões.
 Comparação entre redes RBF e redes MLP:
1. Ambas são exemplos de redes non-linear layered feedforward;
2. Ambas são aproximadores universais de funções;
3. Quanto às camadas escondidas:
 Na rede RBF há uma única camada escondida;
 Na rede MLP pode haver diversas camadas escondidas.
Comparação com as Redes MLP
 Modelos de Neurônios:
o Os neurônios da camada escondida de uma RBF são diferentes. 
Eles têm um propósito diferente daquele dos neurônios da 
camada de saída;
o Os neurônios típicos na camada escondida ou de saída em uma
MLP comungam de modelo comum de neurônio.
 Linearidade:
o A camada escondida de uma rede RBF é não-linear, a camada
de saída da RBF é linear.
o As camadas escondida e de saída em uma MLP são geralmente
não-lineares.
Comparação com as Redes MLP
 Funções de Ativação:
o O argumento da função de ativação de cada neurônio da camada 
escondida de uma rede RBF é a distância Euclideana entre o vetor 
de entrada e o centro daquela unidade.
o O argumento da função de ativação de cada unidade escondida
em uma MLP é o produto interno do vetor de entrada e o vetor
com os pesos sinápticos daquela unidade.
 Aproximações:
o A rede RBF ao usar funções Gaussianas constrói aproximações
locais para o mapeamento não-linear entrada-saída.
o A rede MLP constrói aproximações globais para o mapeamento
não-linear entrada-saída.
Comparação com as Redes MLP
Gráfico da Função de Ativação Gaussiana (unidimensional)
Comparação com as Redes MLP
Gráfico da Função de Ativação Gaussiana (bidimensional)
Comparação com as Redes MLP
Aproximação de Funções 1D Usando a rede RBF
A rede RBF pode aproximar qualquer função contínua através 
da combinação linear de funções gaussianas com centros em 
diferentes posições do espaço de entrada.
Comparação com as Redes MLP
Aproximação de Funções 2D Usando a rede RBF
Descrição Geral das Redes RBF 
 Diferentemente da rede MLP que pode apresentar uma ou duas 
camadas de neurônios ocultos, a rede RBF, em sua concepção 
básica, apresenta apenas uma camada oculta além de uma camada 
de saída;
 Os neurônios da camada oculta, doravante chamados de funções 
de base radial, possuem função de ativação não-linear que é bem 
diferente das funções sigmoides que a rede MLP usa;
 Já os neurônios da camada de saída possuem, em geral, função de 
ativação linear.
Descrição Geral das Redes RBF 
Figura: (a) Neurônios da camada escondida. (b) Neurônios da camada de saída.
Descrição Geral das Redes RBF 
 Para utilizar a rede RBF é preciso ter em mãos um número 
finito de N exemplos de treinamento dados na forma de 
pares de vetores (𝐱, 𝐝):
𝐱 1 , 𝐝(1)
𝐱 2 , 𝐝(2)
⋮ ⋮
𝐱 𝑁 , 𝐝(𝑁)
onde assume-se que estes vetores estão relacionados segundo 
uma lei matemática 𝐅(⋅), tal que:
𝐝 𝑡 = 𝐅 𝐱 𝒕 ,
onde 𝑡 = 1,… , 𝑁.
Descrição Geral das Redes RBF 
 É justamente o mapeamento 𝐅(∙) que se deseja conhecer. 
Uma maneira de se adquirir conhecimento sobre 𝐅(∙) é 
através dos dados disponíveis;
 Para isto pode-se utilizar a rede RBF (assim como a rede 
MLP) para gerar uma aproximação de 𝐅(∙), denotada por 
෠𝐅(∙), tal que:
𝐨 𝑡 = ෠𝐅 𝐱(𝑡)
onde 𝐨(𝑡) é a saída gerada pela rede que, espera-se, seja muito 
próxima da saída real 𝐝(𝑡).
Descrição Geral das Redes RBF 
 Cada vetor de entrada é representado como
𝐱 𝑡 =
𝑥1(𝑡)
⋮
𝑥𝑝(𝑡)
onde o tempo discreto 𝑡 = 1,2, … serve para indicar o instante de apresentação de 
um vetor de entrada qualquer à rede, enquanto o vetor de saída é escrito como
𝐝 𝑡 =
𝑑1(𝑡)
⋮
𝑑𝑛(𝑡)
representa o vetor de saídas desejadas associado ao vetor de entrada atual.
 Ainda, 𝑥𝑗 denota uma componente qualquer do vetor de entrada 𝐱 e 𝑑𝑘 denota 
uma componente qualquer do vetor de saídas desejadas 𝐝.
Descrição Geral das Redes RBF 
 O vetor de pesos de cada função de base, também chamado de centro da função 
de base, é representado como
𝐜𝑖 =
𝑐𝑖1
⋮
𝑐𝑖𝑗
⋮
𝑐𝑖𝑝
em que 𝑐𝑖𝑗 é o peso que conecta a 𝑗-ésima entrada à 𝑖-ésima função de base.
 De modo semelhante, o vetor de pesos associado ao 𝑘-ésimo neurônio da 
camada de saída é representado como
𝐦𝑘 =
𝑚𝑘0
⋮
𝑚𝑘𝑛
=
𝜃𝑘
⋮
𝑚𝑘𝑛
em que 𝜃𝑘 é o limiar associado ao neurônio de saída 𝑘.
Etapas de treinamento das redes RBF 
 Antes de apresentar os exemplos de treinamento para a rede 
RBF é comum mudar a escala original das componentes dos 
vetores 𝐱 e 𝐝 para a escala das funções de ativação logística (0 
e 1) ou da tangente hiperbólica (−1 e 1).
Etapas de treinamento das redes RBF 
 As maneiras mais comuns de se fazer esta mudança de escala são 
apresentadas a seguir:
1. Procedimento 1: Indicado para quando os neurônios utilizam a função 
logística,
𝑥𝑗
∗ =
𝑥𝑗
𝑥𝑗
𝑚𝑎𝑥 ,
em que, ao dividir cada 𝑥𝑗 pelo seu maior valor 𝑥𝑗
𝑚𝑎𝑥 = max
∀𝑡
{𝑥𝑗(𝑡)}, tem-se 
que 𝑥𝑗
∗ ∈ [0, 1].
2. Procedimento 2: Indicado também para neurônios que utilizam a função 
de ativação logística,
𝑥𝑗
∗ =
𝑥𝑗 − 𝑥𝑗
𝑚𝑖𝑛
𝑥𝑗
𝑚𝑎𝑥 − 𝑥𝑗
𝑚𝑖𝑛
,
em que 𝑥𝑗
𝑚𝑖𝑛 = min
∀𝑡
{𝑥𝑗(𝑡)} é o menor valor de 𝑥𝑗 .A aplicação deste 
procedimento resulta que 𝑥𝑗
∗ ∈ [0,+1].
Etapas de treinamento das redes RBF 
3. Procedimento 3: Indicado para quando os neurônios utilizam a função tangente 
hiperbólica,
𝑥𝑗
∗ = 2 ∙
𝑥𝑗 − 𝑥𝑗
𝑚𝑖𝑛
𝑥𝑗
𝑚𝑎𝑥 − 𝑥𝑗
𝑚𝑖𝑛
− 1,
em que 𝑥𝑗
𝑚𝑖𝑛 = min
∀𝑡
𝑥𝑗(𝑡) é o menor valor de 𝑥𝑗 para todo o conjunto de dados. A 
aplicação deste procedimento resulta que 𝑥𝑗
∗ ∈ [−1,+1].
4. Procedimento 4: Indicado para quando os neurônios utilizam a função tangente 
hiperbólica,
𝑥𝑗
∗ =
𝑥𝑗 − ഥ𝑥𝑗
𝑠𝑗
,
em que ഥ𝑥𝑗 é a média amostral de 𝑥𝑗 e 𝑠𝑗 é o desvio-padrão amostral de 𝑥𝑗, ambos calculados 
para o conjunto total de dados:
ഥ𝑥𝑗 =
σ𝑡=1
𝑁 𝑥𝑗(𝑡)
𝑁
𝑒 𝑠𝑗 =
σ𝑡=1
𝑁 𝑥𝑗 𝑡 − ഥ𝑥𝑗
2
𝑁
.
A aplicação deste procedimento resulta que 𝐸 𝑥𝑗
∗ = 0 e 𝑉𝑎𝑟 𝑥𝑗
∗ = 1, em que 𝐸[·] denota 
a esperança estatística e 𝑉𝑎𝑟[·] é a variância de 𝑥𝑗
∗. 
Etapas de treinamento das redes RBF 
 Os procedimentos descritos anteriormente também devem 
ser igualmente aplicados às componentes 𝑑𝑘 dos vetores 
contendo as saídas desejadas, 𝐝, caso estes possuam 
amplitudes fora da faixa definida pelas funções de ativação;
Projeto da Camada Oculta
 Esta etapa de funcionamento da rede RBF envolve 
basicamente a especificação do número de funções de base, 
determinação dos seus respectivos parâmetros e 
determinação dos pesos dos neurônios de saída;
 Na verdade existem diversas maneiras de se projetar a rede 
RBF, porém nos restringiremos aqui ao procedimento 
descrito por Moody e Darken [1];
 Estes autores separam o treinamento de uma rede RBF em 
três etapas executadas sequencialmente.
[1] J. E. Moody and C. Darken. Fast learning in networks of locally-tuned processing units. 
Neural Computation, 1(1):281–294, 1989.
Projeto da Camada Oculta
 Durante a primeira etapa, usa-se um algoritmo de 
formação de agrupamentos para encontrar os chamados 
centros das funções de base;
 A segunda etapa trata do uso de métodos heurísticos
para determinar o raio (radius) ou a abertura (spread) de 
cada função de base;
 Por último, na terceira etapa, uma vez determinados os 
centros e os raios das diversasfunções de base, pode-se 
computar os pesos dos neurônios de saída através das regras 
de aprendizagem LMS, Delta ou do Perceptron Simples. 
Projeto da Camada Oculta
 Assim, após a apresentação de um vetor de entrada 𝐱 na iteração 
𝑡, calcula-se a ativação da 𝑖-ésima função de base por meio da 
seguinte expressão;
𝑢𝑖 𝑡 = 𝐱 𝑡 − 𝐜𝑖(𝑡) , 𝑖 = 1,… , 𝑞
em que 𝑞 é o número de funções de base desta camada, e o vetor 𝐜𝑖, 
mantido constante para o neurônio 𝑖, define o que se conhece como 
centro da 𝑖-ésima função de base.
 A saída da 𝑖-ésima função de base é calculada como
𝑦𝑖(𝑡) = 𝜙(𝑢𝑖 𝑡 ) = exp −
𝑢𝑖
2 𝑡
2𝜎𝑖
2 , 𝑖 = 1,… , 𝑞
em que 𝜎𝑖 é o chamado raio da 𝑖-ésima função de base, pois define a 
largura (abertura) da função de ativação gaussiana deste neurônio.
Projeto da Camada Oculta
 É comum normalizar a saída dos neurônios da camada 
escondida, tal que a soma de todas as saídas seja igual a 1, ou 
seja, σ𝑖=1
𝑞
𝑦𝑖 𝑡 = 1 . Para implementar esta normalização 
basta reescrever a equação acima como
𝑦𝑖 𝑡 =
𝜙(𝑢𝑖 𝑡 )
σ
𝑙=1
𝑞
𝜙𝑙(𝑢𝑙 𝑡 )
=
exp −
𝑢𝑖
2 𝑡
2𝜎𝑖
2
σ
𝑙=1
𝑞
exp −
𝑢𝑙
2 𝑡
2𝜎𝑙
2
Projeto da Camada Oculta
 Determinação dos Centros da Rede RBF:
Existem duas maneiras muito comuns de se determinar os centros 𝐜𝑖
das funções de base. Estes métodos são detalhados a seguir:
1. Seleção Aleatória de Centros
Este método consiste em selecionar aleatoriamente um certo número 𝑞
de vetores de entrada para atuarem como centros da rede RBF. 
Matematicamente, podemos escrever:
𝐜𝑖 = 𝐱𝑘 , 𝑖 = 1,… , 𝑞
em que 𝑘 é um número inteiro escolhido aleatoriamente, sem 
reposição, entre 1 e 𝑁. 
Projeto da Camada Oculta
2. Seleção por Quantização Vetorial
O segundo método envolve a determinação dos centros através de 
um algoritmo de quantização vetorial, sejam eles de origem não-
neural, tal como K-médias, ou de origem neural, tais
como as redes SOM, Neural-Gas ou WTA.
Descreve-se a seguir o algoritmo WTA, aplicado para realizar a 
quantização vetorial dos dados e fornecer os centroides das 
funções de base radial.
Projeto da Camada Oculta
2. Seleção por Quantização Vetorial
O algoritmo básico de funcionamento da rede WTA é descrito abaixo:
Passo 1 - Definir o número de funções de base radial (𝑞) e a taxa de aprendizagem (𝜂);
Passo 2 - Iniciar com valores aleatórios os centros 𝐜𝑖 , 𝑖 = 1,… , 𝑞;
Passo 3 - Fazer 𝑡 = 1;
Passo 4 - Enquanto 𝑡 ≤ 𝑁,
Passo 4.1 - Selecionar aleatoriamente (sem reposição) o vetor de entrada 𝐱(𝑡).
Passo 4.2 - Determinar o índice do centro mais próximo de 𝐱(𝑡), ou seja,
𝑖∗ 𝑡 = argmin
∀𝑖
𝐱 𝐭 − 𝐜𝑖(𝑡) .
Passo 4.3 - Aplicar a seguinte regra de aprendizagem não- supervisionada:
𝐜𝑖 𝑡 + 1 = ቊ
𝐜𝑖 𝑡 + 𝜂 ∙ 𝐱 𝑡 − 𝐜𝑖 𝑡 , se 𝑖 = 𝑖
∗(𝑡)
𝐜𝑖 𝑡 , caso contrário
Passo 4.4 - Fazer 𝑡 = 𝑡 + 1.
Passo 5 -Verificar se o critério de parada do treinamento é atendido. Caso afirmativo, então
finalizar treinamento. Caso contrário, retornar ao Passo 3.
Projeto da Camada Oculta
 Determinação do Raio da Função de Base:
Uma vez que os centros das funções de base tenham sido 
determinados, o passo seguinte é determinar os raios (𝜎𝑖) das 
várias funções de base. Este parâmetro é de fundamental 
importância para o projeto da rede RBF. 
Projeto da Camada Oculta
 Determinação do Raio da Função de Base:
Existem diversas técnicas para determinar 𝜎𝑖, contudo nos restringiremos a três 
casos bastante comuns, a saber:
o Caso 1: Um único raio é usado por todos os neurônios, ou seja, 𝜎𝑖 = 𝜎. Isto 
significa que todas as funções de base terão a mesma abertura (spread).
𝜎 =
𝑑𝑚𝑎𝑥(𝐜𝑖 , 𝐜𝑗)
2𝑞
, ∀𝑖 ≠ 𝑗,
em que 𝑑𝑚𝑎𝑥 𝐜𝑖 , 𝐜𝑗 = max
∀𝑖≠𝑗
𝐜𝑖 − 𝐜𝑗 .
o Caso 2: Cada neurônio usa um raio próprio, que tem seu valor definido como 
metade da distância entre o centro do neurônio 𝑖 e o centro mais próximo. Em 
termos matemáticos:
𝜎𝑖 =
𝑑𝑚𝑖𝑛(𝐜𝑖 , 𝐜𝑗)
2𝑞
, ∀𝑖 ≠ 𝑗,
em que 𝑑𝑚𝑖𝑛 𝐜𝑖 , 𝐜𝑗 = min
∀𝑖≠𝑗
𝐜𝑖 − 𝐜𝑗 .
Projeto da Camada Oculta
 Determinação do Raio da Função de Base:
o Caso 3: Esta heurística é uma variante daquela do Caso 2. O 
raio da 𝑖-ésima função de base é a distância média do centro 
desta base para os 𝐾 (1 ≤ 𝐾 ≪ 𝑞) centros mais
próximos. Em termos formais, podemos escrever
𝜎𝑖 =
σ𝑘=1
𝐾 𝑑 (𝐜𝑖 , 𝐜𝑖𝑘)
𝐾
,
em que 𝑖𝑘 é o índice do 𝑘-ésimo centro mais próximo de 𝐜𝑖, ou 
seja,
𝐜𝑖 − 𝐜𝑖1 < ⋯ < 𝐜𝑖 − 𝐜𝑖𝑘 < ⋯ < 𝐜𝑖 − 𝐜𝑖𝐾 .
Projeto da Camada de Saída
 Após a determinação dos centros e dos raios das funções de 
base que compõem a camada oculta, a terceira e última etapa 
consiste na determinação dos pesos de saída (𝑚𝑘𝑖);
 Uma das abordagens mais comuns consiste usar as regras de 
aprendizagem usadas por redes de uma única camada,
tais como a regra de aprendizagem do Perceptron Simples, a 
regra LMS (Adaline) ou ainda a regra Delta (Perceptron
Logístico);
 Durante esta terceira etapa, os centros e os raios calculados 
nas duas etapas anteriores não tem seus valores alterados.
Projeto da Camada de Saída
 Para aplicações que envolvem aproximação de funções, tais como 
predição de séries temporais ou identificação de sistemas, 
costuma-se utilizar neurônios de saída com função de ativação 
linear;
 Deste modo, a saída do 𝑘-ésimo neurônio de saída é dada por:
𝑜𝑘 𝑡 =෍
𝑖=0
𝑞
𝑚𝑘𝑖 𝑡 𝑦𝑖(𝑡) , 𝑘 = 1,… ,𝑚,
em que 𝑚 é o número de neurônios de saída. Note que as saídas das 
funções de base, 𝑦𝑖(𝑡), fazem o papel de entrada para os neurônios 
da camada de saída.
Projeto da Camada de Saída
 Pode-se usar o método da pseudoinversa para determinar os 
pesos de saída;
 Outra possibilidade é usar um regra de aprendizagem 
recursiva para determinar os pesos de saída, tal como a regra 
LMS (Least-Mean Square), usada pela rede Madaline:
𝑚𝑘𝑖 𝑡 + 1 = 𝑚𝑘𝑖 𝑡 + 𝜂𝑒𝑘 𝑡 𝑦𝑖 𝑡 ,
em que 𝑒𝑘 𝑡 = 𝑑𝑘(𝑡) − 𝑜𝑘(𝑡) é o erro na saída do 𝑘-ésimo
neurônio.
 Note que para treinar a camada de saída, os vetores de 
entrada devem ser novamente apresentados à rede RBF 
por um certo número de épocas. 
Projeto da Camada de Saída
 Caso a aplicação envolva classificação de padrões, pode-se 
optar pelo uso da regra de aprendizagem do perceptron
simples. Neste caso, a saída do 𝑘-ésimo neurônio passa a ser 
dada por:
𝑜𝑘 𝑡 = ቊ
+1, 𝑢𝑘 𝑡 ≥ 0
−1, 𝑢𝑘 𝑡 < 0
,
em que 𝑢𝑘 𝑡 = σ𝑖=0
𝑞
𝑚𝑘𝑖 𝑡 ∙ 𝑦𝑖(𝑡). O ajuste dos pesos 
continua sendo feito pela equação anterior.
Projeto da Camada de Saída
 Se o usuário optar pelo perceptron simples com função de ativação 
sigmoidal (e.g. perceptron logístico), a saída do 𝑘-ésimo neurônio 
passa a ser computada como:
𝑜𝑘 𝑡 = 𝜙 𝑢𝑘 𝑡 = 𝜙𝑘 𝑡 = 𝜙𝑘 ෍
𝑖=0
𝑞
𝑚𝑘𝑖 𝑡 ∙ 𝑦𝑖 (𝑡) ,
em que assume-se que 𝑦0 𝑡 = −1 𝑒 𝑚𝑘0 = 𝜃𝑘. 
A função de ativação 𝜙𝑘 assume geralmente uma das seguintes 
formas:
𝜙𝑘 𝑡 =
1
1+𝑒𝑥𝑝 −𝑢𝑘(𝑡)
, (logística)
𝜙𝑘 𝑡 =
1−exp[−𝑢𝑘 𝑡 ]
1+𝑒𝑥𝑝 −𝑢𝑘(𝑡)
. (tangente hiperbólica)
Projeto da Camada de Saída
 Neste caso, o ajuste dos pesos passa a ser feito por meio da 
regra Delta, ou seja,
𝑚𝑘𝑖 𝑡 + 1 = 𝑚𝑘𝑖 𝑡 + 𝜂𝑒𝑘 𝑡 𝑦𝑖 𝑡 𝜙𝑘
′ 𝑡 ,
tal que,
𝜙𝑘
′ 𝑡 = 𝜙𝑘 𝑡 1 − 𝜙𝑘 𝑡 = 𝑜𝑘 𝑡 ∙ 1 − 𝑜𝑘 𝑡 ,
(função logística)
𝜙𝑘
′ 𝑡 = 𝜙𝑘 𝑡 1 − 𝜙𝑘 𝑡 = 1 − 𝑜𝑘
2 𝑡 .
(tangente hiperbólica)

Outros materiais