Você está na página 1de 28

MATLAB

Toolboxes

NNT

Atividade

Bibliograa

Utilizando o Neural Network Toolbox...


...um toolbox do MATLAB para redes neurais articiais

Pablo Souza Grigoletti

psgrigoletti@inf.ufrgs.br
Universidade 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

P(2)

0.5

0.5 0.5

0.5 P(1)

1.5

MATLAB

Toolboxes

NNT

Atividade

Bibliograa

Criacao e treinamento de um Percepton


Vectors to be Classified 1.5

P(2)

0.5

0.5 0.5

0.5 P(1)

1.5

MATLAB

Toolboxes

NNT

Atividade

Bibliograa

Criacao e treinamento de um Percepton


Vectors to be Classified 1.5

P(2)

0.5

0.5 0.5

0.5 P(1)

1.5

MATLAB

Toolboxes

NNT

Atividade

Bibliograa

Criacao e treinamento de um Percepton


Vectors to be Classified 1.5

P(2)

0.5

0.5 0.5

0.5 P(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.2

0.4

0.6

0.8

1 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.2

0.4 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.2

0.4

0.6

0.8

1 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.2

0.4

0.6

0.8

1 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 psgrigoletti@inf.ufrgs.br