IST - Física HowTo - Informática 14:34
2025-12-22
  Programação
 
     Matlab
 
        Pacotes (Toolboxes)
 
           Neural Network
 
              Rede neural
 
              Métodos e funções
 
              Treino
 
              linearlayer
 
              nntraintool
 
              Deep learning
 
              Backpropagation
 
              Redes dinâmicas
 

Neural Network Toolkit - Métodos e Funções

Sumário
1. Introdução
2. Funções de criação de uma rede neural
3. Funções de alteração de uma rede neural
4. Funções de preparação dos dados e manipulação de dados
5. Funções de inicialização e configuração
6. Funções de pré e pós-processamento
7. Funções de treino de uma rede
8. Funções simulação de uma rede
9. Funções estatísticas
10. Funções gráficas
11.
12. Links úteis
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çãoAlgorítmo
    fixunknownsPrecessa entradas desconhecidas
    mapminmaxNormaliza entrada / alvo para o intervalo [-1,1]
    mapstdNormaliza entrada / alvo para média "0" e variância "1"
    processpcaExtrai componentes principais do vector de entrada
    removeconstantrowsRemove 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