Você está na página 1de 12

11/10/2012

Mineração de Dados em
Biologia Molecular Principais tópicos
Redes Neurais Artificiais Introdução
Arquitetura
Aprendizado
Principais modelos
André C. P. L. F. de Carvalho Perceptron
Monitor: Valéria Carvalho MLP
SVMs
André Ponce de Leon de Carvalho 2

Redes Neurais Neurônio Natural


Um neurônio simplificado:
Sistemas distribuídos inspirados no
Dendritos
cérebro humano Axônio
Compostas por várias unidades de
processamento (“neurônios”)
Interligadas por um grande número de
conexões (“sinapses”)
Sinal
Corpo
Eficientes em várias aplicações
Sinapse
André Ponce de Leon de Carvalho 3 André Ponce de Leon de Carvalho 4

Neurônio artificial Conceitos básicos


Modelo de um neurônio abstrato Principais aspectos das RNA
Entradas Pesos Saída Arquitetura
Unidades de processamento (neurônios)
Conexões
w f Topologia
Aprendizado
w f Algoritmos
Sinal Paradigmas

André Ponce de Leon de Carvalho 5 André Ponce de Leon de Carvalho 6

1
11/10/2012

Unidades de processamento Conexões


Funcionamento
Recebe entradas de conjunto de unidades A
Definem como neurônios estão
Aplica função sobre entradas
interligados
Envia resultado para conjunto de unidades B Codificam conhecimento da rede
Entrada total x1 Tipos de conexões:
Excitatória: (wik(t) > 0)
m x2 f (∑xiwi)
u = ∑ xi wi Inibitória: (wik(t) < 0)
i =1 xm
André Ponce de Leon de Carvalho 7 André Ponce de Leon de Carvalho 8

Topologia Topologia
Arranjo das conexões
Número de camadas
Uma camada (Ex Perceptron, Adaline)
Multi-camadas (Ex MLP, RBF) RN RN

Feedforward Recorrente

Completamente Parcialmente Localmente

André Ponce de Leon de Carvalho 9 André Ponce de Leon de Carvalho 10

Aprendizado Aprendizado

Algoritmos de aprendizado Paradigmas de aprendizado


Conjunto de regras bem definidas para Como a RNA se relaciona com o ambiente
ensinar a rede a resolver um dado problema externo
Principais grupos Principais tipos
Supervisionado
Correção de erro
Não supervisionado
Hebbiano
Reforço
Competitivo
Termodinâmico (Boltzmann) Híbrido

André Ponce de Leon de Carvalho 11 André Ponce de Leon de Carvalho 12

2
11/10/2012

Tipos de atributos Perceptron


Redes Neurais trabalham apenas com
Desenvolvida por Rosemblat, 1958
números
Não aceitam dados categóricos Utiliza modelo de neurônio de McCulloch-
Precisam ser convertidos Pitts
Dificuldade para lidar diretamente com Formularam matematicamente neurônios
imagens naturais
Precisa ser pré-processadas Rede mais simples para classificação de
padrões linearmente separáveis

André Ponce de Leon de Carvalho 13 André Ponce de Leon de Carvalho 14

Perceptron Perceptron
Resposta / saída da rede
Treinamento
Supervisionado Aplica função limiar sobre soma total de
Correção de erro entrada recebida por um neurônio
wi(t)= wi(t-1) + ∆wi m f(u-θ)
∆wi = ηxi(y – f(x)) u = ∑ xi wi
Induz hipótese ou função f(x) i =1
u-θ
Rosemblat provou teorema de convergência  + 1 if u ≥ θ
Se é possível induzir um classificador um conjunto f (u ) = 
- 1 if u < θ
f(u-θ) = sinal (u-θ)
de entradas, uma rede Perceptron induzirá f(x) = f(u-θ)

André Ponce de Leon de Carvalho 15 André Ponce de Leon de Carvalho 16

Algoritmo de treinamento Exemplo

1 Iniciar todas as conexões com wi = 0 Dada uma rede Perceptron com:


2 Repita Três entradas, pesos iniciais w1 = 0.4, w2 =
Para cada par de treinamento (X, y) -0.6 e w3 = 0.6, e limiar (viés) θ = 0.5:
Calcular a saída f(x) Ensinar a rede com os exemplos (001, -1) e
(110, +1)
Se (y ≠ f(x)) Utilizar taxa de aprendizado η = 0.4
Então Definir a classe dos exemplos: 111, 000, 100 e
Atualizar pesos do neurônio 011
Até o erro ser aceitável

André Ponce de Leon de Carvalho 17 André Ponce de Leon de Carvalho 18

3
11/10/2012

