Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ambiente MATLAB
MATLAB MATrix LABoratory Programao baseada em Matrizes
MATLAB 6.5
Vetores e escalares tambm podem ser considerados matrizes, 1xN, Nx1, 1x1
Janela de Histrico
Matrizes no MATLAB
Quadro Melancholia I, do artista alemo e matemtico amador Albrecht Drer
Quadrado Mgico
O Problema do OU Exclusivo
1
x2
0
x1
X1 0 0 1 1
X2 0 1 0 1
valor 0 1 1 0
Definindo os Padres
X1 0 0 1 1 X2 0 1 0 1 valor 0 1 1 0
Funes de Ativao
purelin logsig tansig satlin(s) Linear Sigmide Tangente hiperblica Linear com saturao
net = newff(
(limites dos padres de entrada) (nmero de neurnios de cada camada) (funo de ativao de cada camada) (algoritmo de treinamento)
Algoritmos de Treinamento
traingd traingdm traingda traingdx trainlm trainrp Gradient descent backpropagation Gradient descent backpropagation com momentum Gradient descent backpropagation com taxa adaptativa Gradient descent backpropagation com momentum e taxa adaptativa Levenberg-Marquardt backpropagation (default) Resilient backpropagation (Rprop)
net.trainParam.epochs = 100; net.trainParam.goal = 1e-8; net.trainParam.lr = 0.01; net.trainParam.show = 25; net.trainParam.mc = 0.9;
Nmero de epochs Erro final desejado Taxa de aprendizado Atualizao da tela (epochs) Taxa de momentum
Taxa de incremento da l.r. net.trainParam.lr_inc = 1.05; Taxa de decremento da l.r. net.trainParam.lr_dec = 0.7; net.trainParam.max_perf_inc = 1.04; Incremento mximo do erro
C = sim(net, P);
xor1.m
Validao Cruzada
Dividir os padres disponveis em trs conjuntos:
treinamento (70%): matrizes Ptrain, Ttrain validao (20%): matrizes Pvalid, Tvalid teste (10%): matrizes Ptest, Ttest
xor1.m xor2.m
Validao Cruzada
% Inicializa a rede neural net = newff([min(P')' max(P')'],[10 1],{'tansig' 'logsig'},'traingd'); net.trainParam.goal = 1e-8; % Treina a rede iterativamente, de 5 em 5 epochs, % at o total de 100 epochs, calculando os erros Nepoch = 5; NN = 20; mape_min = 1e38; for i = 1:NN, net.trainParam.epochs = Nepoch; net = train(net, Ptrain, Ttrain); Ctrain = sim(net, Ptrain); Cvalid = sim(net, Pvalid); % Calcula os erros MAPE para os padres de treinamento e validao mape_train(i) = 100*mean(abs((Ttrain-Ctrain)./Ttrain)) mape_valid(i) = 100*mean(abs((Tvalid-Cvalid)./Tvalid))
Validao Cruzada
% encontra o nmero de epochs timo if (mape_valid(i) < mape_min) mape_min = mape_valid(i); net_opt = net; Noptim = Nepoch * i; end end % Melhor rede: net = net_opt; % Testa a rede com os 3 conjuntos de padres Ctrain = sim(net, Ptrain); Cvalid = sim(net, Pvalid); Ctest = sim(net, Ptest);
Definindo os Padres
Definindo os Padres
Definindo os Padres
Definindo os Padres
10
11
12
13
14
15
Exportando os Dados
16
Exportando os Dados
O Problema do OU Exclusivo
1
x2
0
x1
X1 0 0 1 1
X2 0 1 0 1
valor 0 1 1 0
17
18
Reconhecimento de Dgitos
Reconhecimento de Dgitos
Reconhecimento de Dgitos
Reconhecimento de Dgitos
19
0 1 0 0 1
1 1 1 1 1
0 0 0 0 1
0 0 0 0 0
1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0
0 1 0 0 1
1 0 0 1 1
1 0 1 0 1
0 1 0 0 1
1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1
20
21
22
23
1 bit errado
2 bits errados
3 bits errados
24