Upload
wilson-araujo
View
520
Download
1
Embed Size (px)
Citation preview
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Utilizando o Neural Network Toolbox......um toolbox do MATLAB para redes neurais articiais
Pablo Souza Grigoletti
[email protected] Federal do Rio Grande do Sul Programa de Pos-Graduacao em Computacao Disciplina de Sistemas Evolutivos Professor Dante Augusto Couto Barone
Marco de 2006
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
MATLAB
O MATLAB e um software voltado para o calculo numerico; Em especial para facilitar os calculos com matrizes; MATLAB = MATrix LABoratory; Possui uma versao disponvel na biblioteca do II (versao 5.3); Esta versao roda no sistema operacional M$-Windows;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Arquivos .m Os comandos sao normalmente digitados na Janela de Comando; Onde uma unica linha de comando e introduzida e processada; E possvel executar sequencias de comandos; Armazenadas em arquivos; Sao chamados arquivos .m; Consistem de uma sequencias de comandos normais do MATLAB; Possibilitando incluir outros arquivos .m;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Toolboxes
Um toolbox e uma biblioteca para o MATLAB; O MATLAB possui toolboxes para diversas areas: Algoritmos geneticos; Redes neurais articiais; Logica Fuzzy; Processamento de sinais; Otimizacao; E muitos outros (muitos mesmo)...
Um toolbox e formado de um ou mais arquivos .m;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Facil Aprendizado
Existem: Varios demos de cada toolbox; Vasta documentacao na Internet; Descricao detalhada no site do MATLAB;
Minha experiencia com MATLAB...
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Neural Networks Toolbox
Instalado junto com o MATLAB; Algoritmos para trabalhar com redes neurais articiais; Possui varios tipos de RNA; Utilizado nas disciplinas de RNA da graduacao e pos-graduacao; Alguns exemplos...
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Exemplo 01
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de um percepton % cria a estrutura da RNA com um perceptron % [min; max], nmero de neurnios u o net = newp([-2 2; -2 2], 1) P = [0 0; 0 1; 1 0; 1 1]; % entradas T = [0 1 1 1]; % sadas figure; % cria nova figura plotpv(P, T); % plota as entradas/sadas lh = plotpc(net.IW{1}, net.b{1}) % plota linha que separa as classes hold on for cont=1:6, net = adapt(net, P, T); % treinamento lh = plotpc(net.IW{1}, net.b{1}, lh); drawnow; pause; Y = sim(net, P) % propagaco a end; hold off;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de um Percepton Vectors to be Classified 1.5
1
P(2)
0.5
0
0.5 0.5
0
0.5 P(1)
1
1.5
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de um Percepton Vectors to be Classified 1.5
1
P(2)
0.5
0
0.5 0.5
0
0.5 P(1)
1
1.5
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de um Percepton Vectors to be Classified 1.5
1
P(2)
0.5
0
0.5 0.5
0
0.5 P(1)
1
1.5
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de um Percepton Vectors to be Classified 1.5
1
P(2)
0.5
0
0.5 0.5
0
0.5 P(1)
1
1.5
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Exemplo 02
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
% cria uma rede BP para solucionar o problema do XOR P = [-1 -1; -1 1; 1 -1; 1 1]; % entradas T = [-1 1 1 -1]; % sadas net a = net a = = newff([-1 1; -1 1], [2 1]); % criaco da rede BP a sim(net, P.) = train(net, P., T); sim(net, P.)
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
a = -0.1257 TRAINLM, TRAINLM, TRAINLM, TRAINLM, a = -1.0000 1.0000 1.0000 -1.0000 -0.8804 0.3126 0.9326
Epoch 0/100, MSE 2.12689/0, Gradient 1.10147/1e-010 Epoch 25/100, MSE 0.000330282/0, Gradient 0.0045177/1e-010 Epoch 34/100, MSE 4.95484e-012/0, Gradient 6.86561e-011/1e-010 Minimum gradient reached, performance goal was not met.
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Exemplo 03
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
x = -pi:pi/16:pi; y = sin(x); plot(x,y); pause;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation 1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 4
3
2
1
0
1
2
3
4
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
% cria uma rede BP para aproximar a funco seno a % entradas podem variar de -pi at pi e % 20 neurnios na camada oculta o % 1 neurnio na camada de sada o net = newff([-pi pi], [20 1]); a = sim(net, x); plot(x, a); pause;
% a rede inicia com pesos aleatrios. Ento... o a
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation 1
0.8
0.6
0.4
0.2
0
0.2
0.4 4
3
2
1
0
1
2
3
4
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
% treina a rede BP para aproximar a funco seno a net = train(net, x, y); a = sim(net, x); plot(x, a); pause;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation 1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 4
3
2
1
0
1
2
3
4
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation
% repetindo para 500 pocas de treinamento e net = init(net); % inicializa novamente os pesos net.trainParam.epochs = 500; net = train(net, x, y); a = sim(net, x); plot(x, a);
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Criacao e treinamento de uma rede BackPropagation 1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1 4
3
2
1
0
1
2
3
4
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Atividade proposta
Semelhante ao exemplo 03 (seno); Utilizando MATLAB e o toolbox para redes neurais: Criar duas funcoes quaisquer (uma facil e outra difcil); Criar uma rede BP para aproximar as duas funcoes; Modicar numero de neuronios da camada oculta; Modicar numero de epocas de treinamento; Vericar a consequencia das mudancas; Apresentar um relatorio (PDF) dos resultados com:Imagens; Codigo-fonte; Explicacao do que foi feito;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Bibliograa
Exemplos retirados do material do prof. Paulo Martins Engel;
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Duvidas?
MATLAB
Toolboxes
NNT
Atividade
Bibliograa
Obrigado pela atencao.
Pablo Souza Grigoletti [email protected]