Exemplo Exemplo - treinamento


a) Treinar a rede
w1 a.1) Para o exemplo 001 (y = -1)
x1 Passo 1: definir a saída da rede
u-θ = -1(0.5) + 0(0.4) + 0(-0.6) + 1(0.6) = 0.1
w2 f(x) = +1 (uma vez 0.1 ≥ 0)
f(x) Situação
x2 Passo 2: atualizar pesos (y ≠ h(x))
desejada -1 w0 = 0.5 + 0.4(-1)(-1 - (+1)) = 1.3
w3 -1 w1 = 0.4 + 0.4(0)(-1 - (+1)) = 0.4
001
w2 = -0.6 + 0.4(0)(-1 - (+1)) = -0.6
x3 001 w3 = 0.6 + 0.4(1)(-1 - (+1)) = -0.2
Viés 110
+1
110
+1
André Ponce de Leon de Carvalho 19 André Ponce de Leon de Carvalho 20

Exemplo - treinamento Exemplo - treinamento


a) Treinar a rede a) Treinar a rede
a.2) Para o exemplo 110 (y = +1) a.3) Para o exemplo 001 (y = -1)
Passo 1: definir a saída da rede Passo 1: definir a saída da rede
u-θ = -1(1.3) + 1(0.4) + 1(-0.6) + 0(-0.2) = -1.5 u -θ = -1(0.5) + 0(1.2) + 0(0.2) + 1(-0.2) = -0.7
f(x) = -1 (uma vez -1.5 < 0) f(x) = -1 (uma vez -0.7 < 0)
-1 Passo 2: atualizar pesos (y ≠ f(x)) -1 Passo 2: atualizar pesos (y = f(x))
w0 = 1.3 + 0.4(-1)(1 - (-1)) = 0.5 Como y = f(x), os pesos não precisam ser
001 w1 = 0.4 + 0.4(1)(1 - (-1)) = 1.2 001 modificados
w2 = -0.6 + 0.4(1)(1 - (-1)) = 0.2
w3 = -0.2 + 0.4(0)(1 - (-1)) = -0.2
110 110
+1 +1

André Ponce de Leon de Carvalho 21 André Ponce de Leon de Carvalho 22

Exemplo - treinamento Exemplo - teste


a) Treinar a rede Utilizar a rede treinada para classificar
a.4) Para o exemplo 110 (y = +1) os exemplos 111, 000, 100 e 011
Passo 1: definir a saída da rede
u-θ = -1(0.5) + 1(1.2) + 1(0.2) + 0(-0.2) = +0.7
f(x) = +1 (uma vez 0.7 > 0)
-1 Passo 2: atualizar pesos (y = f(x))
Como y = f(x), os pesos não precisam ser
001 modificados

110
+1

André Ponce de Leon de Carvalho 23 André Ponce de Leon de Carvalho 24

4
11/10/2012

Exemplo - teste Exemplo - teste


b) Testar a rede b) Testar a rede
b.1) Para o exemplo 111 b.3) Para o exemplo 100
u-θ = -1(0.5) + 1(1.2) + 1(0.2) + 1(-0.2) = 0.7 u-θ = -1(0.5) +1(1.2) + 0(0.2) + 0(-0.2) = 0.7
f(x) = 1 (porque 0.7 ≥ 0) ) ⇒ classe +1 f(x) = 1 (porque 0.7 ≥ 0) ⇒ classe +1

b.2) Para o exemplo 000 b.4) Para o exemplo 011


u-θ = -1(0.5) + 0(1.2) + 0(0.2) + 0(-0.2) = -0.5 u-θ = -1(0.5) + 0(1.2) + 1(0.2) + 1(-0.2) = -0.5
f(x) = -1 (porque -0.5 < 0) ⇒ classe -1 f(x) = -1 (porque -0.5 < 0) ⇒ classe -1

André Ponce de Leon de Carvalho 25 André Ponce de Leon de Carvalho 26

Exercício Exercício
Seja o seguinte cadastro de pacientes: Ensinar uma rede do tipo Perceptron a
distinguir:
Nome Febre Enjôo Manchas Dores Diagnóstico Pacientes potencialmente saudáveis
Pacientes potencialmente doentes
João sim sim pequenas sim doente
Pedro não não grandes não saudável Testar a rede para novos casos
Maria não sim pequenas não saudável
(Luis, não, não, pequenas, sim)
José sim sim grandes sim doente
Ana sim não pequenas sim saudável (Laura, sim, sim, grandes, sim)
Leila não não grandes sim doente

André Ponce de Leon de Carvalho 27 André Ponce de Leon de Carvalho 28

