|
|
Neural Network Toolkit - Métodos e Funções
Início
1. Introdução
Início
2. Funções de criação de uma rede neural
- linearlayer cria uma rede linear:
net = linearlayer(inputDelays,widrowHoffLR)
em que inputDelays são os valores das entradas, widrowHoffLR
a taxa de aprendizagem de Widrow-Hoff e net o objecto rede neural resultante.
Ver: linearlayer.
- feedforwardnet: esta função cria uma rede neural
feedforward multicamada:
net = feedforwardnet (hiddenSizes, trainFcn)
Em que
- hiddenSizes: Vector linha com o número de neurónios de cada camada oculta
(default: 10 -- um camada com 10 neurónios);
- trainFcn: Função de treino (default: 'trainlm').
Retorna o objecto rede neural criado.
Ver: feedforward.
- patternnet: é uma função
análoga à anterior (feedforwardnet)
especialmemte orientada para classificar entradas de acordo com os seus alvos:
net = patternnet (hiddenSizes, trainFcn, performFcn);
em que o argumento adicional performFcn é a função de desempenho a utilizar
(default: 'crossentropy').
Ver: feedforward.
- narxnet: Rede neural
autorregressiva não linear com entrada externa:
net = narxnet (inputDelays, feedbackDelays, hiddenSizes, feedbackMode, trainFcn);
Em que
- inputDelays: Vector linha com os atrasos de entrada crescentes;
- feedbackDelays: Vector linha com os atrasos de
feedback crescentes;
- hiddenSizes: Vector linha dos tamanhos das camadas ocultas;
- feedbackMode: Tipo de feedback.
Pode ser 'open', 'closed' ou 'none';
- trainFcn: Função de treino.
Note-se que nenhum dos argumentos é obrigatório.
- timedelaynet: Rede neural com atraso temporal:
net = timedelaynet (inputDelays, hiddenSizes, trainFcn);
em que
- inputDelays: Vector de linha de atrasos de entrada crescentes;
- hiddenSizes: Vector linha com o número de neurónios de cada camada oculta
(default: 10 -- um camada com 10 neurónios);
- trainFcn: Função de treino (default: 'trainlm').
- distdelaynet: Rede neural com atraso temporal distribuído:
net = timedelaynet (inputDelays, hiddenSizes, trainFcn);
É uma função idêntica a timedelaynet: em que apenas o primeiro argumento é alterado:
- inputDelays: matriz de células que contém os
atrasos de derivação a utilizar em cada camada.
- layrecnet: cria uma rede
Rede Recorrente em Camadas (LRN):
net = layrecnet (layerDelays, hiddenSizes, trainFcn);
em que
- layerDelays: Vector linha de atrasos crescentes
- hiddenSizes: Vector linha com os tamanhos das camadas ocultas,
- trainFcn: Função de traino.
Início
3. Funções de alteração de uma rede neural
- closeloop: Converter uma rede de feedback de
loop aberto numa rede neural loop fechado:
net = closeloop(net)
[net2, xi2, ai2] = closeloop (net1, xi1, ai1)
em que
- net1 e net2 são a rede antes e depois de transformada;
- xi1 e xi2 são os atrasos de entrada antes e depois da rede transformada;
- ai1 e ai2 são os atrasos de entrada ai antes e
depois da rede transformada;
- openloop: Converter uma rede de feedback de
loop fechado numa rede neural loop aberto:
net = openloop(net)
[net2, xi2, ai2] = openloop (net1, xi1, ai1)
em que
- net1 e net2 são a rede antes e depois de transformada;
- xi1 e xi2 são os atrasos de entrada antes e depois da rede transformada;
- ai1 e ai2 são os atrasos de entrada ai antes e
depois da rede transformada;
Início
4. Funções de preparação dos dados e manipulação de dados
As funções de preparação dos dados server para facilitar a introduções desses dados de acordo com o tipo de rede neural criada:
- catsamples: Junta amostras
de dados de redes neurais.
x = catsamples (x1, x2, ... , xn)
x = catsamples (x1, x2, ... , xn, 'pad', v)
em que os vários xks são as sequências a juntar. Para juntar matrizes de células com tamanhos
diferentes deve indicar-se "pad" e o valor com se preenchem os valores em falta
(por defeito é "NaN").
Nota: se os diversos xks forem matrizes, o resultados é equivalente a
x = [x1 x2 ... xn]; ( catsamples (x1, x2, ... , xn) )
- gadd: Generaliza a adição incluindo para matrizes
de células.
x = gadd(a,b)
- gdivide: Generaliza a divisão à direita
incluindo para matrizes de células.
x = gdivide(a,b)
- getelementsSelect:
- getsamplesSelect:
- getsignalsSelect:
- gettimestepsSelect:
- gmultiplyMultiply:
- gnegateTake:
- gsubtractSubtract:
- nndataCreate:
- nnsizeReturn:
- numelementsReturn:
- numsamplesReturn:
- numsignalsReturn:
- numtimestepsReturn:
- preparets: Parte do objeto de rede
neural para determinar como preencher
as linhas de atraso extraídas com condições iniciais e como deslocar os dados para criar as entradas e alvos corretos
(utiliza-se, em geral, para organizar os dados em redes com atraso):
[X, Xi, Ai, T, EW, shift] = preparets (net, inputs, targets, feedback, EW);
Em que os argumentos são:
- net: Rede neural;
- inputs: Entrada externa (sem feedback);
- targets: Alvo (sem feedback);
- feedback: Alvo (com feedback);
- EW: Pesos dos erro.
e os retornos
- X: Entrada da rede para treino e simulação;
- Xi: Entradas iniciais para carregar as linhas de atraso derivadas para os pesos de entrada;
- Ai: Saídas iniciais da camada para carregar as linhas de atraso derivadas para os pesos da camada;
- T: Alvos para o treino;
- EW: Pesos dos erro;
- shift: O deslocamento temporal entre as entradas e as saídas da rede.
- setelementsSet:
- setsamplesSet:
- setsignalsSet:
- settimestepsSet:
Início
5. Funções de inicialização e configuração
Funções de configuração
- configure: faz a configuração e inicialização
da rede (net), das entradas (P) e
dos alvos (T) e devolve uma nova rede assim configurada.
Deve ter-se em conta que se devem definir anteriormente as definições de pré e pód-processamento bem como
as definições de inicialização.
De acordo com os dados as introduz a sua utilização pode tomar as seguintes formas:
net = configure(net,P,T);
net = configure(net,P);
net = configure(net,'inputs',P,i);
net = configure(net,'outputs',T,i);
em que "i" é vector com os índices das entradas ou saídas que pretende configurar.
Funções de inicialização
- init: esta função retorna uma rede com os pesos e vieses
actualizados pela função definida em "net.initFcn" e seus parâmetros "net.initParam". Exemplo:
net = init(net);
Início
6. Funções de pré e pós-processamento
Estas funções aplicam-se antes (pré-processamento) e depois (pós-processamento) dos dados serem
apresentados à rede neural. As funções que criam o objecto rede neural usualmente atribuem,
defeito, funções de pré e pós-processamente.
- Funções:
| Função | Algorítmo |
| fixunknowns | Precessa entradas desconhecidas |
| mapminmax | Normaliza entrada / alvo para o intervalo [-1,1] |
| mapstd | Normaliza entrada / alvo para média "0" e variância "1" |
| processpca | Extrai componentes principais do vector de entrada |
| removeconstantrows | Remove entradas / alvo que são constantes |
estas funções estão definidas no objecto rede para cada um dos
"net.inputs{i}" e dos "net.outputs{i}" por
"processFcns"" que pode conter uma ou mais funções. Exemplo:
net.inputs{1}.processFcns = {'mapminmax'} net.outputs{2}.processFcns = {'mapstd'}
Estas funções podem receber parâmetros a partir de
net.inputs{i}.processParams{j} net.outputs{i}.processParams{j}
em que "i" diz respeito à entrada/saída e "j"
à respectiva função definida em "processFcns".
Note-se que ao definir-se uma função são automaticamente atribuídos valores aos seus parâmetros.
Início
7. Funções de treino de uma rede
Início
8. Funções simulação de uma rede
- sim: Simula uma rede neural:
[Y, Xf, Af] = sim (net, X, Xi, Ai, T);
em que os argumentos são
- net: Rede neural;
- X: Entradas da rede;
- Xi: Condições de atraso de entrada inicial (default: 0);
- Ai: Condições de atraso da camada inicial (default: 0);
- T: Alvos de rede (default: 0);
e os returnos
- Y: Saídas da rede;
- Xf: Condições finais de atraso da entrada;
- Af: Condições de atraso da camada final;
Nota: Para mais indicações ver
"sim" (Matlab - help).
Início
9. Funções estatísticas
- mse: Erro quadrático médio normalizado (permite o cálculo com vectores de células):
ev = mse(net,t,y,ew);
em que
- net: É uma rede neural;
- t: É uma matriz ou conjunto de células alvo;
- y: É uma matriz ou conjunto de células de saídas;
- e: É erro pesos;
Apenas com um argumento, permite calcular o erro quadrático médio normalizado:
ev = mse(v);
Início
10. Funções gráficas
- ploterrcorrPlot:
Executa gráfico de autocorrelação do erro
- plotinerrcorrPlot:
Executa gráfico de correlação cruzada entre o erro e a entrada
- plotresponse:
Faz o gráfico da resposta da série temporal da rede dinâmica:
plotresponse(t,y); plotresponse(t1,'name',t2,'name2',...,y)
Nota: Para mais indicações ver
"plotresponse" (Matlab - help).
Início
11.
Início
12. Links úteis
Início
|
|