A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Redes Neuronais. SAD Tagus 2004/05 H. Galhardas Biological Neural Networks Neuron switching time : > 10-3 secs Number of neurons in the human brain: ~10^10.

Apresentações semelhantes


Apresentação em tema: "Redes Neuronais. SAD Tagus 2004/05 H. Galhardas Biological Neural Networks Neuron switching time : > 10-3 secs Number of neurons in the human brain: ~10^10."— Transcrição da apresentação:

1 Redes Neuronais

2 SAD Tagus 2004/05 H. Galhardas 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

3 SAD Tagus 2004/05 H. Galhardas Um neurónio The n-dimensional input vector x is mapped into variable y by means of the scalar product and a nonlinear function mapping The n-dimensional input vector x is mapped into variable y by means of the scalar product and a nonlinear function mapping kk - f weighted sum Input vector x output y Activation function weight vector w  w0w0 w1w1 wnwn x0x0 x1x1 xnxn

4 SAD Tagus 2004/05 H. Galhardas Um neurónio  k k - f weighted sum Input vector x output y Activation function weight vector w  w0w0 w1w1 wnwn x0x0 x1x1 xnxn

5 SAD Tagus 2004/05 H. Galhardas Um Perceptrão

6 SAD Tagus 2004/05 H. Galhardas Redes Neuronais - Composição Rede composta por: Rede composta por: 1 input layer 1 ou mais hidden layer(s) 1 output layer Input layerHidden layer Output layer

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

8 SAD Tagus 2004/05 H. Galhardas Appropriate Problem Domains for 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)

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

10 SAD Tagus 2004/05 H. Galhardas 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

11 SAD Tagus 2004/05 H. Galhardas Aplicação de Redes Neuronais em DM Ex1: Determinar o risco de ter Cancro Ex1: Determinar o risco de ter Cancro M/FIdadeAlturaPesoFuma?Bebe? Risco de Cancro

12 SAD Tagus 2004/05 H. Galhardas Aplicação de Redes Neuronais em DM Ex2: Determinar se dado cliente possui crédito Ex2: Determinar se dado cliente possui crédito Idade % de não ter crédito Reg. Pagamentos DébitoRenda % de ter crédito

13 SAD Tagus 2004/05 H. Galhardas 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 BD Transformação de dados Resultados

14 SAD Tagus 2004/05 H. Galhardas 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. 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: Exemplo:

15 SAD Tagus 2004/05 H. Galhardas Transformação de Dados Exemplo 2: Dada a seguinte tabela… Exemplo 2: Dada a seguinte tabela… NameHairHeightWeightLotionResult SarahBlondeAverageLightNoSunburned DanaBlondeTallAverageYesNot sunburned AlexBrownShortAverageYesNot sunburned Hair Blonde100 Brown010 Red001 Height Short100 Average010 Tall001 Weight Light100 Average010 Heavy001 Lotion No10 Yes01 Class Sunburned10 Not sunburned01 Como converter os dados de modo a permitir o uso de Rede Neuronal para inferir se determinada pessoa tem o cabelo enfraquecido pelo sol? Como converter os dados de modo a permitir o uso de Rede Neuronal para inferir se determinada pessoa tem o cabelo enfraquecido pelo sol?

16 SAD Tagus 2004/05 H. Galhardas Criação da Rede Neuronal Vamos criar uma rede 2-layer Vamos criar uma rede 2-layer Input layer Input layer Hair – precisamos de 3 inputs Height, Weight – 3 inputs Lotion – 2 inputs Output layer Output layer Sunburned? – 2 Outputs Hidden layer Hidden layer Qualquer valor é aceitável 5 nós Ficamos com uma rede 11x5x2 Ficamos com uma rede 11x5x2 Hair Blonde100 Brown010 Red001 Height Short100 Average010 Tall001 Weight Light100 Average010 Heavy001 Lotion No10 Yes01 Class Sunburned10 Not sunburned 01 Hair Height Weight Lotion Sunburned? … …

17 SAD Tagus 2004/05 H. Galhardas Treino da Rede Usa-se um conjunto de amostras cujo valor da função alvo (ou objectivo) é conhecido - amostras de treino 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 SarahBlondeAverageLightNoSunburned

18 SAD Tagus 2004/05 H. Galhardas Treino de Rede Neuronal - Exemplo Rede Neuronal 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 Utilização do algoritmo de backpropagation o mais comum para o treino de redes neuronais

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

20 SAD Tagus 2004/05 H. Galhardas Multi-Layer neural network Output nodes Input nodes Hidden nodes Output vector Input vector: x i w ij

21 SAD Tagus 2004/05 H. Galhardas Ex: Inicialização da rede Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 Inicializar todos os valores 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 =0,2 =-0,2 =-0,3 =0,4 =0,1 =-0,5 =0,2 θ θ =-0,4 θ θ =0,2 θ θ =0,1

22 SAD Tagus 2004/05 H. Galhardas Ex: Input Forward (Propagação das entradas) Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 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,2 =-0,2 =-0,3 =0,4 =0,1 =-0,5 =0,2 θ θ =-0,4 θ θ =0,2 θ θ =0,1 1 0,1 0 1 -0,7

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

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

25 SAD Tagus 2004/05 H. Galhardas Ex: Backpropagate Error Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 =0,2 =-0,2 =-0,3 =0,4 =0,1 =-0,5 =0,2 θ θ =-0,4 θ θ =0,2 θ θ =0,1 1 0,55 0,52 0 1 0,33 Err6 = 0,1311 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 Err5 = -0,0065 Err4 = -0,087

26 SAD Tagus 2004/05 H. Galhardas Ex: Actualizar valores de W Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 θ θ =-0,4 θ θ =0,2 θ θ =0,1 1 0,55 0,52 0 1 0,33 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. =0,180 =-0,032 =-0,267 =0,4 =0,1 =-0,52 =0,233 =-0,153 Err6 = 0,1311 Err5 = -0,0065 Err4 = -0,087

27 SAD Tagus 2004/05 H. Galhardas Ex: Actualizar valores de θ Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 1 0,55 0,52 0 1 0,33 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 θ. θ θ =0,194 θ θ =-0,408 θ θ =0,218 =0,192 =-0,138 =-0,306 =0,4 =0,1 =-0,508 =0,194 =-0,261

28 SAD Tagus 2004/05 H. Galhardas Ex: Caso Paragem Realizar todos os passos com uma nova amostra de treino, até que… 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 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 A percentagem de amostras mal classificadas na ultima iteração é abaixo de determinado valor Foi atingido um número máximo de iterações Foi atingido um número máximo de iterações Uma iteração é o treino da rede com todas as amostras existentes uma vez Nó 1 Nó 2 Nó 3 Nó 4 Nó 5 Nó 6 w14 w35 w34 w25 w24 w15 w56 w46 1 0,55 0,52 0 1 0,33 θ θ =0,194 θ θ =-0,408 θ θ =0,218 =0,192 =-0,138 =-0,306 =0,4 =0,1 =-0,508 =0,194 =-0,261

29 SAD Tagus 2004/05 H. Galhardas Finalmente… Uma vez terminado o treino da Rede… 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

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


Carregar ppt "Redes Neuronais. SAD Tagus 2004/05 H. Galhardas Biological Neural Networks Neuron switching time : > 10-3 secs Number of neurons in the human brain: ~10^10."

Apresentações semelhantes


Anúncios Google