Problemas com Perceptron Rede Multi-Layer Perceptron

0, 0 →0 Arquitetura de RNA mais utilizada


0, 1 →1 Uma ou mais camadas intermediárias de neurônios
1, 0 →1 Funcionalidade
1, 1 →0 Uma camada intermediária: qualquer função contínua
ou Booleana
Duas camadas intermediárias: qualquer função

1 Originalmente treinada com o algoritmo


Backpropagation

André Ponce de Leon de Carvalho 29 André Ponce de Leon de Carvalho 30

5
11/10/2012

MLP e Backpropagation Backpropagation


camadas
intermediárias
Treina a rede com pares entrada-saída
camada Cada vetor de entrada é associado a uma saída
camada de
de desejada
entrada
saída
Treinamento em duas fases, cada uma
percorrendo a rede em um sentido
Fase forward Sinal (forward)
Fase backward

conexões
Erro (backward)
André Ponce de Leon de Carvalho 31 André Ponce de Leon de Carvalho 32

Backpropagation Backpropagation
Procura reduzir os erros cometidos pela Procura reduzir os erros cometidos pela
rede rede
Utiliza erro para ajustar valor dos pesos Utiliza erro para ajustar valor dos pesos
Erro de cada neurônio Erro de cada neurônio
Camada de saída Camada de saída
Saída desejada - saída produzida Saída desejada - saída produzida
Camadas intermediárias ??? Camadas intermediárias
Proporcional aos erros dos neurônios da camada
seguinte conectados a ele

André Ponce de Leon de Carvalho 33 André Ponce de Leon de Carvalho 34

Backpropagation Backpropagation
Treinamento Ajuste dos pesos
Supervisionado ∆wij = ηxiδj
Procura na superfície de erro onde o valor do  f ´erro j se j for camada de saída
δj =
erro é mínimo  f ´∑ w jk δ k se j for camada intemediária
Gradiente 1 c
erro j = ∑ ( y q − f ( x) q )
2 q =1

Se f for uma função sigmoidal, f´(x) = f(x)(1–f(x)


Treinamento não é garantido de convergir

André Ponce de Leon de Carvalho 35 André Ponce de Leon de Carvalho 36

6
11/10/2012

Backpropagation Treinamento
Iniciar todas as conexões com valores aleatórios
Função de ativação Repita
Não linear erro = 0
Para cada par de treinamento (X, y)
Diferenciável , contínua e, geralmente, não
Para cada camada k := 1 a N
decrescente Para cada neurônio j := 1 a Mk
Sigmoidal Calcular a saída fkj(x)
f(x) = 1/(1 + e- uj(t)) (sigmoid logística) Se k= N
Calcular soma dos erros de seus neurônios
f(x) = (1 - e-uj(t)) (tangente hiperbólica) Se erro > ε
(1 +e-uj (t)) Para cada camada k := N a 1
Para cada neurônio j:= 1 a Mk
Atualizar pesos
Até erro < ε (ou número máximo de ciclos)
André Ponce de Leon de Carvalho 37 André Ponce de Leon de Carvalho 38

Treinamento modificando pesos Treinamento modificando pesos


camadas camadas
intermediárias intermediárias
camada de camada camada de camada
entrada de entrada de
saída saída

conexões conexões

André Ponce de Leon de Carvalho 39 André Ponce de Leon de Carvalho 40

Treinamento modificando pesos Treinamento modificando pesos


camadas camadas
intermediárias intermediárias
camada de camada camada de camada
entrada de entrada de
saída saída

conexões conexões

André Ponce de Leon de Carvalho 41 André Ponce de Leon de Carvalho 42

7
11/10/2012

Treinamento modificando pesos Treinamento modificando pesos


camadas camadas
intermediárias intermediárias
camada de camada camada de camada
entrada de entrada de
saída saída

conexões conexões

André Ponce de Leon de Carvalho 43 André Ponce de Leon de Carvalho 44

Treinamento modificando fronteiras Treinamento modificando fronteiras

André Ponce de Leon de Carvalho 45 André Ponce de Leon de Carvalho 46

Treinamento modificando fronteiras Treinamento modificando fronteiras

André Ponce de Leon de Carvalho 47 André Ponce de Leon de Carvalho 48

8
11/10/2012

Treinamento modificando fronteiras Exercício


Dada a rede abaixo, que recebe como entrada um vetor
binário de n bits e gera como saída um valor binário:
a) Indicar a função implementada pela rede abaixo:
b) Explicar papel de cada neurônio no processamento da função

+1 -0.5
bias
-1
Considerar função de
-0.5 -1.5 -2.5 0.5-n
ativação limiar (threshold)
entrada/saída binária

