Back Propagation Considerações de Desempenho Dicas para o BP O uso da função de ativação simétrica geralmente acelera o treinamento TANH +1 logistic linear 0 tanh -1-4 +4 1
Dicas para o BP Os pesos devem ser inicializados com valores uniformemente distribuídos em um intervalo que depende do F IN (número de entradas do neurônio) inicialização feita para cada neurônio separadamente EX: tanh = 2a - a a=1.716 1+exp(-bv) b=2/3 intervalo dos pesos = (-2.4/ F IN,+2.4/ F IN ) Dicas para o BP A ordem de apresentação dos padrões de treinamento deve ser alterada a cada época ordem aleatória Todos os neurônios devem aprender na mesma taxa como os processadores de saída têm tipicamente maior gradiente, η OUT deve ser menor 2
O processo de aprendizado pode ser visto como um problema de CURVE FITTING Modelagem da Rede Neural 3
Treinamento Fatores importantes para a modelagem do treinamento supervisionado: Seleção de variáveis e representação; Seleção e preparação dos dados de treinamento; Seleção do Modelo (estrutura da rede); Escolha da função de erro; Escolha do método de otimização (ex. BP); Generalização (validação cruzada). Modelagem da Rede Neural PRÉ-PROCESSAMENTO: Limpeza de Dados Seleção de Dados Normalização Representação 4
Modelagem da Rede Neural Limpeza de Dados as transações podem conter valores incorretos, dados ausentes e inconsistências conhecimento sobre os limites dos dados; visualização para identificar outliers ; uso de informação estatística para estabelecer como neutros os valores ausentes ou incorretos. Modelagem da Rede Neural Seleção de Dados diminui o tamanho da rede acelera o aprendizado melhora a generalização da Rede combinação de variáveis (atributos): razão, produto, soma ou diferença de 2 valores diversos métodos: correlação; PCA (Principal Component Analysis); etc. 5
Modelagem da Rede Neural Normalização escalonamento as redes geralmente aceitam valores entre 0/(-1) e 1 linear se os dados estão uniformemente distribuídos não-linear logarítmico, etc normalização de vetores divide o vetor pela norma (euclidiana) divide pela soma cada valor representa o % divide pela faixa de valores máxima n xi mín xi = menos processamento Máx mín subtrai do valor médio e divide pelo desvio padrão (sinal com média zero e variância unitária) Representação dos Dados Discretos deve ser transformado em uma representação que apresente um único conjunto de entradas para cada valor discreto 1 of N; binário; termômetro Contínuos Escalonamento básico 6
Representação - Discretos 1 of N # de entradas = # de categorias mais simples e mais fácil para a Rede Neural pode gerar muitas entradas piora a generalização Exemplo de 3 classes: casado 100 solteiro 010 divorciado 001 Representação - Discretos código binário N categorias representado por n bits (N=2 n ) valores próximos podem ter distância de hamming grande na representação Exemplo: 36 sintomas diferente 6 entradas (2 6 = 64) 7
Representação - Discretos termômetro quando os dados estão relacionados de forma crescente ou decrescente Exemplo - 4 classes de salários: baixo 1000 bom 1100 muito bom 1110 excelente 1111 Representação - Contínuos Escalonamento linear, se os valores estão uniformemente distribuídos na faixa de dados Ex1: variável salário [0, 100] (R$100,00) 80% dos valores estão abaixo de 50 linear por partes: 0-50 => 0 a 0.8 50-100 => 0.8 a 1.0 8
Representação - Contínuos Escalonamento linear, se os valores estão uniformemente distribuídos na faixa de dados Ex2: salários de 0 a 300.000 mas só preciso diferenciar salários até 35.000 linear por partes: 0-35.000 => 0 a 1.0 35.000-300.000 => 1.0 Validação Cruzada: Qual o melhor critério de parada do treinamento? Até que o erro de treinamento seja inferior a um certo valor especificado super treinamento ( overfitting ). 9
Precisão de generalização Validação Cruzada: super treinamento ( overfitting ): os pesos estão sendo modificados para ajustar também o ruído existente nos padrões de treinamento; quanto maior o número de pesos, maior o problema de overfitting; weight decay ajuda a reduzir esse problema; Deve-se verificar o comportamento na generalização necessita de um conjunto de validação! 10
Validação Cruzada: Deve-se dividir os padrões em três conjuntos: treinamento padrões usados para modificar os pesos; validação padrões usados para verificar o problema de overfitting; deve-se guardar duas cópias do conjunto de pesos da rede: uma cópia para o treinamento e outra com a melhor configuração na validação até o momento. teste padrões para testar o desempenho do modelo final. Precisão de generalização 11
Validação Cruzada: Qual o melhor critério de parada do treinamento? Até que o erro de treinamento seja inferior a um certo valor especificado super treinamento ( overfitting ). O treinamento deve ser interrompido quando o erro na validação começar a subir de forma consistente. Validação Cruzada: O que fazer quando o conjunto de padrões é pequeno? Particiona os m padrões disponíveis para treinamento e validação em k conjuntos disjuntos, cada um com m/k padrões; efetua-se o procedimento de cross-validation k vezes, cada vez utilizando um conjunto diferente para efetuar a validação e os outros k-1 para fazer o treinamento; determina-se para cada um o número ideal i de iterações; calcula-se a média das iterações i m nos k experimentos; Executa-se um treinamento final, com os m padrões (sem padrões para validação) por i m iterações. 12