lesson 6: neural networks
TRANSCRIPT
Aprendizagem Computacional Gladys Castillo, UA
Chapter 6
Redes Neuronais(Neural Networks)
2Aprendizagem Computacional Gladys
Castillo, UA
Classificadores LinearesSe 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
Figura extraídas dos acetatos de Luis Oliveira, Classificadores
Lineares
x1, x2 - 2 variáveis preditoras
C = {class1, class2} – 2 classes
f: x1 x2 C
Para um novo exemplo x:
se g(x) > 0 f(x) = class1
se g(x) < 0 f(x) = class2
3Aprendizagem 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
Figura extraídas dos acetatos de Aluizio F. R. Araújo, Máquinas de Vectores Suporte
linearmenteseparável
linearmentenão separável
4Aprendizagem Computacional Gladys
Castillo, UA
IRIS Data (Fisher, 1936)
3 classes setosa versicolor virginica
4 atributos comprimento da pétala largura da pétala comprimento da sépala largura da sépala
Problema clásico de classificação das flores iris.
On-line no UCI Machine Learning Repository http://www.ics.uci.edu/~mlearn/MLRepository.html
O conjunto de dados contêm 50 exemplos por cada classe
5Aprendizagem Computacional Gladys
Castillo, UA
Classificadores Lineares e Não LinearesIris Data (Fisher, 1936)
Discriminante Linear Árvore de Decisão
Gaussian mixture Kernel method (SVM)
setosa
x setosaO virginica+ versicolor
Figure from Norbert Jankowski and Krzysztof Grabczewski
6Aprendizagem Computacional Gladys
Castillo, UA
Fronteira de Decisão Linear
-0.50
0.5-0.5
00.5
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
X1X2
X3
x1x2
x3
A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
x1
x2
A fronteira de decisão linear está definida pelos hiperplanos que separam as classes
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
7Aprendizagem Computacional , Gladys Castillo
Fronteiras de Decisão Não Linear
x1
x2
-0.5
0
0.5
-0.5
0
0.5-0.5
0
0.5
Hs.128749Hs.234680
Hs.
7780
x1x2
x3
Funções não lineares separam as classes
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
8Aprendizagem Computacional Gladys
Castillo, UA
x1
x2
Fit / Robustness Tradeoff
x1
x2
15
O que será melhor: a fronteira linear ou não linear?
Figuras extraídas de “Introduction to Machine Learning”, Isabelle Guyon
9Aprendizagem Computacional Gladys
Castillo, UA
Classificadores Lineares
onde: w - vector de pesos determina a orientação do hiperplano b – desvio (bias)
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”
Hiperplano de Classificação: g(x) = w x + b = 0 fronteira de decisão linear
0bx wse 1
0b wse1)(ˆ
xxfyClassificador Linear
Binário :
Figura extraídas dos acetatos de Luis Oliveira, Classificadores
Lineares
10Aprendizagem Computacional Gladys
Castillo, UA
Classificadores LinearesSoluções possíveis
B2
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)
11Aprendizagem Computacional Gladys
Castillo, UA
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
Classificadores Lineares
Figura extraída dos acetatos de Introduction to Data Mining P. Tan, M.Steinbach,
V.Kumar
12Aprendizagem Computacional Gladys
Castillo, UA
Redes Neuronais Artificiais (RNAs)
Outro nome: modelos conexionistas
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.
Modelo distribuído de computação paralela com alto nível de granularidade
13Aprendizagem Computacional Gladys
Castillo, UA
nós de entrad
a
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
14Aprendizagem Computacional Gladys
Castillo, UA
Modelo de um Neurónio Artificial
)sign(yn
0ikii xw
Neurónio = processador de informação
recebe 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 = j wj 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)
x1
x2
xn
-1
w1
w2
wn
t
axon
limiar (threshold)
Entr
adas dendritas
função de activação
f( ) y
sinapsis(pesos)
saída
somatóriapesada
x1
x2
xn
-1
w1
w2
wn
t
axon
limiar (threshold)
Entr
adas dendritas
função de activação
f( ) y
sinapsis(pesos)
saída
somatóriapesada
y = f(w x – t) = f(j wj xj – t)
15Aprendizagem Computacional Gladys
Castillo, UA
Perceptron
função de activação: a função sinal
X1
X2
X3
Y
Black box
w1
t
Outputnode
Inputnodes
w2
w3
otherwise1
0 t . if1)(
xwtxwsigny
iii
Um perceptron é um classificador linear binário, ou seja, uma função
f: X Y que mapea um vector binário x a um valor binário y
O modelo mais simples das RNAs concebido em 1957 no Cornell Aeronautical Laboratory por Frank Rosenblatt.
Modelo simples de um neurónio artificial
Modelo geral com vários outputs onde cada
output é modelado com o modelo do neurónio
simples)
16Aprendizagem Computacional Gladys
Castillo, UA
RNAs - Modelo Caixa Preta (Black-Box)
x 1 x 2 x 3 y1 0 0 01 0 1 11 1 0 11 1 1 10 0 1 00 1 0 00 1 1 10 0 0 0
x 1
x 2
x 3
y
Black box
Output
Input
X1
X2
X3
Y
Black box
w1
t
Outputnode
Inputnodes
w2
w3
Conjunto de Treino
Aprender um Perceptron dos dados
significa aprender os pesos que melhor ajustem o
modelo oculto nos dados
17Aprendizagem Computacional Gladys
Castillo, UA
Perceptron Modelação de uma função booleana
)4.03.03.03.0(ˆ 321 xxxsignyo valor de y é true se pelo menos 2 inputs são true
Função alvo: (target function) Modelação com Perceptron
A aprendizagem do perceptron sempre tem sucesso em tempo finito para um conjunto de treino finito e separável de exemplos
de treino
18Aprendizagem Computacional Gladys
Castillo, UA
PerceptronFronteira de Decisão Linear
O perceptron é usado para conjunto
de treinos linearmente separáveis
19Aprendizagem 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)
XOR(x1, x2) = true se e só se um dos inputs é true(note que true = 1, false = -1)
OU exclusivo
20Aprendizagem Computacional Gladys
Castillo, UA
Os exemplos podem ser classificados usando 2 hiperplanos que dividem o espaço dos atributos (input space) em suas
respectivas classes
RNA de Duas Camadas Problema XOR (ou exclusivo)
2 nós de entrada, 2 ocultos e um de saída
21Aprendizagem Computacional , Gladys Castillo
Fronteiras de decisãoPerceptron vs. RNAs com 1 e 2 Camadas Ocultas
Figura extraída de Redes Neuronais, Pedro Larrañaga et al.
22Aprendizagem Computacional Gladys
Castillo, UA
RNAs multi-camadas Feed-Forward
Activationfunction
g(Si )Si Oi
I1
I2
I3
wi1
wi2
wi3
Oi
Neuron iInput Output
threshold, t
InputLayer
HiddenLayer
OutputLayer
x1 x2 x3 x4 x5
yFeed-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.
Podem existir várias camadas
ocultas
23
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 i e j é associado um
peso wij
A cada nó i é associado um desvio (viés, bias) i
24
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.
Aprendizagem Computacional Gladys Castillo, UA
)( ji
iijj IwfO S
desvio
funçãode activação
f( ) y
sinapsis(pesos)
saída
funçãode activação
f( ) Oj
sinap(pesos)
saída
I1
j
I2
In w nj
w2j
w1j
25Aprendizagem 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)
xexf
1
1)(
26Aprendizagem Computacional Gladys
Castillo, UA
Algoritmo de Aprendizagem “Backpropagation”
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
2
1
)ˆ(1
i
N
ii yy
NEQM
Aprender uma RNA dos dados significa aprender os pesos das ligações
EQM é o MSE abreviado do termo em inglês (mean squared error)
Paul Werbos, 1974
27
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
28
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. Retropropagar Error (caminhando da camada de saída para a camada de entrada)
3. Actualizar Pesos (usando a regra de descida do gradiente)
29Aprendizagem 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)
30Aprendizagem 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 )(' www El 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
221
,...,,)(w
E
w
E
w
EE w
Logo, para aplicar este método precisamos de calcular o gradiente de E(w)
(ver derivação no livro ML de Tom Mitchell)
31
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
32
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
ji
iijj OwI
jj IO
jIjje
IfO
1
1)(
33
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:
Aprendizagem Computacional Gladys Castillo, UA
))(1( jjjj OyOOe
ver toda a derivação no livro ML de Tom Mitchell
)(1)(()1(
)('2
xfxfe
exf
x
x
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:
)1()(' e )( jjjjj OOIfIfO
34
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ó k
partindo do nó j e ek é o erro associado a nó k previamente calculado
Aprendizagem Computacional Gladys Castillo, UA
k
kjkjjj ewOOe )1(
35
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 EQM
Para cada iteração k Cada peso wij é actualizado pela seguinte fórmula:
Cada desvio j é actualizado pela seguinte fórmula:
Aprendizagem Computacional Gladys Castillo, UA
)()()1()( ki
kj
kij
kij Oelww
)()1()( kj
kj
kj el
36
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
37
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. Retropropagar Error
• para camada de saída:
• para camadas ocultas :
3. Actualizar Pesos e Desvios
ji
iijj OwI jj IO
jIjje
IfO
1
1)(
))(1( jjjj OyOOe
k
kjkjjj ewOOe )1(
)()()1()( ki
kj
kij
kij Oelww )()1()( k
jk
jk
j el
38
Exemplo
Aprendizagem Computacional Gladys Castillo, UA
Extraído do livro Data Mining - Concepts and Techniques, 2nd edition , J.
Han and Micheline KamberChapter 6.6. Classification by Backpropation
o valor predito
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
39
Exemplo (continuação)
Aprendizagem Computacional Gladys Castillo, UA
2. Retropropagaçã
o do erro
3. Actualizar pesos e desvios
40Aprendizagem 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 “Classificadores Lineares” de Luis Oliveira
On-line: www.ppgia.pucpr.br/~soares/cursos/recpad2/public/classificadoreslineares.pdf