André Ponce de Leon de Carvalho 49 André Ponce de Leon de Carvalho 50

Exercício MLPs como classificadores


Paridade Classe A
Classe B
Classe A
Classe B
Classe A
Classe B

Uma das limitações do Perceptron


levantadas por Minsky e Papert
Problema difícil
Padrões mais semelhantes requerem
respostas diferentes
Usa n unidades intermediárias para
detectar paridade em vetores com n bits

André Ponce de Leon de Carvalho 51 André Ponce de Leon de Carvalho 52

Regiões convexas Combinações de regiões convexas

Aberta Aberta Aberta

Fechada Fechada Fechada


André Ponce de Leon de Carvalho 53 André Ponce de Leon de Carvalho 54

9
11/10/2012

Combinações de regiões Combinações de regiões


convexas convexas
Encontrar fronteiras de decisão que separem Encontrar fronteiras de decisão que separem
os dados abaixo: os dados abaixo:

André Ponce de Leon de Carvalho 55 André Ponce de Leon de Carvalho 56

Exercício Unidades intermediárias


Quantas camadas e pelo menos quantos nodos
Número de camadas intermediárias
em cada camada possui a rede que divide o
espaço de entradas das formas abaixo: necessárias
Funcionalidade desejada
Número de neurônios por camada
Distribuição dos dados
Early stop
classe 1 classe 1 Poda
classe 2 classe 2
André Ponce de Leon de Carvalho 57 André Ponce de Leon de Carvalho 58

Ajuste dos pesos Variações do backpropagation


Por exemplo (online) Momentum
Por ciclo (batch) Quickprop
Após apresentação de todos os exemplos de Newton
treinamento (ciclo)
Levenberg Marquardt
Melhor alternativa depende da aplicação Super Self-Adjusting Backpropagation
Weight decay (superSAB)
Métodos de gradiente conjugado
André Ponce de Leon de Carvalho 59 André Ponce de Leon de Carvalho 60

10
11/10/2012

Backpropagation Momentum Deep Networks


Treinamento Redes neurais em geral têm 1 ou 2
Supervisionado camadas intermediárias
wij(t)= wij(t-1) + ∆wij + momentum Mais camadas levam a soluções pobres
∆wij = ηxiδj Complexidade em teoria de circuitos
Momentum = α(wij(t-1) - wij(t-2))
Sugere que arquiteturas produndas podem
Aceleração
ser muito mais eficientes
Quando tarefa é complexa e existem dados
suficientes para capturar essa complexidade
Necessidade de algoritmos apropriados
André Ponce de Leon de Carvalho 61 André Ponce de Leon de Carvalho 62

Deep Networks Outras redes


Abordagens para treinamento Adaline
Adicionar camadas construtivamente RBF
Cada camada transforma entrada da camada
anterior
SOM
Torna tarefa de aprendizado cada vez mais fácil GNG
Utilizar aprendizado não suprevisionado ART
para cada camada
TDNN
Treinar a rede toda de uma vez
SVM ?
63 André Ponce de Leon de Carvalho 64

Máquinas de Vetores de Suporte (SVMs) Máquinas de Vetores de Suporte (SVMs)


Baseadas na Teoria do Aprendizado
Estatístico Rede Neural SVMs

Vapnik e Chervonenkis em 1968


Estratégia básica
Encontrar um hiperplano que maximize
margem de separação (margem larga) γ
Distância a um conjunto de “vetores de suporte” γ
Reduz erro de generalização
Minimização do risco estrutural

11/10/2012 André de Carvalho - ICMC/USP 65 11/10/2012 André de Carvalho - ICMC/USP 66

11
11/10/2012

Máquinas de Vetores de Suporte (SVMs) Variáveis de folga


Vetores de suporte
“os pontos críticos” Slack variables

Hiperplano separador
Margem máxima ótimo
11/10/2012 André de Carvalho - ICMC/USP 67 André Ponce de Leon de Carvalho 68

Máquinas de Vetores de Suporte (SVMs) Fronteiras mais complexas


Problemas lineares
Generalização para problemas não lineares
Mapeamento de dados de entrada para um espaço de
maior dimensão utilizando funções kernel
Φ

Kernel Espaço de entradas Espaço de características

11/10/2012 André de Carvalho - ICMC/USP 69 André Ponce de Leon de Carvalho 70

Conclusão Perguntas
Redes Neurais
Sistema nervoso
Muito utilizadas em problemas reais
Várias arquiteturas e algoritmos
Magia negra
Caixa preta

André Ponce de Leon de Carvalho 71 André Ponce de Leon de Carvalho 72

12

Você também pode gostar