Inteligência Artificial
3.10 Redes RBF
Nova entrada: apresentando as características de uma moto que possui duas
rodas e motor. Como as entradas são mais parecidas à da bicicleta, a rede deve classificar como bicicleta. A isto se dá o nome de generalização. Para classificar como moto, a rede deveria ser treinada para este fim, onde às vezes é necessário fornecer outras características de entrada.
Verificando a saída da rede treinada para a entrada de informação
correspondente à moto {2,1}:
Como era de se esperar, o neurônio vencedor foi o segundo, indicando que
o modelo apresentado à rede é da classe das bicicletas.
3.10 Redes RBF
As redes de função de base radial (RBF – Radial Basis Function) são utilizadas com sucesso em classificações de padrões, em aproximações de
funções (Haykin, 2007), em previsões de séries temporais (Sun et al., 2005), e outras aplicações.
Uma rede RBF em sua forma mais básica possui apenas uma única camada
oculta, enquanto redes do tipo MLP apresentam uma ou mais camadas
escondidas, segundo suas especificações (Haykin, 2007). A camada escondida de uma rede RBF é constituída por funções de ativação de base radial, onde as mais usuais são as gaussianas que são definidas por seus centros e larguras. A camada de saída da rede possui pesos que ponderam as informações das saídas de cada função de base radial, agregando-as linearmente na saída da rede (que
pode ter mais de uma saída, conforme a aplicação). A Figura 3.27 ilustra a estrutura típica de uma rede RBF.
FIGURA 3.27 Estrutura típica de uma rede RBF.
Não há pesos na primeira camada da rede, as variáveis de entrada
constituem os dados das funções de ativação (G ), que por sua vez são os j próprios nós da camada oculta da rede.
A expressão típica de uma função de base radial é dada por (3.42), onde m
denota o valor central (centro, esperança ou média) da função em questão, e σ corresponde ao seu desvio-padrão (ou largura).
(3.42)
Os pesos (w ) da camada de saída da rede multiplicam os valores (y jj
fornecidos pelas funções de base radial da estrutura, que totalizados (somados) fornecem o valor (Y) de saída da rede, que é adicionado a um valor de offse unitário multiplicado pelo peso (bias) “w associado. Uma rede RBF pode ter 0” outras saídas associadas a outros pesos correspondentes. A informação de
cada saída de uma determinada rede é modelada pela equação (3.43).
(3.43)
Existem algumas estratégias utilizadas para ajustar os parâmetros (centros
desvios-padrões e pesos) das redes RBF, sendo tipicamente classificadas como empíricas, auto-organizadas e supervisonadas. Nas estratégias empíricas, os centros das funções são ajustados aleatoriamente, e as suas larguras são dadas pela relação entre a distância máxima dos centros escolhidos pelo valor da raiz
quadrada do número de funções de ativação adotadas (Haykin, 2007). O objetivo é obter distribuições uniformes para as funções, com a finalidade de mapear adequadamente os dados de entrada, de forma a promover uma boa capacidade de generalização da rede. Os pesos da camada de saída são calculados pelo método dos mínimos quadrados, a partir dos valores de saída das funções gaussianas estabelecidas, onde são utilizados um determinado conjunto de dados de entrada de treinamento e o correspondente padrão desejado para as informações de saída da rede em questão.
Como estratégia auto-organizada pode-se mencionar o procedimento citado
em Haykin (2007), que utiliza um algoritmo tipo K-means de agrupamento de dados, com uma técnica de casamento de similaridade associada a um método de atualização iterativo, cujo objetivo consiste em selecionar e ajustar os centros das funções de base radial da rede. Os pesos da camada de saída são
ajustados pelo método dos mínimos quadrados. O trabalho de Sun et al
(2005) utiliza um método otimizado de partição de dados, baseado na distância entre os centros dos agrupamentos dos dados de treinamento da rede Uma função de custo adicional é associada ao método de otimização utilizado cujo objetivo consiste em ajustar os centros e desvios (larguras) das funções
da rede. As estratégias supervisionadas (Haykin, 2007) utilizam procedimentos de aprendizagem que empregam o método do gradiente descendente para ajustar todos os parâmetros (centros, desvios padrões e pesos) de uma determinada rede RBF, onde a informação do erro entre a informação de saída da rede em questão e o padrão desejado para ela é utilizado no processo de treinamento.
3.10.1 Exemplos de redes RBF
Exemplo 3.4
Utilizar uma rede RBF para emular a função lógica OU Exclusiva.
Será considerada uma rede com dois nós na camada escondida, onde as
funções de base radial possuem valores de desvios-padrão unitários, com valores dos seus centros em 0,25 e 0,75. Os valores dos pesos da camada de saída da RBF são calculados com a técnica dos mínimos quadrados, em que
se utiliza os dados resultantes das funções gaussianas empregadas para o padrão de dados de entrada da rede, com os valores do padrão de saída da mesma. Os cálculos mostrados a seguir ilustram o procedimento em questão. Para os vetores de entrada x1 = [0;0;1;1] e x2 = [0;1;0;1], têm-se
os seguintes valores de saída das funções gaussianas: [0,88251 0,3247; 0,5352 0,5353; 0,5352 0,5353; 0,3247 0,8825]. Com estes valores e com os
dados do vetor de saída y = [0;1;1;0] calcula-se os coeficientes (W) dos
pesos da rede em questão (o símbolo "T” denota matriz transposta e "−” matriz
inversa):
Todo o procedimento de obtenção dos parâmetros da rede RBF é do tipo
não supervisionado (conforme citado anteriormente).
Exemplificando numericamente o mapeamento resultante da função
XOR pela rede RBF obtida, sendo que para x1 = 1 e x2 = 1, têm-se: y = 8,8375 – 7,3206 × 0,3247 – 7,3206 × 0,8825 = 0,0004 (que corresponde ao nível lógico “0”). De forma similar para x1 = 0 e x2 = 0, tem-se y = 0,0004. Para x1 = 0 e x2 = 1, tem-se y = 1,0006, que corresponde ao nível lógico “1”. Idem para x1 = 1 e x2 = 0 com y = 1,0006 (nivel “1” também). No
Anexo 3.3 encontra-se o código-fonte de um programa básico desenvolvido para computar o modelo da rede RBF em questão.
Exemplo 3.5
Neste exemplo, uma rede RBF será empregada para aproximar a função não linear y = x 2 para x = [0, 1]. 1 1
Será considerada uma rede com três nós na camada escondida, onde se
empregará conceitos de agrupamentos de dados no estabelecimento dos parâmetros da rede. As respectivas funções gaussianas possuem os seguintes centros, considerando-se três clusters igualmente espaçados no intervalo de valores da variável x : 0,175; 0,525; 0,85. Os desvios-padrão 1 das funções de base radial foram estimados calculando os respectivos desvios dos três agrupamentos considerados. Estes valores foram multiplicados por um fator de valor igual a 10, com a finalidade de se ajustar adequadamente às dispersões das gaussianas para a modelagem da função em questão, obtendo-se: 1,2247; 0,9354; 1,0801. Os pesos da camada de saída da rede foram calculados de forma similar (pelo método dos mínimos quadrados) ao do exemplo anterior, gerando-se: w0 = 11,2323; w1 = −15,2547; w2 = 12,1.
Exemplificando numericamente o mapeamento resultante da função não
linear pela rede RBF obtida, para x1 = 0,5 têm-se os valores das funções gaussianas correspondentes: 0,9654; 0,9996; 0,9489. Logo, o valor estimado pela rede é dado por:
11,2323 − 15,2547 × 0,9654 + 12,1 × 0,9996 – 8,7973 × 0,9489 = 0,254
(sendo um valor próximo da função original 0,52 = 0,25).
O gráfico da Figura 3.28 contém os dados da função não linear original e
os valores aproximados pela rede RBF resultante. A somatória do erro
quadrático entre os valores originais e os estimados foi de 0,0003.
FIGURA 3.28 Aproximação da rede RBF para a função não linear.
Este exemplo será novamente resolvido por meio do toolbox de rede
neural do MatLab, especificamente utilizando uma estrutura RBF. Os comandos a seguir mostram a resolução do problema:
A ferramenta em questão utiliza técnicas de aprendizagem
supervisionada que possibilita uma exatidão melhor na modelagem neural obtida. O toolbox nntool (citado anteriormente) também pode ser utilizado
para resolver o problema. A Figura 3.29 ilustra, por meio de um gráfico, o resultado obtido após o treinamento da rede.
FIGURA 3.29 Resultados da RBF obtida pelo toolbox de redes neurais.
Exemplo 3.6
Aqui será resolvido o problema do Exemplo 2.5, relativo à modelagem de um processo dinâmico não linear, que possui um modelo contínuo dado por (2.26), ou um modelo amostrado representado por (2.27). Dados do
processo estão ilustrados nas Figuras 2.25 e 2.26.
A Figura 3.30 demonstra os valores estimados por meio de um modelo
ARX linear (cuja modelagem foi obtida pelo método dos mínimos
quadrados, a partir dos dados da Figura 2.25, e é expressa por y(k) = a y(k−1) + b u(k−1), onde os coeficientes são a = 0,9789 e b = 0,0285), e 1 1 1 1
os dados originais do sistema de nível em questão (referentes agora aos
dados de teste da Figura 2.26). O erro (somatória quadrática) da modelagem resultante foi de 168,15 e com um grau de correlação cruzada (best fits) em 57,65%. Nota-se no gráfico que a modelagem obtida não reproduz
adequadamente os dados originais do processo, o que é explicado pelo fato de o sistema real possuir característica não linear e o modelo ARX ser linear.
FIGURA 3.30 Dados do processo e do modelo ARX linear.
Será considerada agora uma rede RBF para a modelagem. Ela possui seis
nós na camada escondida e utiliza como variáveis de entrada e saída uma
estrutura similar a da Figura 2.27, mas agora usando uma rede neural no lugar do modelo fuzzy. Os parâmetros das funções gaussianas possuem os seguintes valores de centros (os 12 primeiros valores) e desvios (os outros
12 dados) para as variáveis em questão: 1,2244; 2,0988; 3,5615; 3,3604;
1,6765; 3,0679; 3,7259; 4,4499; 2,0468; 4,2379; 3,1200; 2,2608; 2,1237;
2,0833; 2,0377; 2,1545; 2,2534; 2,2281; 2,1887; 2,1047; 2,1489; 2,0432; 2,2162; 2,8420.
Ajustando um fator multiplicativo para as dispersões em um valor igual a
10, têm-se os seguintes valores dos pesos da camada de saída: w = 0 −64,2028; w = −73,2999; w = −454,2324; w = −92,9178; w = 277,0609; 1 2 3 4 w = 174,6446; w = 236,6277. 5 6
Detalhes da obtenção dos parâmetros da rede estão disponíveis em
Pinheiro et al. (2013). A Figura 3.31 mostra os dados originais do sistema de nível (que foram utilizados para treinamento) e os valores da rede RBF projetada; o erro (somatória quadrática) foi agora de 8,34.
FIGURA 3.31 Dados originais do processo e do modelo RBF.
A Figura 3.32 ilustra os valores estimados pela rede RBF com os dados
utilizados para teste (Figura 2.26) oriundos do sistema de nível. A
somatória do erro quadrático foi agora de 4,22. Verifica-se que a rede neural obtida modelou adequadamente o processo não linear considerado.