Redes Neurais - inf.ufrgs.brengel/data/media/file/cmp121/bp.pdf · O MLP e o algoritmo ... valor de...
Transcript of Redes Neurais - inf.ufrgs.brengel/data/media/file/cmp121/bp.pdf · O MLP e o algoritmo ... valor de...
Redes Neurais
Prof. Paulo Martins Engel
Redes MulticamadasO MLP e o algoritmo Backpropagation
Informática
UFRGS Prof. Paulo Martins Engel
2
Redes multicamadas e o MLP• Problemas não-linearmente separáveis podem ser resolvidos por redes que tenham pelo
menos uma camada intermediária (oculta) para transformar o problema (em LS).• O MLP (Multilayer Perceptron), ou perceptron multicamadas, utiliza nós com o modelo
não-linear de neurônio e apresenta uma topologia com pelo menos 3 camadas:• Camada de entrada: com neurônios sensoriais; distribui o vetor de entrada para todos
os neurônios da camada oculta;• Camada oculta: com neurônios computacionais; realiza um mapeamento intermediário
do problema, gerando vetores linearmente separáveis para a camada de saída;• Camada de saída: composta de neurônios computacionais; realiza a rotulação das
classes ou o mapeamento desejado. • Alternativamente, o mapeamento intermediário do problema pode ser realizado por
sucessivas camadas ocultas.• Qualquer função contínua pode ser aproximada por um MLP de 3 camadas, com um
número suficiente de neurônios na camada oculta (aproximador universal).• Esta mesma propriedade pode ser provada para redes multicamadas com unidades RBF.
Informática
UFRGS Prof. Paulo Martins Engel
3
Camada de entrada
Camadaoculta
Camada de saída
A topologia do Perceptron de Múltiplas Camadas MLP
1
k
M
yk(n)wsk1
wskj
wskL
11
N
i j
L
woj1
woji
wojN
x1(n)
xi(n)
xN(n)
woj0
x0 =1 i0=1
wsk0
ij(n) : valor de saída do neurônio genérico (j) da camada oculta gerado por x(n).yk(n): valor de saída do neurônio genérico (k) da camada de saída gerado por x(n).dk(n): valor de saída desejado do neurônio k correspondente a x(n). wo
ji e wskj : pesos genéricos da camada oculta e de saída, respectivamente.
dk(n)
d1(n)
dM(n)
x1(n)
xi(n)
xN(n)
i1(n)
ij(n)
iL(n)
y1(n)
yM(n)
x(n)
Informática
UFRGS Prof. Paulo Martins Engel
4
Problema NLS
Problema LS com ruído
Solução por MLP
Informática
UFRGS Prof. Paulo Martins Engel
5
• A tabela-verdade da função booleana XOR induz uma partição que não érealizável por meio de uma única reta.
• Assim, este problema é não-linearmente separável e um perceptron elementar não o consegue resolver.
O problema do XOR
x1 x2
−1 −1−1 +1+1 −1+1 +1
−1+1+1−1
x(1)x(2)x(3)x(4)
x1⊕x2
x(1)
x(4)
x(3)
x(2)
Informática
UFRGS Prof. Paulo Martins Engel
6
Solução do problema do XOR por MLPAs funções booleanas XOR e EQV são não-linearmente separáveis e podem ser implementadas por perceptrons de múltiplas camadas, MLP.A solução do problema é equivalente a ajustar os pesos dos neurônios ocultos de modo a corresponder a mapeamentos intermediários em i1 e i2, que tornam o problema linearmente separável para a camada de saída.
x1
x2
x0
x0
y1
23
i0i1
i2
Exemplo de solução possível:x1 x2 d
–1 –1–1 +1+1 –1+1 +1
–1+1+1–1
i1 i2
–1 –1+1 –1–1 +1–1 –1
i1 = ( x1∧ x2)
i2 = (x1∧x2)
y = ( i1∨ i2 )
Equivale à transformação: x1 ⊕ x2 = ( x1 ∧ x2) ∨ (x1 ∧ x2)
Informática
UFRGS Prof. Paulo Martins Engel
7
Representação gráfica da solução do problema do XOR
–1 –1+1 –1–1 +1–1 –1
x1 x2 d–1 –1–1 +1+1 –1+1 +1
–1+1+1–1
i1 i2
x1
x2
−1
(+1,−1)
(+1,+1)(−1,+1)
(−1,−1)
+1
i1 = ( x1∧ x2)
−1
−1
x1
x2
(+1,−1)
(+1,+1)(−1,+1)
(−1,−1)
i2 = (x1∧x2)
−1+1
−1 −1
y = ( i1∨ i2 )
Informática
UFRGS Prof. Paulo Martins Engel
8
Representação gráfica da solução do problema do XOR
–1 –1+1 –1–1 +1–1 –1
x1 x2 d–1 –1–1 +1+1 –1+1 +1
–1+1+1–1
i1 i2
x1
x2
-1 +1
(+1,-1)
(+1,+1)
(-1,+1)
(-1,-1)
+1 -1
i1 = ( x1∧ x2)
i2 = (x1∧x2)
-1 -1
-1 -1
i1
i2
Classe: +1
Classe: –1
(+1,−1)
(+1,+1)(−1,+1)
(−1,−1)
y = ( i1 ∨ i2 )
y = ( i1∨ i2 )
Informática
UFRGS Prof. Paulo Martins Engel
9
Mapeamento de entrada-saída da solução do problema do XOR
–1 –1+1 –1–1 +1–1 –1
x1 x2 d–1 –1–1 +1+1 –1+1 +1
–1+1+1–1
i1 i2
x1 ⊕ x2 = ( x1 ∧ x2) ∨ (x1 ∧ x2)
Informática
UFRGS Prof. Paulo Martins Engel
10
• O processamento de informação em MLPs acontece em duas fases:
• a fase de propagação, onde o sinal de entrada é propagado através de toda a rede, camada por camada, gerando inicialmente os valores de saída dos neurônios da camada oculta, que servem de entrada para a camada de saída, e finalmente, gerando os valores de saída da rede.
• Esta fase é responsável pela atuação da rede e, portanto, ocorre on-line.
• a fase de adaptação, onde ocorrem os ajustes dos pesos da rede. • Nesta fase, o fluxo de informação se dá da camada de saída em direção à camada de
entrada. • As diferenças entre os valores de saída da rede e os valores desejados causam
parcelas individuais de erro para cada neurônio, que são usadas para corrigir os pesos, segundo o algoritmo backpropagation.
• Esta fase é utilizada apenas durante o treinamento da rede, que é realizado off-line, ou seja, sem que a rede atue no ambiente.
O processamento de informação na rede MLP
Informática
UFRGS Prof. Paulo Martins Engel
11
A fase de propagação
• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).
x(n)
x1(n)
x2(n)
x0 = 1
x1(n)
x2(n)
i(n)
i0 = 1
i1(n)
i2(n)
i3(n)
wo20
1
2
2
1
3
1
2
wo12
wo21
wo22
wo32
wo31
ws10
ws13
ws24
ws20
wo30
wo10
wo11
ws11
ws12
ws21
ws23
y(n)
y2(n)
y1(n)
Informática
UFRGS Prof. Paulo Martins Engel
12
A fase de propagação• Nesta fase, os sinais de entrada, correspondentes às componentes do vetor de
entrada x(n), são propagados pela rede gerando as saídas intermediárias i(n) e as saídas da rede y(n).
• O potencial de ativação voj(n) e o valor de saída ij(n) de um neurônio genérico (j) da
camada oculta causados pelo vetor de entrada x(n) são calculados por:
yk(n) = f (vsk(n))
vsk(n) = Σ ws
kj · ij(n)j=0
L
voj(n) = Σ wo
ji · xi(n) i=0
N
ij(n) = f (voj(n))
• Analogamente, o potencial de ativação vsk(n) e o valor de saída yk(n) de um neurônio
genérico (k) da camada de saída para a entrada x(n) são calculados por:
Informática
UFRGS Prof. Paulo Martins Engel
13
• Os MLP são treinados pelo algoritmo de retropropagação de erros, que é baseado na regra delta de aprendizado por correção de erro [Paul Werbos 74].
• O algoritmo Backprop pode ser visto como uma generalização do algoritmo LMS desenvolvido para um único neurônio.
• Como existem vários neurônios na camada de saída, deve-se definir a soma instantânea dos quadrados dos erros em cada nó de saída da rede, E(n), quando o n-ésimo vetor de treinamento x(n) é apresentado na entrada da rede:
O algoritmo Backpropagation
e2k (n) = (dk(n) − yk(n) ) 2
Com o erro quadrado instantâneo na unidade k de saída definido por:
ek é o erro numa unidade de saída k, quando o vetor x(n) é propagado pela rede:
ek(n) = dk(n) − yk(n)dk(n) é a saída desejada, correspondente a x(n), e yk(n) é a saída instantânea obtida no neurônio de saída k, pela propagação de x(n).
E(n) = Σ e2k(n)
k=1
M12
Informática
UFRGS Prof. Paulo Martins Engel
14
Atualização dos pesos do MLP
• Assim como no algoritmo LMS, no algoritmo Backprop será usado o erro quadrado instantâneo na saída da rede, E(n), como função de custo a ser minimizada no processo iterativo.
• O desempenho do treinamento é medido pelo erro médio quadrado definido como a média dos erros instantâneos, para todos os P vetores de treinamento:
• As modificações dos pesos acontecem a cada apresentação de um padrão de entrada, x(n), segundo a regra do gradiente descendente (LMS).
• Cada peso é ajustado de acordo com a sua contribuição ao erro, de forma a produzir deslocamentos na direção do gradiente descendente do erro E(n).
• Observando o princípio da mínima perturbação, o erro médio quadrado será minimizado com este procedimento.
• A expressão genérica para ajuste dos pesos pode ser escrita como (regra delta):
EMQ =P
Σ E(n)n=1
1P
w(n+1) = w(n) + η (− ∇ E(n) ) ↔ ∆w(n) = − η ∇ E(n)
Informática
UFRGS Prof. Paulo Martins Engel
15
• Na camada de saída, a expressão para atualização de um peso genérico é análoga à do perceptron elementar, pois aqui um vetor de pesos ws
k (n) é responsável apenas pela parcela de erro correspondente ao seu neurônio k, isto é, ek(n).
Atualização dos pesos da camada de saída do MLP
1
L
i1(n)
i0=1
wsk1
1d1(n)
MiL(n)
x1 (n)
x0 = 1
xN (n) dM(n)
y1(n)wo11
woLN
φ(·)vs
1(n)
yM(n)φ(·)
vsM(n)
φ(·)vo
1(n)
φ(·)vo
L(n)
jij(n) ws
kj k dk(n)xi (n)yk(n)wo
jiφ(·)
vsk(n)
φ(·)vo
j(n)
wskL
wsk0
wsk(n) = [ ws
k0 , wsk1 , ⋅⋅⋅, ws
kj , ⋅⋅⋅, wskL ]T
e2k(n) = ( dk(n) − yk(n) )2 = ( dk(n) − f s(vs
k(n)) )2 = ( dk(n) − fs( i(n)T .wsk(n) ) )2
∑=
=M
kk nenE
1
2 )(21)(
E(n)
Informática
UFRGS Prof. Paulo Martins Engel
16
Cálculo de um termo do gradiente pela regra da cadeia
1
L
i1(n)
i0=1
wsk1
1 d1(n)
MiL(n)
x1 (n)
x0 = 1
xN (n) dM(n)
y1(n)
wo11
woLN
φ(·)vs
1(n)
yM(n)φ(·)
vsM(n)
φ(·)vo
1(n)
φ(·)vo
L(n)
jij(n) ws
kjk dk(n)xi (n)
yk(n)woji
φ(·)vs
k(n)φ(·)
voj(n)
wskL
wsk0
skj
sk
sk
skj w
nvnvnE
wnE
∂∂
∂∂
=∂
∂ )()()()(
E(n)
kj
sk
wnv
∂∂ )(
)()(
nvnE
sk∂
∂
skL
sk
sk
skL w
nvnvnE
wnE
∂∂
∂∂
=∂∂ )(
)()()(…
Informática
UFRGS Prof. Paulo Martins Engel
17
Cálculo de um termo do gradiente pela regra da cadeia
skj
sk
sk
skj w
nvnvnE
wnE
∂∂
∂∂
=∂
∂ )()()()(
E(n) = Σ e2k(n)
k=1
M12
ek(n) = dk(n) − yk(n) yk(n) = f (vsk(n))
( e21(n) + e2
2(n) + ⋅⋅⋅ + e2k(n) + ⋅⋅⋅ + e2
M(n) )= 12
vsk(n) = Σ ws
kj · ij(n)j=0
L
= wsk0 · i0(n) + ws
k1 · i1(n) + ⋅⋅⋅ + wskj · ij(n) + ⋅⋅⋅ + ws
kL · iL(n)
?)(=
∂∂
skjwnE
( ))()()()( nvfne
nvnE s
kksk
′−=∂∂ )(ns
kδ−≡
)()(
)()(
)()(
)()(
nvny
nyne
nenE
nvnE
sk
k
k
k
ksk ∂
∂∂∂
∂∂
=∂∂
jkj
sk iw
nv=
∂∂ )(
Informática
UFRGS Prof. Paulo Martins Engel
18
Atualização dos pesos da camada de saída do MLP
• Com isso, o (vetor) gradiente da função de custo do algoritmo BP para um neurônio k na camada de saída é:
• Para simplificar a notação, definimos o gradiente local δ sk(n) de um neurônio k da camada de saída como:
wsk (n + 1) = ws
k (n) + η δ sk(n) .i (n)
• Assim, a expressão para o ajuste do vetor de peso de um neurônio genérico na camada de saída do MLP depende diretamente do gradiente local do neurônio correspondente:
δ sk(n) ≡ ek(n) fs´ (vsk(n))
∂E(n)∂ ws
k (n)= – δ sk(n) . i(n)∇k E(n) =
wsk(n+1) = ws
k(n) + η (− ∇k E(n) )
Informática
UFRGS Prof. Paulo Martins Engel
19
Ajuste dos pesos da camada de saída
1
2
i1(n)
i0=1
ws11
1
2
d1(n)1
2i2(n)
x1 (n)
x0 = 1
x2 (n)
x1(n)
x2(n)d2(n)
y1(n)
y2(n)
ws10
ws12
ws20
ws21
ws22
wo10
wo11
wo12
wo20wo
21
wo22
δsk(n) ≡ (dk(n) − yk(n) ). (1 − yk(n)2 )
wskj (n + 1) = ws
kj (n) + η δsk(n) .ij (n)
δs1(n)
δs1(n) ≡ (d1(n) – y1(n) ). (1 – y1(n)2 )
δs2(n) ≡ (d2(n) – y2(n) ). (1 – y2(n)2 )
δs2(n)
Informática
UFRGS Prof. Paulo Martins Engel
20
• Um vetor de pesos woj (n) da camada oculta influencia todas as parcelas de erro na
saída da rede, por meio da saída do seu neurônio correspondente, ij(n).
Influência dos pesos da camada oculta no erro
e2k(n) = (dk(n) − yk(n))2 = (dk(n) − f s(vs
k(n)))2 = (dk(n) − fs (i(n)T ⋅ wsk (n)))2
1
L
i1(n)
i0=1
1d1(n)
MiL(n)
x1 (n)
x0 = 1
xN (n) dM(n)
y1(n)
woj0
woLN
φ(·)vs
1(n)
yM(n)φ(·)
vsM(n)
φ(·)vo
1(n)
φ(·)vo
L(n)
jws
kj k dk(n)xi (n)yk(n)wo
jiφ(·)
vsk(n)
φ(·)vo
j(n)
wsMj
ws1jwo
j1
wojN
ij(n)
ij(n) = fo (x(n)T ⋅ woj (n))
E(n) = Σ e2k(n)
k=1
M12
Informática
UFRGS Prof. Paulo Martins Engel
21
1
L
i1(n)
i0=1
1 d1(n)
MiL(n)
x1 (n)
x0 = 1
xN (n) dM(n)
y1(n)
woj0
woLN
φ(·)vs
1(n)
yM(n)φ(·)
vsM(n)
φ(·)vo
1(n)
φ(·)vo
L(n)
jws
kjk dk(n)xi (n)
yk(n)woji φ(·)
vsk(n)
φ(·)vo
j(n)
wsMj
ws1j
woj1
wojN
ij(n)
Cálculo de um termo do gradiente pela regra da cadeia
E(n)
oji
oj
oj
j
j
sM
sMj
sk
skj
s
soji w
nvnvni
inv
nvnE
inv
nvnE
inv
nvnE
wnE
∂
∂
∂
∂
∂∂
∂∂
++∂
∂∂∂
++∂
∂∂∂
=∂
∂ )()()()(
)()()(
)()()(
)()()( 1
1
LL
Informática
UFRGS Prof. Paulo Martins Engel
22
Cálculo de um termo do gradiente pela regra da cadeia
oji
oj
oj
j
j
sM
sMj
sk
skj
s
soji w
nvnvni
inv
nvnE
inv
nvnE
inv
nvnE
wnE
∂
∂
∂
∂
∂∂
∂∂
++∂
∂∂∂
++∂
∂∂∂
=∂
∂ )()()()(
)()()(
)()()(
)()()( 1
1
LL
• Mas como:
• Então:
)()()( n
nvnE s
ksk
δ−=∂∂ s
kjj
sk wi
nv=
∂∂ )( ( ))(
)()(
nvfnvni o
joj
j ′=∂
∂io
ji
oj xw
nv=
∂
∂ )(
( ) ( ) iojMj
sMkj
skj
soji
xnvfwwww
nE )()(11 ′−−−−−=
∂∂ δδδ LL
• Definindo:δo
j (n) ≡ Σk=1
M
δsk(n) ws
kj(n) fo′ (voj(n))
• Obtemos:= − δo
j (n) x(n)∂E(n)
∂ woj (n)
∇j E(n) ≡
Informática
UFRGS Prof. Paulo Martins Engel
23
Atualização dos pesos da camada oculta do MLP
woj (n + 1) = wo
j (n) + η δoj (n) .x (n)
• A expressão para o ajuste do vetor de peso de um neurônio genérico na camada de saída do MLP depende diretamente do gradiente local do neurônio correspondente:
woj (n+1) = wo
j (n) + η (− ∇j E(n) )
Informática
UFRGS Prof. Paulo Martins Engel
24
Ajuste dos pesos da camada oculta
1
2
i1(n)
i0=1
ws11
1
2
d1(n)1
2i2(n)
x1 (n)
x0 = 1
x2 (n)
x1(n)
x2(n)d2(n)
y1(n)
y2(n)
ws10
ws12
ws20
ws21
ws22
wo10
wo11
wo12
wo20wo
21
wo22
δo1(n)
δo1(n) ≡ (1 – i1(n)2)⋅(δs
1(n) ws11 + δs
2(n) ws21 )
δo2(n)
woji (n + 1) = wo
ji (n) + η δoj (n) .xi (n)
δs1(n)
δs2(n)
δo2(n) ≡ (1 – i2(n)2)⋅(δs
1(n) ws12 + δs
2(n) ws22 )
δoj (n) ≡ Σ
k=1
M
δsk(n) ws
kj(n) fo′ (voj(n))
Informática
UFRGS Prof. Paulo Martins Engel
25
Resumo do treinamento por retropropagação de erro
1. Inicializar os pesos com valores arbitrários não nulos.2. Apresentar um padrão de entrada x(n) e propagá-lo até a saída da rede.3. Calcular os erros instantâneos na saída da rede, ek(n). 4. Calcular os gradientes locais dos neurônios da camada de saída, δs
k(n).5. Ajustar os pesos da camada de saída pela expressão:
woji (n + 1) = wo
ji (n) + η δoj (n) .xi (n)
6. Calcular os gradientes locais dos neurônios da camada oculta, δoj (n).
7. Ajustar os pesos da camada oculta pela expressão:
wskj (n + 1) = ws
kj (n) + η δsk(n) .ij (n)
8. Repetir os passos de 2 a 7 para todos os padrões de treinamento (1 época)9. Calcular o erro médio quadrado (EMQ) para o arquivo de treinamento. 10. Se o EMQ for maior que o valor desejado, repetir o passo 8.
Informática
UFRGS Prof. Paulo Martins Engel
26
Representação da saída e regra de decisão• O problema de classificar um vetor numa determinada classe Ck entre M classes
possíveis, para o qual a união das M classes distintas forma o espaço de entrada, requer M saídas para representar todas as possíveis decisões de classificação.
• Se o MLP for treinado com a função logística para os neurônios de saída e com os valores das saídas desejadas correspondendo à rotulação binária:
MLPxj
y1,j
yk,jyM,j
dkj =1 se xj ∈ Ck
0 se xj ∉ Ck
• Então, após o treinamento, quando um vetor x for propagado pela rede, o valor de um nó de saída, yk, corresponde à probabilidade a posteriori que x pertença a classe Ck, isto é, P(Ck |x).
Informática
UFRGS Prof. Paulo Martins Engel
27
• Desta forma, cada nó de saída do MLP apresentará um valor que é uma estimativa de probabilidade a posteriori que o vetor de entrada pertença à classe respectiva.
• Com isso, nós podemos utilizar a regra de Bayes para decidir a que classe o vetor de entrada pertence.
• A regra de Bayes decide a classificação de um vetor pela máxima estimativa da probabilidade a posteriori.
• Esta regra é utilizada nos classificadores estatístico por máxima verossimilhança.
• Então, considerando que um vetor x foi propagado através de um MLP treinado segundo as condições descritas anteriormente, gerando as saídas da rede y1(x), y2(x), …, yj(x), …, yM(x), a regra de classificação em uma das M classes possíveis pode ser expressa como:
Classifique o vetor x como pertencente a Ck se
yk(x) > yj(x) para todo j ≠ k
Informática
UFRGS Prof. Paulo Martins Engel
28
Soluções do problema do jogo de tênis por BP
Informática
UFRGS Prof. Paulo Martins Engel
29
• Há dois modos de treinamento para os algoritmos iterativos supervisionados:1. Modo seqüencial. Neste modo, também referenciado como modo incremental, ou
on-line, a atualização dos pesos é realizada após a apresentação de cada exemplo de treinamento (adapt).
2. Modo por lote. Neste modo, o ajuste de pesos é realizado após a apresentação de todos os exemplos de treinamento, que constituem uma época (train).
• Do ponto de vista operacional, o modo seqüencial é preferível porque requer menos armazenamento local para cada conexão sináptica.
• Além disso, pela aleatoriedade na apresentação dos padrões, a atualização dos pesos na base de padrão por padrão torna a busca no espaço de pesos de natureza estocástica, tornando o algoritmo menos propenso a ficar preso em mínimos locais.
• Por outro lado, a natureza estocástica do modo seqüencial torna difícil estabelecer as condições teóricas para convergência do algoritmo.
• Já o modo por lote fornece, por exemplo, uma estimativa precisa do vetor gradiente, garantindo assim a convergência para um mínimo local.
Modos de Treinamento
Informática
UFRGS Prof. Paulo Martins Engel
30
Heurísticas para melhorar a convergência e a generalização• Atualização seqüencial comparada à atualização por lote: o modo seqüencial do
algoritmo BP é computacionalmente mais rápido que o modo por lote.• Maximização do conteúdo de informação: Como regra geral, todo exemplo de
treinamento apresentado deve ser escolhido de forma que o seu conteúdo de informação seja o maior possível:
• exemplo que resulta no maior erro de treinamento• exemplo que seja bem diferente dos outros
• Soluções práticas: tornar aleatória a ordem de apresentação dos exemplo ou apresentar à rede um número maior de exemplos difíceis (maior erro).
• Função de ativação: a aprendizagem é mais rápida quando se utiliza uma função anti-simétrica do tipo:
ϕ(v) = a tanh(bv)com a = 1,7159 e b = 2/3Com isso, a inclinação da função de ativação na origem fica próximo da unidade e a sua derivada segunda atinge o seu valor máximo em v = 1.
Informática
UFRGS Prof. Paulo Martins Engel
31
Função de ativação anti-simétrica
a = 1,7159
-a = -1,7159
ϕ (v)
v
Informática
UFRGS Prof. Paulo Martins Engel
32
Heurísticas para melhorar a convergência e a generalização
• Valores-alvo: É importante escolher os valores-alvo (resposta desejada) dentro do intervalo da função de ativação, ou seja afastados por uma quantidade do valor limite da sigmóide.
• Caso contrário, o algoritmo BP tende a levar os pesos para o infinito, reduzindo a velocidade do processo de treinamento, levando os neurônios ocultos à saturação.
• Solução: escolher d = ±1 quando a da função de ativação for 1,7159.• Outra solução: escolher d = ±0,9 quando a da função de ativação for 1.
• Normalizar as entradas: Cada variável de entrada deve ser pré-processada de modo que o seu valor médio seja pequeno comparado com o desvio padrão.
• Isto pode ser feito em três passos: remoção da média, descorrelação e equalização dascovariâncias.
• Com isso, os pesos sinápticos aprendem aproximadamente com a mesma velocidade.
Informática
UFRGS Prof. Paulo Martins Engel
33
Normalização das entradas
remoção da média
descorrelação
equalização da covariância
dados originais
Informática
UFRGS Prof. Paulo Martins Engel
34
Heurísticas para melhorar a convergência e a generalização
• Inicialização: Os valores dos pesos devem ser inicializados uniformemente dentro de um intervalo de valores pequenos, para reduzir a probabilidade de que os neurônios da rede saturem, produzindo gradientes pequenos.
• Entretanto, se os pesos forem muito pequenos, os gradientes serão também muito pequenos no início.
• Quando utilizamos a função de ativação especificada anteriormente, uma solução é inicializar os pesos aleatoriamente dentro do intervalo (−2,4/Fi, +2,4/Fi) onde Fi é o fan-in do neurônio i da rede.
• Pelo método de Nguyen e Widrow, os pesos são inicializados aleatoriamente numintervalo regulado pelo núm. de unidades ocultas (H) e a dimensão dos padrões (N), 0,7H1/N.
• Regra delta generalizada: Para aumentar a taxa de aprendizagem, evitando o perigo da instabilidade, introduz-se um termo de momento na expressão de correção dos pesos, correspondente a uma parcela (α) da correção no passo anterior:
∆ wskj (n) = η δs
k(n) .ij (n) + α ∆ wskj (n – 1)
Informática
UFRGS Prof. Paulo Martins Engel
35
• A avaliação empírica da capacidade preditiva de hipóteses (desempenho preditivo) é fundamental para tarefas de aprendizado.
• A dificuldade em se estimar este desempenho está no fato de normalmente se dispor de uma amostra limitada de dados que pode não representar corretamente a distribuição geral dos dados.
• Com isso, a estimativa de desempenho feita sobre uma amostra de dados disponível para este fim, não corresponde exatamente ao desempenho verdadeiro, medido sobre a distribuição geral dos dados.
• Para contornar esta dificuldade, são aplicados métodos estatísticos e feitas suposições sobre as distribuições dos dados.
• A taxa de erro de previsão da classe é uma medida natural de desempenho para tarefas de classificação.
Avaliação de modelos
Informática
UFRGS Prof. Paulo Martins Engel
36
• Como obter uma estimativa confiável sobre o desempenho do modelo?• Erro sobre os dados de treinamento não é um bom indicador de desempenho sobre
dados futuros (estimativa com viés otimista)• Solução simples se existirem muitos dados rotulados:
– Dividir dados em conjuntos de treinamento e de teste (amostras independentes)• Mas: normalmente o número de dados rotulados é limitado
– São necessárias técnicas mais sofisticadas de avaliação• Mesmo que a estimativa seja realizada sobre um arquivo sem viés (amostras
independentes de teste), a acurácia medida pode ainda ser diferente da acurácia real, dependendo de como o arquivo de teste foi composto. Quanto menor o arquivo de teste, maior será a variância esperada entre estas acurácias.
• Desempenho do modelo pode depender de outros fatores, além do algoritmo de aprendizagem:– Distribuição de classes, custo para classificação errada, tamanho dos conjuntos de
treinamento e teste
Métodos para avaliação de modelos
Informática
UFRGS Prof. Paulo Martins Engel
37
Curva de aprendizado
Curva de aprendizado mostra como a acurácia varia com o tamanho da amostraEfeito de uma amostra pequena:
Viés na estimativaVariância de estimativa
• Medindo a dependência da acurácia com o tamanho da amostra
Informática
UFRGS Prof. Paulo Martins Engel
38
• É importante que os dados de teste não sejam usados para criar o modelo
• Alguns esquemas de aprendizagem operam em dois estágios:– Estágio 1: constrói a estrutura básica– Estágio 2: otimiza os parâmetros da estrutura
• Os dados de teste não podem ser usados para ajustar parâmetros!
• Neste caso são precisos três conjuntos: de treinamento, de validação (ou configuração) e de teste.– Conjunto de validação é usado para otimizar parâmetros
Nota sobre ajuste de parâmetros
Informática
UFRGS Prof. Paulo Martins Engel
39
• Após a avaliação, todos os dados podem ser usados para construir o classificador final
• Geralmente, quanto maior o arquivo de treinamento melhor o classificador
• Quanto maior o arquivo de teste mais exata será a estimativa de erro
• Procedimento holdout (retenção): dividir os dados originais em conjuntos de treinamento e de teste– Dilema: queremos tanto um grande arquivo de treinamento quanto
um grande arquivo de teste
Tirando o máximo dos dados
Informática
UFRGS Prof. Paulo Martins Engel
40
• O que fazer se a quantidade de dados é limitada?• Método holdout reserva uma certa quantidade dos dados para
teste e usa o resto para o treinamento– Usualmente 1/3 para teste, o resto para treinamento
• Mas: as amostras podem não ser representativas– Exemplo: pode não haver amostras de uma classe nos dados de teste
• Versão avançada usa estratificação– Assegura que cada classe esteja representada com proporções
aproximadamente iguais em ambos os conjuntos• Bootstrap
– Amostragem com substituição
Estimação por retenção (holdout)
Informática
UFRGS Prof. Paulo Martins Engel
41
• Validação cruzada evita superposição dos conjuntos de teste– Primeiro passo: conjunto de dados é dividido em k subconjuntos de
tamanhos iguais– Segundo passo: cada subconjunto é usado para teste e os demais
para treinamento.– O segundo passo é repetido k vezes– Esta é a chamada validação cruzada por k vezes
• Muitas vezes os subconjuntos são estratificados antes de realizar a validação cruzada
• A estimativa de erro global é calculada como a média das kestimativas de erro de cada iteração
Validação cruzada (cross-validation)
Informática
UFRGS Prof. Paulo Martins Engel
42
Avaliação do modelo gerado• Validação cruzada (CV): o problema do treinamento da rede pode ser visto como o da
escolha da melhor configuração de um conjunto de configurações possíveis de rede (parametrizações).
• A validação cruzada consiste em se dividir o conjunto de dados disponível aleatoriamente num conjunto de treinamento e num conjunto de teste.
• O conjunto de treinamento é dividido ainda num subconjunto de estimação e num subconjunto de validação.
• Deve-se treinar o modelo com o conjunto de estimação e validá-lo com o conjunto de validação.
• O desempenho de generalização é medido pelo conjunto de teste.• Na versão k-fold-CV, o conjunto de dados é dividido em k subconjuntos de tamanhos
iguais.• A seguir, cada subconjunto é usado para teste e os demais para treinamento• A estimativa de erro global é calculada como a média das k estimativas de erro de
cada iteração.
Informática
UFRGS Prof. Paulo Martins Engel
43
four-fold-cross-validation
subconj 1
subconj 2
subconj 3
subconj 4
Conjunto de
Exemplos
subconj 1
subconj 2
subconj 3
subconj 4
teste
treino
treino
treino subconj 1
subconj 2
subconj 3
subconj 4
teste
treino
treino
treino
subconj 1
subconj 2
subconj 3
subconj 4
teste
treino
treino
treino
subconj 1
subconj 2
subconj 3
subconj 4teste
treino
treino
treino
Modelo 1 Modelo 2 Modelo 3 Modelo 4
Informática
UFRGS Prof. Paulo Martins Engel
44
• A validação cruzada deixando um fora (leave-one-out c-v):– O número de vezes é escolhido como o número de exemplos de
treinamento
– Isto é, deve-se construir n classificadores, onde n é o número de exemplos de treinamento
• Aproveita ao máximo os dados
• Não envolve sub-amostragem aleatória
• Computacionalmente muito custoso
Validação cruzada deixando um fora
Informática
UFRGS Prof. Paulo Martins Engel
45
• O foco deve estar na capacidade preditiva do modelo• Apesar de a taxa de erro, ser uma medida natural de desempenho de
classificação, ela não distingue entre erros feitos sobre exemplos positivos daqueles feitos sobre exemplos negativos.
• A matriz de confusão é uma ferramenta que contabiliza os acertos e os erros feitos pela hipótese avaliada:
Métricas para avaliação de desempenho
Verdadeiro Negativo (VN)
FalsoPositivo (FP)
Negativo
FalsoNegativo (FN)
VerdadeiroPositivo (VP)
PositivoClassereal
NegativoPositivo
Classe prevista
Informática
UFRGS Prof. Paulo Martins Engel
46
Métricas para avaliação de desempenho...
Verdadeiro Negativo (VN)
FalsoPositivo (FP)
Neg
FalsoNegativo (FN)
VerdadeiroPositivo (VP)
PosClassereal
NegativoPositivo
Classe prevista
• Métricas mais usadas: – Acurácia (mais usada), Erro
nVNVP +
FNFPVNVPn +++=
nFNFP +
Acurácia:
Erro:
P : número de exemplos positivos (8)N : número de exemplos negativos (12)n = P + N : número total de exemplos (20)Pr(P)= P/n = 0,4 : Probabilidade a priori da classe PPr(N)= N/n = 0,6 : Probabilidade a priori da classe NAcurácia(M) = 15/20 = 0,75Erro(M) = 5/20 = 0,25
93N
26PReal
NP
Prevista
Modelo M
+−
−
−−
−−−
−−−
+ +++ +
+ +
−−
+−
−
−−
−−−
−−−
+ +++ +
+ +
−−