300 likes | 387 Views
Discover the power of neural networks in data mining, their advantages, disadvantages, application examples, training process, and transformation of data for efficient usage. Learn the fundamentals and practical aspects.
E N D
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
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
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
Um Perceptrão H. Galhardas
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Multi-Layer neural network Output vector Output nodes Hidden nodes wij Input nodes Input vector: xi H. Galhardas
=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
=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
=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
=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
=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
=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
=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
=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
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
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