• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Lesson 6: Neural Networks
 

Lesson 6: Neural Networks

on

  • 1,684 views

 

Statistics

Views

Total Views
1,684
Views on SlideShare
1,674
Embed Views
10

Actions

Likes
1
Downloads
55
Comments
0

2 Embeds 10

http://www.slideshare.net 6
http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • .

Lesson 6: Neural Networks Lesson 6: Neural Networks Presentation Transcript

  • Chapter 6
    Redes Neuronais(Neural Networks)
  • Aprendizagem Computacional Gladys Castillo, UA
    Classificadores Lineares
    Se os exemplos do conjunto de treino são linearmente separáveis podemos aprender uma função discriminante linear e logo usa-la para classificar os futuros exemplos
    x1, x2 - 2 variáveis preditorasC = {class1, class2} – 2 classesf:x1x2 C
    Para um novo exemplo x:
    se g(x) > 0  f(x) = class1se g(x) < 0  f(x) = class2
    Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares
  • Aprendizagem Computacional Gladys Castillo, UA
    Separabilidade entre Classes
    Um conjunto de treino é chamado linearmente separável se existe pelo menos um hiperplano capaz de separar os exemplos de diferentes classes
    linearmentenão separável
    linearmenteseparável
    Figura extraídas dos acetatos de Aluizio F. R. Araújo, Máquinas de Vectores Suporte
  • IRIS Data (Fisher, 1936)
    Problema clásico de classificação das flores iris.
    3 classes
    setosa
    versicolor
    virginica
    4 atributos
    comprimento da pétala
    largura da pétala
    comprimento da sépala
    largura da sépala
    O conjunto de dados contêm 50 exemplos por cada classe
    On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html
    Aprendizagem Computacional Gladys Castillo, UA
  • Aprendizagem Computacional Gladys Castillo, UA
    Classificadores Lineares e Não LinearesIris Data (Fisher, 1936)
    Figure from Norbert Jankowski and Krzysztof Grabczewski
    x setosaO virginica+ versicolor
    Árvore de Decisão
    Discriminante Linear
    setosa
    Gaussian mixture
    Kernel method (SVM)
  • Aprendizagem Computacional Gladys Castillo, UA
    x3
    x2
    x1
    Fronteira de Decisão Linear
    A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
    A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
    x2
    x1
    Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
  • Aprendizagem Computacional , Gladys Castillo
    x2
    x3
    x2
    x1
    x1
    Fronteiras de Decisão Não Linear
    Funções não lineares separam as classes
    Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
  • Aprendizagem Computacional Gladys Castillo, UA
    x2
    x1
    Fit / Robustness Tradeoff
    O que será melhor: a fronteira linear ou não linear?
    x2
    x1
    Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
    15
  • Aprendizagem Computacional Gladys Castillo, UA
    Classificadores Lineares
    fronteira de decisão linear
    Hiperplano de Classificação:
    g(x) = w  x + b = 0
    onde:
    • w - vector de pesos  determina a orientação do hiperplano
    • b – desvio (bias)
    Classificador Linear Binário :
    Tarefa de Aprendizagem (ideia básica)
    A partir do conjunto de treino com exemplos rotulados estimar os parâmetros w e b por forma a obter a melhor fronteira de decisão segundo um critério que define o que significa “melhor”
    Figura extraídas dos acetatos de Luis Oliveira, Classificadores Lineares
  • Aprendizagem Computacional Gladys Castillo, UA
    Classificadores LinearesSoluções possíveis
    Podem existir vários hiperplanos separando as classes correctamente, contudo existe pelo menos um melhor que os demais. Qual é o melhor? Cómo definir melhor? O critério para definir o melhor (óptimo) varia segundo o modelo de classificação: Exemplos de classificadores lineares:
    • Discriminante linear (Fisher)
    • Perceptron (redes neuronais)
    • Classificador de Margem Maximal (máquinas de suporte vectorial)
  • Aprendizagem Computacional Gladys Castillo, UA
    Figuraextraída dos acetatos de Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar
    Classificadores Lineares
    Este exemplo mostra um classificador linear de margem maximal (SVM) “aprendido” deste conjunto de treino usando o método dos multiplicadores de Lagrange. A partir dos dados foram estimados os parâmetros w1, w2 e b do hiperplano
  • Aprendizagem Computacional Gladys Castillo, UA
    Redes Neuronais Artificiais (RNAs)
    Outro nome: modelos conexionistas
    Modelo distribuído de computação paralelacom alto nível de granularidade
    • As RNAs são inspiradas no funcionamento do cérebro humano
    • Compostas dum elevado número de neurónios altamente inter-ligados trabalhando em paralelo na resolução de problemas
    • O conhecimento adquirido através da aprendizagem é armazenado nas ligações.
  • Aprendizagem Computacional Gladys Castillo, UA
    nós de entrada
    nós de saída
    nós ocultos
    Redes Neuronais Artificiais (RNAs)
    As RNAs contêm tem 3 tipos de camadas (layers):
    input layer: informação que entra no neurónio
    hidden layer: camadas intermédias, podem ser várias
    output layer: informação que sai
    Modelos mais populares:
    Perceptron: modelo mais simples, não usa hidden layers
    Multi-layer Feed-Forward: os nós de uma camada estão ligados apenas aos nós da seguinte camada
    modelo com 3 camadas
  • Aprendizagem Computacional Gladys Castillo, UA
    Modelo de um Neurónio Artificial
    • Neurónio = processador de informaçãorecebe e envia impulso a milhares de neurónios
    • dendritos: canais de entrada
    • corpo celular: órgão de cômputo (soma ponderada, função não linear)
    • axónio: canal de saídadistribuição a outros neurónios
    • Potencial pos-sináptico:h (w, x) = w . x = jwj xj
    • O factor bias t é usualmente subtraído ao potencial pos-sináptico
    • função de activação para obter y:y = f (w. x – t)
    y = f(wx – t) = f(jwjxj – t)
  • Aprendizagem Computacional Gladys Castillo, UA
    Perceptron
    O modelo mais simples das RNAs concebido em 1957 no Cornell Aeronautical Laboratory por Frank Rosenblatt.
    Um perceptron é um classificador linear binário, ou seja, uma funçãof: X  Y que mapea um vector binário x a um valor binário y
    Modelo simples de um neurónio artificial
    Modelo geral com vários outputs onde cada output é modelado com o modelo do neurónio simples)
    função de activação: a função sinal
  • Aprendizagem Computacional Gladys Castillo, UA
    Black box
    x
    x
    x
    y
    Input
    1
    2
    3
    1
    0
    0
    0
    x
    1
    0
    1
    1
    1
    Output
    1
    1
    0
    1
    1
    1
    1
    1
    x
    y
    2
    0
    0
    1
    0
    0
    1
    0
    0
    x
    0
    1
    1
    1
    3
    0
    0
    0
    0
    RNAs - Modelo Caixa Preta (Black-Box)
    Conjunto de Treino
    Aprender um Perceptron dos dados significa aprender os pesos que melhor ajustem o modelo oculto nos dados
  • Aprendizagem Computacional Gladys Castillo, UA
    Perceptron Modelação de uma função booleana
    Modelação com Perceptron
    Função alvo: (target function)
    o valor de y é true se pelomenos 2 inputs sãotrue
    A aprendizagem do perceptron sempre tem sucesso em tempo finito para um conjunto de treino finito e separável de exemplos de treino
  • Aprendizagem Computacional Gladys Castillo, UA
    PerceptronFronteira de Decisão Linear
    O perceptron é usado para conjunto de treinos linearmente separáveis
  • Aprendizagem Computacional Gladys Castillo, UA
    Problema de Classificação XOR
    Não existe uma fronteira linear que possa separar estas duas classes. (como o Perceptron pode construir apenas um hiperplano, não podemos usa-lo para modelar este problema)
    OU exclusivo
    XOR(x1, x2) = true se e só se um dos inputs é true(note que true = 1, false = -1)
  • Aprendizagem Computacional Gladys Castillo, UA
    RNA de Duas Camadas Problema XOR (ou exclusivo)
    Os exemplos podem ser classificados usando 2 hiperplanos que dividem o espaço dos atributos (input space) em suas respectivas classes
    2 nós de entrada, 2 ocultos e um de saída
  • Aprendizagem Computacional , Gladys Castillo
    Fronteiras de decisãoPerceptron vs. RNAs com 1 e 2 Camadas Ocultas
    Figuraextraídade RedesNeuronais, Pedro Larrañaga et al.
  • Aprendizagem Computacional Gladys Castillo, UA
    RNAs multi-camadas Feed-Forward
    Podem existir várias camadas ocultas
    Feed-forward (directa, não recorrente) refere-se ao facto de que nenhum arco e dirigido a um nó da mesma camada ou de uma camada anterior.
  • RNAs multi-camadas Feed-Forward
    Uma RNA pode ser representado como um grafo dirigido onde:
    A cada nó (neurónio) i é associado uma variável de estado Xi
    A cada ligação (i, j) entre os nós ie j é associado um peso wij
    A cada nó i é associado um desvio (viés, bias) i
  • RNAs multi-camadas Feed-Forward
    Para cada nó j de uma camada oculta ou de saída é definida uma função de activação
    onde:
    wijé o peso associado a ligação que entra no nó j partindo do nó i com estado Ij
    jé o desvio
    Ojé o novo estado do nó j.
    I1
    sinapsis
    sinap
    (pesos)
    (pesos)
    w1j
    I2
    fun
    ç
    ão
    de
    fun
    ç
    ão
    de
    activa
    ç
    ão
    activa
    ç
    ão
    w2j
    sa
    í
    da
    sa
    í
    da

    S
    f( )
    Oj
    f(
    )
    y
    wnj
    In
    j
    desvio
    Aprendizagem Computacional Gladys Castillo, UA
  • Aprendizagem Computacional Gladys Castillo, UA
    Funções de Activaçãopara RNAs multicamadas
    A função de activação que é normalmente usada com o algoritmo Backpropagation é a logística (ou sigmoid)
  • Aprendizagem Computacional Gladys Castillo, UA
    Algoritmo de Aprendizagem “Backpropagation”
    Paul Werbos, 1974
    Aprender uma RNA dos dados significa aprender os pesos das ligações
    Bacpropagation é um algoritmo iterativo:
    em cada iteração processa todos os exemplos de treino e compara o valor predito na saída da rede com o valor real (correcto) da classe
    os pesos das ligações e os desvios são modificados por forma a minimizar o erro quadrático médio entre os valores reais e os valores preditos
    EQM é o MSE abreviado do termo em inglês (meansquarederror)
  • BackpropagationParâmetros de Entrada
    RNA - topologia de uma rede neuronal multi-camada feed-forward
    A escolha do # camadas ocultas e o # de nós em cada camada é um processo de tentativa-e-erro.
    D - conjunto de treino com N exemplos etiquetados
    Os valores dos atributos contínuos devem ser normalizados
    Os atributos discretos devem ser transformados em atributos binários (um nó de entrada por cada valor)
    Em problemas com mais de duas classes, deve ser utilizado um nó de saída por cada classe.
    l - constante (factor de aprendizagem - "learning rate")
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationEsquema Geral
    Input: topologia de uma RNA, conjunto de treino D, learning rate l
    Output:RNA com pesos das ligações que minimizam o EQM
    Inicialização: InicializarPesos(RNA)
    Enquanto critério de paragem não atingido:
    Para cada exemplo do conjunto de treino D
    1. Propagar Valores de Entrada (caminhando da camada de entrada para a camada de saída)
    2. RetropropagarError (caminhando da camada de saída para a camada de entrada)
    3. Actualizar Pesos (usando a regra de descida do gradiente)
  • Aprendizagem Computacional Gladys Castillo, UA
    BackpropagationRegra do Descida do Gradiente
    Objectivo: atingir o mínimo global da função do EQM caminhando na direcção contraria a do gradiente (sentido de maior decréscimo da função E(w)  E(w, D)  EQM )
    Exemplo de - E(w) com w = (w1,w2)
  • Aprendizagem Computacional Gladys Castillo, UA
    BackpropagationRegra do Descida do Gradiente
    Para um vector de pesos w=(w1, w2, …, wn), a fórmula de actualização dos pesos da regra da descida do gradiente é dada por
    onde:
    • l é o factor de aprendizagem - uma constante em ]0; 1] que ajuda a que o algoritmo não pare num mínimo local
    • E(w) é o gradiente da função do erro E(w) definido por
    Logo, para aplicar este método precisamos de calcular o gradiente de E(w)(ver derivação no livro ML de Tom Mitchell)
  • BackpropagationInicialização
    Os pesos das ligações e o desvio (bias) associado a cada nó devem ser inicializados utilizando números pequenos e aleatórios, normalmente no intervalo [-1; 1].
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationPropagação dos valores de entrada
    Propagar os valores de entrada para a frente até obter um valor de saída (uma classificação não necessariamente correcta).
    Para cada nó j da camada de entrada:
    Para cada nó j de uma camada (oculta ou de saída) e para cada nó i da camada anterior:
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationRetropropagação do erro
    Calculam-se e retropropagam-se os erros cometidos na classificação de cada exemplo de treino, avançando da camada de saída para a camada de entrada.
    Para cada nó j da camada de saída o erro cometido ao classificar um dado exemplo de treino <x, y> é dado por:
    Para derivar esta fórmula precisamos de calcular a derivada parcial de E(w)para cada peso. Note que para a função logística:
    ver toda a derivação no livro ML de Tom Mitchell
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationRetropropagação do erro
    Para cada nó j das camadas ocultas o erro cometido é dado por:
    onde wjk é o peso associado à ligação que entra no nó kpartindo do nó j e ek é o erro associado a nó k previamente calculado
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationActualização dos pesos e desvios
    Os pesos e desvios devem ser actualizados usando a regra de descida do gradiente por forma a minimizar o EQMPara cada iteração k
    Cada pesowijé actualizado pela seguinte fórmula:
    Cada desvio jé actualizado pela seguinte fórmula:
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationCritério de Paragens
    Parar o algoritmo:
    quando as diferenças entre os pesos forem todas inferiores a um dado limite de tolerância.
    quando a percentagem de exemplos mal classificados for inferior a um dado valor.
    após um determinado numero de iterações.
    Aprendizagem Computacional Gladys Castillo, UA
  • BackpropagationCorpo do Algoritmo
    Enquanto critério de paragem não atingido:
    Para cada exemplo do conjunto de treino D
    1. Propagar Valores de Entrada
    • para camada de entrada:
    • para camadas ocultas e de saída:
    2. RetropropagarError
    • para camada de saída:
    • para camadas ocultas :
    3. Actualizar Pesos e Desvios
  • Exemplo
    Aprendizagem Computacional Gladys Castillo, UA
    Extraído do livro Data Mining - Concepts and Techniques, 2nd edition , J. Han and MichelineKamber
    Chapter 6.6. Classification by Backpropation
    Calcule os novos pesos sinápticos usando o algoritmo de backpropagation com a função de activação sigmoide, o factor de aprendizagem l=0.9 e o valor da classe observado y =1.
    1. Propagação dos valores de entrada
    o valor predito
  • Exemplo (continuação)
    Aprendizagem Computacional Gladys Castillo, UA
    2. Retropropagação do erro
    3. Actualizar pesos e desvios
  • Aprendizagem Computacional , Gladys Castillo
    References
    Capítulo 4 - Artificial Neural Networks do livro de Tom Mitchell, Machine Learning , McGrau Hill (1997)
    Capítulo 6.6 do livro Data Mining - Concepts and Techniques,J. Han.  Morgan Kaufmann (2006)
    Capítulos 5 do livro Introduction to Data Mining  P. Tan, M.Steinbach, V.Kumar
    Acetatos “ClassificadoresLineares” de Luis Oliveira
    On-line: www.ppgia.pucpr.br/~soares/cursos/recpad2/public/classificadoreslineares.pdf