App
-
Upload
madson-machado -
Category
Documents
-
view
10 -
download
0
Transcript of App
MATLAB Toolboxes NNT Atividade Bibliografia
Utilizando o Neural Network Toolbox......um toolbox do MATLAB para redes neurais artificiais
Pablo Souza Grigoletti
Universidade Federal do Rio Grande do SulPrograma de Pos-Graduacao em Computacao
Disciplina de Sistemas Evolutivos
Professor Dante Augusto Couto Barone
Marco de 2006
MATLAB Toolboxes NNT Atividade Bibliografia
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 disponıvel na biblioteca do II (versao 5.3);
Esta versao roda no sistema operacional M$-Windows;
MATLAB Toolboxes NNT Atividade Bibliografia
Arquivos ”.m”
Os comandos sao normalmente digitados na Janela de Comando;
Onde uma unica linha de comando e introduzida e processada;
E possıvel 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 Bibliografia
Toolboxes
Um toolbox e uma biblioteca para o MATLAB;
O MATLAB possui toolboxes para diversas areas:Algoritmos geneticos;Redes neurais artificiais;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 Bibliografia
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 Bibliografia
Neural Networks Toolbox
Instalado junto com o MATLAB;
Algoritmos para trabalhar com redes neurais artificiais;
Possui varios tipos de RNA;
Utilizado nas disciplinas de RNA da graduacao e pos-graduacao;
Alguns exemplos...
MATLAB Toolboxes NNT Atividade Bibliografia
Exemplo 01
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de um percepton
% cria a estrutura da RNA com um perceptron
% [min; max], numero de neuronios
net = newp([-2 2; -2 2], 1)
P = [0 0; 0 1; 1 0; 1 1]’; % entradas
T = [0 1 1 1]; % saıdas
figure; % cria nova figura
plotpv(P, T); % plota as entradas/saıdas
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) % propagacao
end;
hold off;
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de um Percepton
−0.5 0 0.5 1 1.5−0.5
0
0.5
1
1.5Vectors to be Classified
P(1)
P(2
)
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de um Percepton
−0.5 0 0.5 1 1.5−0.5
0
0.5
1
1.5Vectors to be Classified
P(1)
P(2
)
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de um Percepton
−0.5 0 0.5 1 1.5−0.5
0
0.5
1
1.5Vectors to be Classified
P(1)
P(2
)
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de um Percepton
−0.5 0 0.5 1 1.5−0.5
0
0.5
1
1.5Vectors to be Classified
P(1)
P(2
)
MATLAB Toolboxes NNT Atividade Bibliografia
Exemplo 02
MATLAB Toolboxes NNT Atividade Bibliografia
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]; % saıdas
net = newff([-1 1; -1 1], [2 1]); % criacao da rede BP
a = sim(net, P.’)
net = train(net, P.’, T);
a = sim(net, P.’)
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
a =
-0.1257 -0.8804 0.3126 0.9326
TRAINLM, Epoch 0/100, MSE 2.12689/0, Gradient 1.10147/1e-010
TRAINLM, Epoch 25/100, MSE 0.000330282/0, Gradient 0.0045177/1e-010
TRAINLM, Epoch 34/100, MSE 4.95484e-012/0, Gradient 6.86561e-011/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
a =
-1.0000 1.0000 1.0000 -1.0000
MATLAB Toolboxes NNT Atividade Bibliografia
Exemplo 03
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
x = -pi:pi/16:pi;
y = sin(x);
plot(x,y);
pause;
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
−4 −3 −2 −1 0 1 2 3 4−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
% cria uma rede BP para aproximar a funcao seno
% entradas podem variar de -pi ate pi
% 20 neuronios na camada oculta
% 1 neuronio na camada de saıda
net = newff([-pi pi], [20 1]);
a = sim(net, x);
plot(x, a);
pause;
% a rede inicia com pesos aleatorios. Entao...
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
−4 −3 −2 −1 0 1 2 3 4−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
% treina a rede BP para aproximar a funcao seno
net = train(net, x, y);
a = sim(net, x);
plot(x, a);
pause;
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
−4 −3 −2 −1 0 1 2 3 4−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
MATLAB Toolboxes NNT Atividade Bibliografia
Criacao e treinamento de uma rede BackPropagation
% repetindo para 500 epocas de treinamento
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 Bibliografia
Criacao e treinamento de uma rede BackPropagation
−4 −3 −2 −1 0 1 2 3 4−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
MATLAB Toolboxes NNT Atividade Bibliografia
Atividade proposta
Semelhante ao exemplo 03 (seno);
Utilizando MATLAB e o toolbox para redes neurais:
Criar duas funcoes quaisquer (uma facil e outra difıcil);
Criar uma rede BP para aproximar as duas funcoes;
Modificar numero de neuronios da camada oculta;
Modificar numero de epocas de treinamento;
Verificar a consequencia das mudancas;Apresentar um relatorio (PDF) dos resultados com:
Imagens;Codigo-fonte;Explicacao do que foi feito;
MATLAB Toolboxes NNT Atividade Bibliografia
Bibliografia
Exemplos retirados do material do prof. Paulo Martins Engel;
MATLAB Toolboxes NNT Atividade Bibliografia
Duvidas?