1 / 30

Redes Neuronais

Redes Neuronais. Biological Neural Networks.

Télécharger la présentation

Redes Neuronais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Redes Neuronais

  2. Biological Neural Networks • 􀂄 Neuron switching time : > 10-3 secs • 􀂄 Number of neurons in the human brain: ~10^10 • 􀂄 Connections (synapses) per neuron : ~10^4–10^5 • 􀂄 Face recognition : 0.1 secs • 􀂄 High degree of parallel computation • 􀂄 Distributed representations H. Galhardas

  3. Um neurónio - k • The n-dimensional input vector x is mapped into variable y by means of the scalar product and a nonlinear function mapping x0 w0 x1 w1 f å output y xn wn Input vector x weight vector w weighted sum Activation function H. Galhardas

  4. Um neurónio - k x0 w0 x1 w1 f å output y xn wn Input vector x weight vector w weighted sum Activation function H. Galhardas

  5. Um Perceptrão H. Galhardas

  6. Output layer Input layer Hidden layer Redes Neuronais - Composição • Rede composta por: • 1 input layer • 1 ou mais hidden layer(s) • 1 output layer H. Galhardas

  7. Output layer Input layer Hidden layer Redes Neuronais - Tipos • Redes 2-layer - apenas 1 hidden layer • O mais comum • Redes 3-layer - com 2 hidden layer • feed-forward • Sem existência de ciclos • fully connected • Cada nó transmite input para todos os nós da layer seguinte H. Galhardas

  8. Appropriate Problem Domainsfor Neural Network Learning • 􀂄 Input is high-dimensional discrete or real valued (e.g. raw sensor input) • 􀂄 Output is discrete or real valued • 􀂄 Output is a vector of values • 􀂄 Form of target function is unknown • 􀂄 Humans do not need to interpret the results (black box model) H. Galhardas

  9. Redes Neuronais - Vantagens • Possui a capacidade de aprender ao longo do tempo • Bons resultados mesmo com dados sujos • Por vezes descobrem-se padrões para os quais não foi sequer treinada H. Galhardas

  10. Redes Neuronais - Desvantagens • Dificuldade em efectuar treino da rede numa BD de grande dimensão (tempos de treino muito grandes) • Trabalha apenas com dados númericos (necessário transformação dos dados) • Não existe conhecimento sobre o tratamento dos dados no interior da rede (Caixa Preta) => dificil de interpretar H. Galhardas

  11. M/F Idade Altura Peso Fuma? Bebe? Aplicação de Redes Neuronais em DM • Ex1: Determinar o risco de ter Cancro Risco de Cancro Dados Saida Dados Entrada H. Galhardas

  12. Aplicação de Redes Neuronais em DM • Ex2: Determinar se dado cliente possui crédito Renda Débito Idade Reg. Pagamentos H. Galhardas % de ter crédito % de não ter crédito

  13. Transformação de dados BD Resultados Passos para efectuar DM em Redes Neuronais 1 - Transformação de dados 2 - Criação da Rede 3 - Treino da rede 4 - Uso da rede, obtenção de resultados H. Galhardas

  14. Transformação de dados • Para a utilização de DM em Redes Neuronais é necessário converter todos os campos da BD para valores númericos entre 0 e 1. • Exemplo: H. Galhardas

  15. Transformação de Dados • Exemplo 2: Dada a seguinte tabela… • Como converter os dados de modo a permitir o uso de Rede Neuronal para inferir se determinada pessoa tem o cabelo enfraquecido pelo sol? H. Galhardas

  16. Hair Height … … Sunburned? Weight Lotion Criação da Rede Neuronal • Vamos criar uma rede 2-layer • Input layer • Hair – precisamos de 3 inputs • Height, Weight – 3 inputs • Lotion – 2 inputs • Output layer • Sunburned? – 2 Outputs • Hidden layer • Qualquer valor é aceitável • 5 nós • Ficamos com uma rede 11x5x2 H. Galhardas

  17. Treino da Rede • Usa-se um conjunto de amostras cujo valor da função alvo (ou objectivo) é conhecido - amostras de treino • Ex: a linha da tabela relativa a Sarah pode ser usada como amostra de treino H. Galhardas

  18. Treino de Rede Neuronal - Exemplo • Rede Neuronal • 2-layer • Apenas 1 hidden layer • feed forward • Sem ciclos • 3 nós de Input • 1 nó de Output • Utilização do algoritmo de backpropagation • o mais comum para o treino de redes neuronais H. Galhardas

  19. 1 θ θ 0 θ 1 Algoritmo de Backpropagation • Dada a amostra de treino… • Calcular o erro em cada nó • Alterar o peso dos arcos • Alterar o bias dos nós ≠ O,55 • Treinar a nova rede com outra amostra de treino H. Galhardas

  20. Multi-Layer neural network Output vector Output nodes Hidden nodes wij Input nodes Input vector: xi H. Galhardas

  21. =0,2 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,3 =-0,3 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,2 w56 =-0,5 w34 =0,2 w35 Ex: Inicialização da rede • Inicializar todos os valores da rede • Inicializar valores de w • Valor aleatório entre -0.5 e 0.5 ou entre -1.0 e 1.0 • Inicializar valores de θ (bias) dos nós • Valor aleatório entre -0.5 e 0.5 H. Galhardas

  22. =0,2 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,3 =-0,3 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,2 w56 =-0,5 w34 =0,2 w35 Ex: Input Forward (Propagação das entradas) 1 -0,7 Passo 1: Propagar o valor de input na rede • I4 = 1x0,2 + 0x0,4 + 1x(-0,5) – 0,4 = -0,7 • Mesmo para I5 0 0,1 1 H. Galhardas

  23. =0,2 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,3 =-0,3 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,2 w56 =-0,5 w34 =0,2 w35 Ex: Input Forward (cálculo dos Outputs) 1 0,33 0 0,55 0,52 1 Passo 2: Calcular o valor de Output • O4 = 1 / (1 + e0,7) = 0,33 • Mesmo para O5 • Repetir passos 1 e 2 para Nó 6 H. Galhardas

  24. =0,2 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,3 =-0,3 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,2 w56 =-0,5 w34 =0,2 w35 Ex: Backpropagate Error 1 0,33 0 0,55 0,52 Err6 = 0,1311 1 Passo 3: Calcular o valor do erro no Output layer • Sendo Tj o valor de Output real, nesta amostra Oreal6=1 • Err6 = (0,55)(1 – 0,55)(1 – 0,55) = 0,1311 H. Galhardas

  25. =0,2 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,3 =-0,3 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,2 w56 =-0,5 w34 =0,2 w35 Ex: Backpropagate Error 1 0,33 0 0,55 0,52 Err6 = 0,1311 Err5 = -0,0065 1 Err4 = -0,087 Passo 4: Calcular o valor do erro na Hidden layer • Não podemos usar o valor real, pois os valores do hidden layer são desconhecidos • Err4 = (0,33)(1 – 0,33)(0,1311)(-0,3) = -0,0087 • Mesmo para Err5 H. Galhardas

  26. =0,180 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,4 =-0,267 w15 θ =0,1 w46 =0,4 w24 =0,1 θ =0,2 w25 =-0,032 w56 =-0,52 w34 =0,233 w35 Ex: Actualizar valores de W 1 0,33 =-0,153 0 0,55 0,52 Err6 = 0,1311 Err5 = -0,0065 1 Err4 = -0,087 Passo 5: Recalcular os valores de w • ℓ - constante de learning rate com valor entre 0 e 1 (neste exemplo ℓ=0,9) • Δw46 = (0,9)(0,1311)(0,33) = 0,039 • W46 = w46 + Δw46 = -0,3 + 0,039 = -0,261 • Mesmo para os restantes valores de w. H. Galhardas

  27. =0,192 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,408 =-0,306 w15 θ =0,218 w46 =0,4 w24 =0,1 w25 =-0,138 w56 =-0,508 w34 =0,194 w35 Ex: Actualizar valores de θ 1 0,33 =-0,261 0 0,55 θ =0,194 0,52 1 Passo 5: Recalcular os valores de θ • e • Δθ5 = (0,9)(-0,065) = -0,0585 • θ5 = θ5 + Δθ5 = 0,2 - 0,0585 = 0,194 • Mesmo para os restantes valores de θ. H. Galhardas

  28. =0,192 Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 θ =-0,408 =-0,306 w15 θ =0,218 w46 =0,4 w24 =0,1 w25 =-0,138 w56 =-0,508 w34 =0,194 w35 Ex: Caso Paragem 1 0,33 =-0,261 0 0,55 θ =0,194 0,52 1 • Realizar todos os passos com uma nova amostra de treino, até que… (casos de paragem) • Todos os Δw são inferiores a um valor pré-determinado • A percentagem de amostras mal classificadas na ultima iteração é abaixo de determinado valor • Foi atingido um número máximo de iterações • Uma iteração é o treino da rede com todas as amostras existentes uma vez H. Galhardas

  29. Finalmente… • Uma vez terminado o treino da Rede… • Esta deve ser validada através de um conjunto de dados de teste • Uma vez validada, a rede pode ser utilizada para obter valores desconhecidos H. Galhardas

  30. Bibliografia • Data Mining: Concepts and Techniques, J. Han & M. Kamber, Morgan Kaufmann, 2001 (Cap 7) • Machine Learning, Tom Mitchell, McGraw 1997 (Cap 4) • Trabalho de Investigação de SAD03/04 de Pedro Canteiro sobre Redes Neuronais • Princípios Essenciais do Data Mining, Sérgio Navega, http://www.intelliwise.com/snavega H. Galhardas

More Related