Preview only show first 10 pages with watermark. For full document please download

Redes Neurais

Apostila

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    704.6KB
  • Views

    3,692
  • Categories


Share

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