Matlab
Vetores de treinamento no Matlab: >> Xtreina= -pi:pi/40:pi; >> Ytreina=sin(Xtreina); Vetor de teste: >> Xteste=-pi:0.01:pi; >>Yteste=sin(Xteste); nntool: Tal ferramenta divide aleatoriamente o conjunto de dados de treinamento como abaixo: • 60% dos dados do conjunto são usados para treinamento; • 20% são usados para validar que a rede está generalizando e parar o treinamento antes que ocorra “overfitting” (parada antecipada ou “early stopping”); • Os 20% restantes são usados como um conjunto de teste completamente independente para verificar a generalização da rede. Para aplicação específica de aproximadores de função também se pode usar a interface gráfica “nftool” do Matlab, a qual permite controle sobre o tamanho dos conjuntos de validação e teste, assim como gerar blocos para o Simulink e arquivos .m. Inputs: Xtreina e Xteste; Target: Ytreina Network: Nome:senX Type: feedforward backprop Training function: traingdm Learning function: learngdm Performance: mse; Layers: 2 Tansig na camada 1com 7 neurônios e purelin na camada 2 Rede:
1
Parâmetros de treinamento:
Simulate: usar Xteste e para a saída o nome: senX_outputsTeste Plotar gráfico: >> plot(Xteste,Yteste,Xteste,senX_outputsTeste,'--')
OBS: á função de treinamento “trainlm” usa o algoritmo de Levenberg-Marquardt (gradiente de segunda ordem), o qual fornece um bom desempenho quanto ao treinamento de redes neurais to tipo MLP.
2
Exemplo2: Função y = 2*x2+1 no intervalo [-1 1]
Vetores de treinamento no Matlab: >> Xtreina= -1:0.05:1; >> Ytreina=2*Xtreina.^2+1; Vetor de teste: >> Xteste= -1:0.01:1; >> Yteste=2*Xteste.^2+1; nntool: Inputs: Xtreina e Xteste; Target: Ytreina Network: Nome:X2mais1 Type: feedforward backprop Training function: traingdm Learning function: learngdm Performance: mse; Layers: 2 Tansig na camada 1com 10 neurônios e purelin na camada 2 Rede:
Parâmetros de treinamento:
3
Simulate: