Transcript
Redes Neurais
Toolbox de Redes Neurais no MATLAB
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Toolbox de Redes Neurais no MATLAB ¾
¾
Introdução ao Matlab ¾
Linha de comando
¾
NNTool
Estudo de Casos ¾Previsão ¾
de carga mensal
Análise de Crédito Bancário http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
1
Ambiente MATLAB • MATLAB → MATrix LABoratory • Programação baseada em Matrizes • Vetores e escalares também podem ser considerados matrizes, 1xN, Nx1, 1x1
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Tela Principal do MATLAB Janela de Comando
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
2
Tela Principal do MATLAB
Janela de Histórico
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Tela Principal do MATLAB Launch Pad
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
3
Tela Principal do MATLAB
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definindo uma Matriz Explicitamente • Elementos de uma linha são separados por espaços ou vírgulas. vírgulas • O final de cada linha é indicado por um ponto-e-vírgula. vírgula • A lista de elementos é delimitada por colchetes [ ].
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
4
Matrizes no MATLAB Quadro “Melancholia I”, do artista alemão e matemático amador Albrecht Dürer
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definindo uma Matriz Explicitamente • No caso do quadrado mágico: >>
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A = 16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
5
Redes Neurais no MATLAB • Duas formas de utilização: – Linhas de comando e m-files – Interface gráfica (NNTool)
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
6
O Problema do OU Exclusivo → ‘1’
x2 → ‘0’
x1
X1
X2
valor
0
0
0
0
1
1
1
0
1
1
1
0 http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
7
Definindo os Padrões
# de linhas = # de variáveis # de colunas = # de padrões
X1
X2
valor
0
0
0
0
1
1
1
0
1
1
1
0
Vetor de entrada: P = ⎡⎢0 0 1 1⎤⎥ → P = [0 0 1 1; 0 1 0 1] ⎣0 1 0 1⎦ Vetor de saída:
T = [0 1 1 0] http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
8
Inicializando a Rede Neural Redes Feed-forward:
net = newff(
[min(P')' max(P')'], [N_hidden 1], {'tansig' 'logsig'}, 'traingd');
Função “newff”
(limites dos padrões de entrada) (número de neurônios de cada camada) (função de ativação de cada camada) (algoritmo de treinamento)
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Funções de Ativação purelin logsig tansig satlin(s)
Linear Sigmóide Tangente hiperbólica Linear com saturação
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
9
Algoritmos de Treinamento traingd traingdm traingda traingdx
Gradient descent backpropagation Gradient descent backpropagation com momentum Gradient descent backpropagation com taxa adaptativa Gradient descent backpropagation com momentum e taxa adaptativa
trainlm trainrp
Levenberg-Marquardt backpropagation (default) Resilient backpropagation (Rprop)
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
10
Definindo parâmetros de treinamento
net.trainParam.epochs = 100; net.trainParam.goal = 1e-8; net.trainParam.lr = 0.01; net.trainParam.show = 25;
Número de epochs Erro final desejado Taxa de aprendizado Atualização da tela (epochs)
net.trainParam.mc = 0.9;
Taxa de momentum
net.trainParam.lr_inc = 1.05; Taxa de incremento da l.r. net.trainParam.lr_dec = 0.7; Taxa de decremento da l.r. net.trainParam.max_perf_inc = 1.04; Incremento máximo do erro
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
11
Treinando a Rede Neural
net = train(net, P, T);
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • •
Definir os padrões Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
12
Testando a Rede Neural
C = sim(net, P);
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
M-file desenvolvida para o XOR TESTE 1: 1: Rede neural com apenas uma camada de processadores; PERCEPTRON BÁSICO
xor1.m
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
13
M-file desenvolvida para o XOR TESTE 2: 2: Rede neural com uma camada escondida de processadores (Multi-Layer Perceptron); TAXA de APRENDIZADO CONSTANTE, sem MOMENTUM; MOMENTUM
xor1.m xor2.m
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
M-file desenvolvida para o XOR TESTE 3: 3: Rede neural com uma camada escondida de processadores (Multi-Layer Perceptron); TAXA ADAPTATIVA e MOMENTUM; MOMENTUM
xor1.m xor3.m
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
14
Validação Cruzada • Dividir os padrões disponíveis em três conjuntos: – treinamento (70%): matrizes Ptrain, Ttrain – validação (20%): matrizes Pvalid, Tvalid – teste (10%): matrizes Ptest, Ttest
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Validação 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 padrões de treinamento e validação mape_train(i) = 100*mean(abs((Ttrain-Ctrain)./Ttrain)) mape_valid(i) = 100*mean(abs((Tvalid-Cvalid)./Tvalid)) http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
15
Validação Cruzada % encontra o número 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 padrões Ctrain = sim(net, Ptrain); Cvalid = sim(net, Pvalid); Ctest = sim(net, Ptest);
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Redes Neurais no MATLAB • Duas formas de utilização: – Linhas de comando, e m-files – Interface gráfica (NNTool)
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
16
Interface Gráfica NNTool
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
17
Definindo os Padrões
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definindo os Padrões
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
18
Definindo os Padrões
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definindo os Padrões
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
19
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Criando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
20
Criando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Visualizando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
21
Visualizando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
22
Inicializando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Inicializando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
23
Inicializando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
24
Definindo parâmetros de treinamento
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definindo parâmetros de treinamento
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
25
Definindo parâmetros de treinamento
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
26
Treinando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Treinando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
27
Passos para a Criação de uma RN • • • • • •
Definir os padrões Criar a rede Inicializar a rede Definir os parâmetros de treinamento Treinar a rede Testar a rede
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
28
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
29
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
30
Testando a Rede Neural
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Exportando os Dados
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
31
Exportando os Dados
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
O Problema do OU Exclusivo → ‘1’
x2 → ‘0’
x1
X1
X2
valor
0
0
0
0
1
1
1
0
1
1
1
0 http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
32
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
33
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
34
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Rede Neural com Camada Escondida
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
35
Reconhecimento de Dígitos
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Reconhecimento de Dígitos
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
36
Reconhecimento de Dígitos
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Reconhecimento de Dígitos
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
37
Definição dos Padrões de Entrada 0 1 0 0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
1 1 0 0 0 1 0 0 0 1 0 0 1 1 1
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master 0
Definição dos Padrões de Entrada 0 1 1 0
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
1
1 0 0 1 0 0 1 0 0 1 0 0 1 1 1
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master 1
38
Definição dos Padrões de Entrada • Cada dígito (padrão): 20 bits • Número de padrões: 10 dígitos • Representação: Matriz 20 x 10 – Cada coluna representa um dígito – Cada linha representa um bit – Cada bit está associado com um neurônio de entrada
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definição dos Padrões de Entrada 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0
0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1
1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 0
1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0
1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0
0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0
1 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0
0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1
0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
39
Definição dos Padrões de Saída 1 0 0 0 0 0 0 0 0 0 http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definição dos Padrões de Saída 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
40
Conversão dos Arquivos >> >> >> >>
load save load save
digitos.txt digitos saidas.txt saidas
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Importação dos Dados p/ NNTool
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
41
Importação dos Dados p/ NNTool
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Importação dos Dados p/ NNTool
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
42
Definição das Redes • • • • •
Network name: network15 Tipo: Tipo feed-forward backprop Input Ranges: Ranges Get from input Training Function: Function TRAINGDM Number of layers: layers 2 – Layer 1: 1 15 neurons – Layer 2: 2 10 neurons
TANSIG PURELIN http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Definição das Redes • • • • •
Network name: network25 Tipo: Tipo feed-forward backprop Input Ranges: Ranges Get from input Training Function: Function TRAINGDM Number of layers: layers 2 – Layer 1: 1 25 neurons – Layer 2: 2 10 neurons
TANSIG PURELIN http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
43
Definição das Redes • • • • •
Network name: network35 Tipo: Tipo feed-forward backprop Input Ranges: Ranges Get from input Training Function: Function TRAINGDM Number of layers: layers 2 – Layer 1: 1 35 neurons – Layer 2: 2 10 neurons
TANSIG PURELIN http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Treinamento das Redes • • • •
Epochs: Epochs Goal (MSE): (MSE) Learning Rate (lr): Momentum: Momentum
10000 0.5e-3 0.1 0.0
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
44
Treinamento das Redes • • • •
Epochs: Epochs Goal (MSE): (MSE) Learning Rate (lr): Momentum: Momentum
10000 0.5e-3 0.4 0.0
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Treinamento das Redes • • • •
Epochs: Epochs Goal (MSE): (MSE) Learning Rate (lr): Momentum: Momentum
10000 0.5e-3 0.9 0.0
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
45
Treinamento das Redes • • • •
Epochs: Epochs Goal (MSE): (MSE) Learning Rate (lr): Momentum: Momentum
10000 0.5e-3 0.1 0.4
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Treinamento das Redes • • • •
Epochs: Epochs Goal (MSE): (MSE) Learning Rate (lr): Momentum: Momentum
10000 0.5e-3 0.9 0.4
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
46
Teste das Redes
1 bit errado
2 bits errados
3 bits errados
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Toolbox de Redes Neurais no MATLAB ¾
¾
Introdução ao Matlab ¾
Linha de comando
¾
NNTool
Estudo de Casos ¾Previsão ¾
de carga mensal
Análise de Crédito Bancário http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
47
Previsão de Carga Mensal • Objetivo: previsão, um passo a frente, da demanda mensal da CEMIG, variando os seguintes parâmetros: • Janela: Janela 3, 6 e 12 valores passados; • Codificação do Mês: Mês – Uma entrada real – Codificação 1 de N = 12 entradas binárias – Codificação binária = 4 entradas binárias
• Topologia: Topologia Variar o número de processadores na camada escondida; • Treinamento: Treinamento Variar o número de ciclos. http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Carga Mensal -
n Valores Passados (janela de entrada)
-
Valor Previsto Da Carga Codificação Do Mês i
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
48
Previsão de Carga Mensal • Arquivo ZIP: ZIP RN-Previsão Carga Mensal • Contém os seguintes arquivos: – verif.txt Ö dados de várias concessionárias – cemig.txt Ö dados mensais da CEMIG – layout.doc Ö informações sobre o significado das colunas dos arquivos de dados – trb2.m Ö arquivo principal – trb2_dados Ö lê o arquivo cemig.txt – trb2_padroes Ö gera os padrões de treinamento e teste, de acordo com a janela e codificação do mês – trb2_treinamento Ö efetua o treinamento em si http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Série Temporal Carga Mensal da CEMIG Configuração 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Janela 3 3 3 3 3 3 6 6 6 6 6 6 12 12 12 12 12 12
Codificação Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits
Número de Neurônios 2 2 2 3 3 3 4 4 4 7 7 7 8 8 8 12 12 12
Épocas 2500 2500 2500 2500 2500 2500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500
MAPE 3.6061 2.9252 3.6530 1.9480 4.2073 2.1502 2.4030 1.5994 2.6311 3.0201 3.2143 2.7644 2.6473 1.9062 3.4298 4.1001 3.3920 2.8125
RMSE 0.0411 0.0346 0.0416 0.0245 0.0505 0.0331 0.0284 0.0211 0.0312 0.0382 0.0383 0.0323 0.0309 0.0236 0.0403 0.0504 0.0367 0.0365
UTHEIL 1.5520 1.3152 1.5715 0.8989 1.8244 1.1775 1.0603 0.7559 1.1401 1.3665 1.3671 1.1981 1.1177 0.8633 1.5270 1.7920 1.3332 1.3141
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
49
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 3 Configuração
Número de Neurônios
Épocas
MAPE
RMSE
1
Janela 3
Codificação Real
2
2500
3.6061
0.0411
2
3
12 bits
2
2500
2.9252
0.0346
3
3
4 bits
2
2500
3.6530
0.0416
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 3 Configuração
Número de Neurônios
Épocas
MAPE
4
Janela 3
Codificação Real
3
2500
1.9480
RMSE 0.0245
5
3
12 bits
3
2500
4.2073
0.0505
6
3
4 bits
3
2500
2.1502
0.0331
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
50
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 6 Configuração
Número de Neurônios
Épocas
MAPE
RMSE
7
Janela 6
Codificação Real
4
3500
2.4030
0.0284
8
6
12 bits
4
3500
1.5994
0.0211
9
6
4 bits
4
3500
2.6311
0.0312
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 6 Configuração
Número de Neurônios
Épocas
MAPE
RMSE
10
Janela 6
Codificação Real
7
3500
3.0201
0.0382
11
6
12 bits
7
3500
3.2143
0.0383
12
6
4 bits
7
3500
2.7644
0.0323
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
51
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 12 Configuração
Janela
Codificação
Número de Neurônios
Épocas
MAPE
RMSE
13
12
Real
8
3500
2.6473
0.0309
14
12
12 bits
8
3500
1.9062
0.0236
15
12
4 bits
8
3500
3.4298
0.0403
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Série Temporal Carga Mensal da CEMIG – JANELA = 12 Configuração
Número de Neurônios
Épocas
MAPE
RMSE
16
Janela 12
Codificação Real
12
3500
4.1001
0.0504
17
12
12 bits
12
3500
3.3920
0.0367
18
12
4 bits
12
3500
2.8125
0.0365
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
52
Previsão de Série Temporal Melhores Resultados Configuração
Número de Neurônios
Épocas
MAPE
RMSE
UTHEIL
3
Real
3
2500
1.9480
0.0245
0.8989
8
6
12 bits
4
3500
1.5994
0.0211
0.7559
14
12
12 bits
8
3500
1.9062
0.0236
0.8633
4
Janela
Codificação
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Previsão de Série Temporal Carga Mensal da CEMIG Configuração 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Janela 3 3 3 3 3 3 6 6 6 6 6 6 12 12 12 12 12 12
Codificação Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits Real 12 bits 4 bits
Número de Neurônios 2 2 2 3 3 3 4 4 4 7 7 7 8 8 8 12 12 12
Épocas 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000
MAPE 3.5908 2.4527 3.6750 3.5011 2.1925 3.1511 1.9804 3.3649 2.3429 1.6406 3.2677 2.2666 2.4379 2.3132 2.1552 3.2193 3.3211 1.8085
RMSE 0.0396 0.0273 0.0420 0.0395 0.0251 0.0369 0.0283 0.0369 0.0303 0.0203 0.0352 0.0301 0.0278 0.0312 0.0273 0.0368 0.0403 0.0193
UTHEIL 1.4926 0.9795 1.5858 1.4909 0.9482 1.3993 1.0128 1.3888 1.0795 0.7451 1.3260 1.0708 1.0149 1.1450 0.9985 1.3318 1.4598 0.7119
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
53
Toolbox de Redes Neurais no MATLAB ¾
¾
Introdução ao Matlab ¾
Linha de comando
¾
NNTool
Estudo de Casos ¾Previsão ¾
de carga mensal
Análise de Crédito Bancário http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Análise de Crédito Bancário • Base de Dados: Dados contém informações sobre 1500 clientes: – 715 pagadores; 785 não pagadores.
• Atributos da Base de Dados: – – – – – – – – – – –
ESTC Ö Estado civil NDEP Ö Número de dependentes RENDA Ö Renda familiar TIPOR Ö Tipo de Residência (0=alugada,1=própria,2=parentes) VBEM Ö O valor do bem a ser adquirido NPARC Ö O número de parcelas a serem pagas VPARC Ö O valor de cada parcelas TEL Ö Possui telefone (0=não e 1=sim) IDADE Ö Quantos anos a pessoa tem RESMS Ö Tempo de moradia (em mês) ENTRADA Ö o valor da parcela paga no dia do empréstimo
• Saída: Saída: – CLASSE_1 Ö O cliente não pagou o empréstimo http//www.ica.ele.puc-rio.br/birio.br/bi-master – CLASSE_2 Ö O cliente pagou o empréstimo http//www.ica.ele.puc-
54
Análise de Crédito Bancário • Amostra da Base de Dados: ESTC
NDEP
RENDA
TIPOR
VBEM
NPARC
VPARC
TEL
IDADE
RESMS
ENTRADA
CLASSE_1
CLASSE_2
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
0 2 1 0 0 0 2 0 0 0 0 0 2 0 0 0 0 2 0
350 580 500 2000 411 500 500 800 300 554 332 342 632 600 800 480 1300 868 300
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
468 349 828 309 390 614 347 359 309 429 593 453 365 587 495 460 349 567 399
10 10 18 6 12 10 4 6 6 10 4 10 6 10 15 3 10 10 10
65 51 89 66 55 81 101 76 66 60 100 59 78 89 59 135 51 78 55
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
33 30 29 29 40 59 44 51 30 46 44 52 49 44 50 59 45 39 29
6 6 6 6 0 6 6 6 6 6 215 6 6 60 6 6 6 6 6
0 0 0 0 0 0 0 0 0 0 198 0 0 0 0 100 0 0 0
0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1
1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Análise de Crédito Bancário Estado Civil Número de Dependentes Renda Familiar Tipo de Residência Valor do Empréstimo
Cliente Pagador
Número de Parcelas Valor da Parcela
Cliente Não-Pagador
Possui Telefone Idade Tempo de Moradia Valor da Entrada http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
55
Análise de Crédito Bancário
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
Análise de Crédito Bancário
http//www.ica.ele.puchttp//www.ica.ele.puc-rio.br/birio.br/bi-master
56