Teaching Methods & Materials > Mathematics">
RedesNeurais Caloba 1a12
RedesNeurais Caloba 1a12
RedesNeurais Caloba 1a12
<
>
0
0
s sada inativo inativo,
s sada excitado ativo,
estado
CPE 721 Redes Neurais Feedforward 1 Introduo 18 / 24
Comunicao entre neurnios:
Sinapse
sinapses so ponderadores
CPE 721 Redes Neurais Feedforward 1 Introduo 19 / 24
Memria:
Neurnio - elemento de processamento
CPE 721 Redes Neurais Feedforward 1 Introduo 20 / 24
Neurnio - elemento de processamento
Neurnio - elemento de processamento
x
1
x
j
x
N
x
0
=1
.
.
.
.
.
.
i ii i
i ii i
i ii i
i ii i
i ii i
i ii i
u
i
s
i
w
i0
w
i1
w
ij
w
in
N
i ij j 0 0
j 1
u w x
t
i i i
w w x w
=
= + = +
s
i
= s(u
i
)
1
x
s
i
w
i0
w
i
u
i
CPE 721 Redes Neurais Feedforward 1 Introduo 21 / 24
Funo de Ativao s(u)
Neurnio Funo de ativao
s
i
(u
i
)
Ganho linearizado
g
i
(s
i
) = ds
i
/ du
i
linear
i
u
1
No linear,
tipo tgh
( )
i
i
-2u
i -2u
1 - e
tgh u
1 e
=
+
2
i
1-s
No linear,
tipo binrio
( )
i
i
i
0 se u 0
deg u
1 se u 0
<
=
-
Arquitetura da Rede
+1
-1
linear
tgh (.)
bin
u
i
x
1
x
2
x
3
y
2
y
1
CPE 721 Redes Neurais Feedforward 1 Introduo 22 / 24
Arquitetura da Rede
Rede feedforward
(sem realimentao)
Esttica
Estruturalmente estvel
Exemplo de operao da rede:
x
1
x
2
x
3
y
2
y
1
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,1
?
0, 7
(
= =
(
x y%
CPE 721 Redes Neurais Feedforward 1 Introduo 23 / 24
v
2
= 0,46 v
3
= 0,63
) (linear! 097 , 0
097 , 0 ) 63 , 0 )( 1 , 0 ( ) 46 , 0 )( 1 , 0 ( ) 06 , 0 )( 1 , 0 ( 2 , 0
4
4
=
= + + + =
v
u
614 , 0 ) 715 , 0 tgh(
715 , 0 ) 63 , 0 )( 1 , 1 ( ) 46 , 0 )( 2 , 0 ( ) 06 , 0 )( 5 , 0 ( 1 , 0
5
5
= =
= + + + =
v
u
06 , 0 ) 06 , 0 tgh(
06 , 0 ) 7 , 0 )( 2 , 0 ( ) 1 , 0 )( 2 , 0 ( 1 , 0
1
1
= =
= + + =
v
u
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,1
0,7
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,63
0,4
6
0,06
CPE 721 Redes Neurais Feedforward 1 Introduo 24 / 24
Redes Neurais FeedForward
Mapeador No Linear
( )
y x =
%
Aproximador Universal !
(
=
(
=
614 , 0
097 , 0
~
7 , 0
1 , 0
y x
x
1
x
2
x
n
j
1
M M
i
1
M
j
1
M w
ij
1
y
~
2
y
~
m
y
~
RN
y
~
x
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,1
0,7
0,097
0,614
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 1 / 22
Redes Neurais Feedforward
Aprendizado (Treinamento)
Backpropagation
Aproximador Universal
Redes Neurais FeedForward
Redes Backpropagation
( )
y x =
%
Mapeador no linear
Aproximador Universal !
x
1
x
2
x
n
j
1
M M
i
1
M
j
1
M w
ij
1
y
~
2
y
~
m
y
~
RN
y
~
x
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 2 / 22
( )
y x =
%
Para que serve ?
Aplicaes:
Simuladores;
Controladores;
Classificadores;
Reconhecimento de padres;
Filtragem no linear;
etc...
Simulao de Sistemas
Conversor Siderrgico
Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
Guza, P, T
Sucata, P
Minria, P
Calcita, P
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
RN
y
~
x
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 3 / 22
) (
~ ~
p p
x y =
Simulao de Sistemas
Simulao de Sistemas
Sistema Real, Planta
ff
Sistema Econmico
Produo de bens de consumo
intermedirios
capital
Quantidade de moeda
Inflao
PASSADOS
Bancos
Indstria
Sociedade
Indstria
Sociedade
Trabalho Trabalho
Inflao
PIB
FUTUROS
P p ,..., 2 , 1 ) , ( =
p p
y x
Simulador
w
~
p
x
p
x
) (
~ ~
p p
x y =
) (
p p
x y =
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 4 / 22
Sistema emular
Conhecimento do Sistema
Fenomenolgico equaes modelo caixa branca - NO
Funcional relao entrada/sada modelo caixa preta
Pares entrada-sada
(x
p
, y
p
) p = 1, P
Modelo Matemtico Fenomenolgico / Numrico -
Simulador
Modelo Fenomenolgico Caixa branca
Modelo Numrico Geral (e.g. rede neural) Caixa Preta
Ajuste dos parmetros w ?
x
p
y
p
= (x
p
)
x
p
p
y x y
p p p
= ) (
~ ~
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 5 / 22
Simulao de Sistemas
Sistema Real, Planta
k
k k
2
2 2
1
2 2
0
1
( )
1
E
Erro a minimizar:
Erro mdio quadrtico:
( )
m
l
P
k
F
P
=
=
= =
= =
k k k k
l l
y y y y % %
Aprendizado
(ou treinamento, ou ajuste de parmetros)
como um processo de otimizao
Aprendizado =
minimizao do erro na sada
P k ,..., 2 , 1 ) , ( =
k k
y x
) (
k k
x y =
Simulador
w
~
k
x
k
y
~
+
_
k
k
y
w
aprendizado
ou
treinamento
k
x
w
~
k
x
k
y
~
+
_
k
k
y
w
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 6 / 22
k
k k
2
2 2
1
2 2
0
1
( )
1
E
Erro a minimizar:
Erro mdio quadrtico:
( )
m
l
P
k
F
P
=
=
= =
= =
k k k k
l l
y y y y % %
k
2
0 0
F E( ) F ( ) 0 = = w
Treinamento, Aprendizado: Minimizar o erro na sada
Funo objetivo minimizar:
k
2
0 0
F E( ) F ( ) 0 = = w
Problema:
Como encontrar o vetor w
0
que minimize F
0
(w)?
0 0
F ( ) F ( )
0 0
w w w w
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 7 / 22
Gradiente:
Propriedades do Gradiente:
0
0 0
0 0 0
0
mximo
mnimo
1.
se
s
i.e. <0
e
e | | mxi o
2.
m
F F
ento
F
F
F
F F
=
=
+ +
0
w
w w w
w
w
0
(
(
(
(
= =
(
(
(
=
=
M
M
L
2
0
1
0
0 2
1
2 1 0
F
) F( ) , , ( F
w
F
w
F
w
w
w w
w
w
w
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 8 / 22
Gradiente descendente
ou descida por gradiente
Visualizao
por Curvas de Nvel
w
( ) w w =
w w w + =
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 9 / 22
Gradiente descendente ou descida por gradiente
sela instvel mnimos locais
Complexidade de clculo:
ij
ij
w
F
w
=
Fim do processo:
0 =
otimo
w 0 =
otimo
w
w ( ) w w =
w w w + =
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 10 / 22
Acrscimo a aplicar em cada sinapse:
p
2
0 0
F E( ) F ( ) = = w
( )
ij
ij
ij
w
w F
w
=
0
Como calcular
( )
ij
ij
w
w F
0
???
1 - F
0
(w
ij
) =
( ) [ ]
=
=
K
k
k k
k
K
E
1
2
2
) (
1
( )
( ) [ ]
( )
(
(
ij
k
k
ij
k
k
ij
ij
w
E
w
E
w
w F
2
2
0
Propriedade importante:
o gradiente do valor esperado do erro quadrtico igual
ao valor esperado do gradiente do erro quadrtico
cada par entrada-sada tratado isoladamente.
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 11 / 22
li
i
l
g
u
y
=
~
2 Clculo de
( )
ij
k
w
???
( )
( )
ij
i
i
l
l
m
l
ij
l
l
m
l
ij
l l
l
m
l
ij
l
l
m
l
ij
l
m
l
m
l
l
ij ij
w
u
u
y
w
y
w
y y
w w w w
=
=
= = =
= = =
~
2
~
2
~
2
2
1 1 1
1
2
1 1
2
2
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 12 / 22
( )
j
ij
i
j
M
m
mj i li
i
l
j li l
m
l
ij
i
i
l
l
m
l
ij
v
w
u
v w u g
u
y
v g
w
u
u
y
w
=
= =
=
= =
1
1 1
2
~
2
~
2
( )
i j li l
m
l
j j li l
m
l
ij
v g v v g
w
2 2 2
1 1
2
= = =
= =
= =
=
=
m
l
li l
m
l
i
l
l i
g
u
y
1 1
~
i
o erro retropropagado da sada at a extremidade da sinapse
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 13 / 22
=
=
P
p
p
i j ij
v
P
w
1
1
2
2 2 2
1 1 1
~
~
y y
y y
=
=
3 - como:
( )
ij
ij
ij
w
w F
w
=
0
( )
P
p
ij ij
ij
p
w P w
w F
1
2 0
) (
1
( )
i j
ij
v
w
2
2
=
Error Backpropagation -Princpio do Algoritmo:
1 - Rede Original:
Propagar o sinal na rede original e conservar o valor do sinal v
j
na entrada de cada sinapse w
ij
. Calcular o erro em cada sada.
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.
-
-
.
.
.
-
.
.
.
.
.
.
-
-
.
1.
4
5
2
1
1
y
~
2
y
~
1
y
~
2
y
~
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 14 / 22
2 Criar uma Rede Associada a partir da Rede Original
mesma arquitetura, mas
2.1 - Linearizar (os neurnios) da rede original
Rede Original
Rede Associada
Neurnio no linear
v
0
= tgh(u
0
)
Neurnio linear
v = (1-v
0
2
) u
Neurnio linear
v
0
= u
0
Neurnio linear
v = u
2.2- Inverter todos os sentidos de transmisso (dos neurnios e sinapses)
3
lin
lin
lin
lin
lin
1
x
1
x
2
1
.2
-
.1
-
.1
.3
.1
.2
-
.1
.1
.2
.3
.9
.1
.5
-.1
-
.1
.2
1.
1
4
5
2
1
103 , 0
1
=
386 , 0
2
=
1
0,79
0,60
1
0,63
1
2
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 15 / 22
3 (Retro)propagar o erro
l
em cada sada atravs da rede associada e
conservar o valor do sinal
i
de erro retropropagado que chega na sada
(original) de cada sinapse w
ij
.
4 O acrscimo para cada sinapse wij para o par p entrada-sada em
operao dado por:
i j ij p
v w 2 =
5 O acrscimo a ser aplicado na sinapse w
ij
o valor esperado dos
acrscimos calculados para todos os pares entrada-sada.
( ) ) ( 2
p
i j
p
ij p
p
ij
v E w E w = =
Processo em Batelada Batch
3
lin
lin
lin
lin
lin
1
x
1
x
2
1
.2
-.1
-.1
.3
.1
.2
-.1
.1
.2
.3
.9
.1
.5
-.1
-.1
.2
1.1
4
5
2
1
103 , 0
1
=
386 , 0
2
=
1
0,79
0,60
1
0,63
1
2
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 16 / 22
Exemplo anterior:
Signal Feedforward
0,10 0,1 0, 097
0, 7
3
0, 3 0,
0, 2
1 1 86 6 4
( (
= =
( (
( (
=
(
=
(
y x y%
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,1
0,7
0,097
0,614
0,06
0,46
0,63
0,1
0,
?
2
0
0, 7 ,1
(
= =
(
(
=
(
x y y%
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
0,1
0,7
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 17 / 22
Rede associada e retropropagao do erro:
5
(0,386)(0, 63) 0, 24 = =
4
(0,103)(1) 0,103 = =
3
[(0,103)( 0,1) (0, 24)(1,1)](0, 60) 0,152 = + =
2
[(0,103)( 0,1) (0, 24)(0, 2)](0, 79) 0, 030 = + =
1
[(0,103)(0,1) (0, 24)(0, 5)](1) 0,130 = + =
Treinamento Regra Delta
4
4
1
1
41
41
3
(2)(0,1)(1)(0,103) 0, 021
0, 2 0, 021 0, 221
(2)(0,1)(1)(0,130) 0, 026
0,1 0, 026 0, 074
(2)(0,1)(0, 06)(0,103) 0, 001
0,1 0, 001 0,101
(2
Atualizao dos valores das sinapses:
2
b
ij j i
b
b
b
b
w
w
w
w v
= =
+ =
= =
+ =
= =
+ =
=
=
3
)(0,1)(0, 7)(0,152) 0, 021
0, 9 0, 021 0, 921
b
w
=
+ =
3
1
x
1
x
2
1
.2
- .1
- .1
.
3
.
1
.2
- .1
.1
.
2
.
3
.
9
. 1
.
5
- .
1
- .1
.2
1.
1
4
5
2
1
10
3
, 0
1
=
38
6
, 0
2
=
1
0,7
9
0,6
0
1
0,6
3
1
2
3
4
5
3
1
x
1
x
2
1
.2
- .1
- .1
.
3
.
1
.2
- .1
.1
.
2
.
3
.
9
. 1
.
5
- .
1
- .1
.2
1.
1
4
5
2
1
10
3
, 0
1
=
38
6
, 0
2
=
1
0,7
9
0,6
0
1
0,6
3
1
2
3
4
5
3
tgh
tgh
tgh
lin
tgh
1
x
1
x
2
1
.2
- .1
- .1
.3
.1
.2
- .1
.1
.2
.3
.9
. 1
.5
- .1
- .1
.2
1.1
4
5
2
1
1
y
~
2
y
~
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 18 / 22
i
y
~
Algortmos BP
para clculo do acrscimo na sinapse w
ij
devido ao par p,
ij p
w
para dois casos especficos:
Redes com uma nica camada
Definio das variveis:
Rede Original
N entradas: x
1
, x
2
, ..., x
N
e x
0
(bias) = 1
w
ij
- sinapse conectando a entrada j
ao neurnio i
M neurnios com funo de ativao
(.) linear ou tgh
u
i
- excitao interna do neurnio i
- sada do neurnio i
x
0
=1
x
1
.
.
x
j
.
.
.
x
N
i
M
i
y
y
y
~
~
~
1
w
i0
u
i
w
i1
w
ij
i
w
iN
.
.
.
.
.
.
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 19 / 22
Definio das variveis:
Rede Associada
i
- erro na sada do neurnio i
i
- erro retropropagado at
a entrada do neurnio i
i
' - valor numrico da derivada de
i
no ponto de operao
Algortmo BP acrscimo
p
ij
w
- Rede 1 camada
Para o par entrada-sada p (x, y)
Signal feedforward: Propague o sinal para a frente, calcule a sada e o
erro em cada sada:
( )
= =
=
=
tgh neurnio u tgh
linear neurnio u
u y
x w u
i
i
i i i
N
j
j ij i
) (
~
0
i i i
y y
~
=
Calcule o erro retropropagado at a entrada de cada neurnio:
( )
=
tgh neurnio y
linear neurnio
i i
i
i
2 ~
1
Calcule o acscimo em cada sinapse devido ao par p:
i j
p
ij
x w 2 =
fim do algortmo
1
w
1j
i
w
ij
w
Mj
i
'
M
i
1
x
1
.
.
.
x
i
.
.
.
x
N
1
'
M
'
.
.
.
.
.
.
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 20 / 22
k
y
~
Redes com duas camadas - Rede Original
Definio das variveis:
N entradas: x
1
, x
2
, ..., x
N
e x
0
(bias) = 1
L neurnios na primeira camada com funo de ativao tgh
M neurnios na camada de sada com funo de ativao (.) linear ou tgh
w
ij
- sinapse conectando a entrada j ao neurnio i da camada intermediria
t
ki
- sinapse conectando a sada z
i
do neurnio i da camada intermediria com
a entrada do neurnio k da camada de sada.
v
i
- excitao interna do neurnio i da primeira camada
z
i
- sada do neurnio i da camada intermediria. z
0
(bias) = 1
u
k
- excitao interna do neurnio k da camada intermediria
- sada do neurnio k da camada de sada
t
k0
t
k1
k
t
ki
t
kL
u
k
k
z
0
= 1
z
1
z
i
z
L
x
0
=1
x
1
.
.
.
x
j
.
.
.
x
N
M
k
y
y
y
~
~
~
1
w
i0
i
w
ij
v
i
w
iN
.
.
.
.
.
.
tgh
tgh
tgh
M
.
.
.
.
.
.
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 21 / 22
Rede Associada
Definio das variveis:
k
- erro na sada do neurnio da camada de sada
k
- erro retropropagado at a entrada do neurnio k da camada de sada
i
' - valor numrico da derivada de
i
no ponto de operao
Algortmo BP acrscimos
p
ki
p
ij
t e w
- Rede com 2 camadas
Para o par entrada-sada p (x, y)
Signal feedforward: Propague o sinal para a frente, calcule a sada e o
erro em cada sada:
Para todos os neurnios da primeira camada i = 1,...,L
1 ) (
1
0
0
0
= =
= =
=
z v tgh z
x x w v
i i
N
j
j ij i
Para todos os neurnios da segunda camada k = 1,..., M
1
0
0
= =
=
z z t u
L
i
i ki k
( )
= =
tgh neurnio u tgh
linear neurnio u
u y
k
k
k k k
) (
~
k k k
y y
~
=
1
t
1i
k
t
ki
t
Mi
k
'
M
k
1
w
i0
i
w
ij
w
iN
.
.
.
.
.
.
1-z
i
2
1
'
M
'
.
.
.
.
.
.
CPE 721 Redes Neurais Feedforward 2 Treinamento BP 22 / 22
Retropropagao do erro
Para todo neurnio da segunda camada, k = 1,...,M:
( )
=
tgh neurnio y
linear neurnio
k k
k
k
2 ~
1
Para todo neurnio da primeira camada, i = 1,...,L
( )
=
=
M
k
k ki i i
t z
1
2
1
Acrscimo nas sinapses da primeira camada devido ao par p:
L i e N j x w
i j
p
ij
..., , 2 , 1 ...., , 1 , 0 2 = = =
Acrscimo nas sinapses da segunda camada devido ao par p:
M k e L i z t
k i
p
ki
..., , 2 , 1 ..., , 1 , 0 2 = = =
fim do algortmo
Error Backpropagation - Resumo:
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 1 / 9
3 - Formas de Aplicao do Treinamento BP
Processo em
Batelada Batch
Lotes
Regra Delta - para treinamento on line, dinmico
Regra delta com momento
Batelada - Algortmo
Inicializar 1 . ; 1 = = n ; ] 2 . , 2 . [ ) 1 ( +
i
w randmicos
At que o critrio de parada seja satisfeito
para cada par (x
p
, y
p
) p = 1, , P
calcular o acrscimo
p
ij
w
nas sinapses devido ao par p:
(ver algortmo na sesso 2 Treinamento BP)
( )
p p
x y =
~
j i, m,
w
y
~
e y
~
- y
ij
p
m p
m
p
m
=
p
m
j i,
w
y
2
w
ij
p
m
M
1 m
p
m
ij
p2
=
=
p
ij
w
outro par
calcular os acrscimos e atualizar as sinapses
j i n w n w n w w n w
ij ij ij
p
ij ij
, ) ( ) ( ) 1 ( E ) (
p
+ = + =
n = n+1
fim do algortmo
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 2 / 9
se P >> (P > ~ 200)
muito lento
Processo por Lotes
Se P > ~200
Alocar os pares entrada-sada aleatoriamente em C conjuntos,
C P / 200
Algortmo
Treinar com
conjunto 1
Treinar com
conjunto C
Treinar com
conjunto 2
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 3 / 9
Lotes - Algortmo
Inicializar 1 . ; 1 = = n ; ] 2 . , 2 . [ ) 1 ( +
i
w randmicos
At que o critrio de parada seja satisfeito
Treinar (em batelada, sem reinicializar) usando os pares do conjunto 1
Treinar (em batelada, sem reinicializar) usando os pares do conjunto 2
...
Treinar (em batelada, sem reinicializar) usando os pares do conjunto C
fim do algortmo
Reduz o tempo
Preserva a generalizao
diminui (quase nada) a estabilidade do treinamento
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 4 / 9
Processo Regra Delta - uso on line
Atualiza os parmetros a cada par entrada-sada apresentado
o acrscimo nas sinapses aplicado aps cada par entrada-sada ser
apresentado - como usar lotes com um nico par.
Treinamento adaptativo para sistemas variantes no tempo
Regra Delta - Algortmo
Inicializar 1 . ; 1 = = n ; ] 2 . , 2 . [ ) 1 ( +
i
w randmicos
At que o critrio de parada seja satisfeito
para cada par (x
p
, y
p
) p = 1, , P
calcular o acrscimo
p
ij
w
nas sinapses devido ao par p:
(ver algortmo no cap 2 Treinamento BP)
( )
p p
x y =
~
j i, m,
w
y
~
e y
~
- y
ij
p
m p
m
p
m
=
p
m
j i,
w
y
2
w
ij
p
m
M
1 m
p
m
ij
p2
=
=
p
ij
w
atualizar as sinapses
j i w n w n w
p
ij ij ij
, ) ( ) 1 ( + = +
n = n+1
outro par
fim do algortmo
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 5 / 9
Muito rpido, mas F oscila !
Normalmente usado com momento
Treinamento com Momento
Regra delta:
=
m
1 l
i
l
l i
w
~
2 (n) w
D
y
Momento w
i
(n) = w
i
(n-1) + (1-) (n) w
D
i
tpico
.9
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 6 / 9
Intermedirio entre treinamento regra delta e treinamento por lotes.
Cada lote constitudo
pelos ltimos
N
0
- 1
4
pares aplicados.
Compensa a instabilidade do
processo regra delta
Regra Delta com Momento - Algortmo
Inicializao n=1; 9 . 1 . = = i w
RD
i
= 0 ) 0 (
para as i = 1, 2, , V variveis ] 2 . , 2 . [ ) 1 ( +
i
w randmicos;
At que o critrio de parada seja satisfeito
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 7 / 9
para cada par (x
p
, y
p
) p = 1, , P
calcular o acrscimo por regra delta (BP)
(ver algortmo anterior)
( )
p p
x y =
~
i m,
w
y
~
e y
~
- y
i
p
m p
m
p
m
=
p
m
i
w
y
2 ) (
i
p
m
M
1 m
p
m
=
=
n w
RD
i
calcular e aplicar o acrscimo com momento
i n w n w n w
i n w n w n w
i i i
RD
i i i
+ = +
+ =
) ( ) ( ) 1 (
) ( ) 1 ( ) 1 ( ) (
n=n+1
outro par
fim do algortmo
Detalhes do treinamento Regra Delta com momento
n = 1 w
D
(1)
w(1) = w(0) + (1-) w
D
(1)
= (1-) w
D
(1)
n = 2 w
D
(2)
w(2) = w(1) + (1-) w
D
(2) =
= (1-) w
D
(1) + (1-) w
D
(2)
n = 3 w
D
(3)
w(3) = w(2) + (1-) w
D
(3) =
=
2
(1-) w
D
(1) + (1-) w
D
(2) + (1-) w
D
(3)
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 8 / 9
n = 4 w
D
(4)
w(4) =
3
(1-) w
D
(1) +
2
(1-) w
D
(2) + (1-) w
D
(3)
+ (1-) w
D
(4)
n w
D
(n)
w(n) =
n-1
(1-) w
D
(1) +
n-2
(1-) w
D
(2) +
+
n-1
(1-) w
D
(i) + + (1-) w
D
(n)
w(n) = (1-)
=
n
1 i
w
D
(i)
i - n
Contribuies em cada passo:
Mdia ponderada exponencialmente pelo atrazo
n i = atrazo da i-sima entrada em relao ao instante atual n
No passo n
w(n) = (1-)
=
n
1 i
w
D
(i)
i - n
n-i
=
( ) ln i - n
e
=
( )
i - n
-
e
1
1
ln
1
-
= se 1
w(n) = (1-)
=
n
1 i
w
D
(i) e
-(n-i)/
mdia ponderada exponencialmente pelo atraso
e
-(n-i)/
1
0 1 2 3 4 (n-i)
CPE 721 Redes Neurais Feedforward 3 Formas de Treinamento BP 9 / 9
Contribuies significativas: peso > .02 n-i < 4
Mximo atrazo significativo (lote significativo):
1
4
4
0
N
Contribuio total de w
D
(n):
w
D
(n) (1-) (1 + +
2
+ ) =
= w
D
(n) (1-)
- 1
1
= w
D
(n)
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 1 / 14
4 - Dimensionando a rede
Quantas camadas de neurnios ?
Quantos neurnios por camada ?
Que tipo de neurnios ?
Subdimensionada >>> no tem capacidade de representar
o mapeamento x >> y
no aprende, o erro permanece
elevado
Superdimensionada >>> lenta no treino e na operao
no generaliza bem, tendncia a
overtraining
4.1 Capacidade de Mapeamento das redes - Sadas contnuas
Redes de uma camada (de neurnios)
Cada sada pode ser processada (treinada e operada) independentemente das
demais
Se os neurnios so lineares, a rede um mero combinador linear:
i
j
ij j i
b w x y + =
e portanto tem capacidade de mapeamento muito limitada.
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 2 / 14
Se os neurnios so tipo tgh(.), a sada um combinador linear com
sada limitada:
i i i
j
ij j i
u tgh y b w x u = + =
embora limitada, esta estrutura encontrar aplicao em
classificadores (separadores) lineares,
conforme ser visto posteriormente.
Redes com duas camadas
Com neurnios lineares na camada intermediria
Idntica a uma rede com apenas uma camada !
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 3 / 14
Redes com duas camadas
Com neurnios tipo tgh(.) na camada intermediria
x z y
x z y
( )
0 k k
t
k
w w x tgh z + =
r r
0 i
t
i
t t z u + =
r
r
( )
+ + =
k
k k
t
ik i i
w w x tgh t t u
0 0
r r
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 4 / 14
Neurnio de sada linear:
( )
+ + =
k
k k
t
ik i i
w w x tgh t t y
0 0
r r
srie de tgh(.)
Neurnio de sada tipo tgh(.)
( )
(
+ + =
k
k k
t
ik i i
w w x tgh t t tgh y
0 0
r r
srie de tgh(.) com sada limitada. Ser usada em
classificadores.
Teorema (sem prova):
Se uma funo f(.) L
2
em um domnio ento uma srie de tgh (.)
um aproximador universal para a funo no domnio.
Obs: Uma funo f(.) dita L
2
em um domnio se neste domnio
. (.)
2
d f
existe.
Funes que admitem representao por srie de Fourrier so L
2
.
Concluso: uma rede neural com duas camadas, a primeira com
neurnios do tipo tgh(.) e a segunda com neurnios lineares, um
aproximador universal para todas as funes de interesse prtico
em engenharia
1
.
Ponto fraco: O nmero de neurnios na camada intermediria no
pode ser pr-determinado
2
!
1 - Teorema de Kolmogorov (e.g. Beale, R., Jackson, T. & Jackson, T. (1990), Neural
Computing: an introduction, Hilger.)
2 - Han, J., Kamber, M. & Pei, J. (2011), Data mining: concepts and techniques, Morgan
Kaufmann Pub.
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 5 / 14
4.2 - Capacidade de Mapeamento das redes - Sadas lgicas { -1, 1 }
Classificadores
Ser detalhada no futuro, no tem classificadores.
Antecipaes necessrias:
Valores alvo:
{ } 1 , 1 +
i
y
Neuronio de sada tipo tgh
( ) 1 , 1 ) (
~
+ = u tgh y
Interpretao lgica da sada
( ) y sign y
ico
~ ~
log
=
Treinamento BP: idntico ao caso com sada contnua,
i i i
y y
~
=
Teorema: Uma rede com duas camadas de neurnios tipo tgh(.)
realiza qualquer funo lgica com alvos {-1,+1} e o treinamento
backpropagation minimiza o erro de classificao.
Ponto fraco: O nmero de neurnios na camada intermediria difcil
de ser pr-determinado !
tgh
p(u
y
~
tgh tgh
tgh tgh
tgh tgh
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 6 / 14
4.2.1 - Capacidade de Mapeamento das redes -
Sadas contnuas e lgicas na mesma rede
Teorema: Uma rede neural com duas camadas, (a) uma camada
intermediria com neurnios tipo tgh(.) e (b) uma camada de sada com
neuronios lineares para as sadas contnuas e neuronios tipo tgh para sadas
lgicas treinada por backpropagation realiza qualquer mapeamento L
2
.
4.3 - Como dimensionar a rede ?
Usar uma ou duas camadas de neurnios
Na camada de sada:
se y contnuo, ( ) 1 , 1 + y >>> neurnio linear, tipo y = u
se y binrio, { } 1 , 1 + y >>> neurnio no linear tipo y = tgh (u)
Na camada intermediria:
neurnios no lineares tipo y = tgh (u)
Mas como dimensionar ??
tgh lin sada contnua
tgh
tgh tgh sada lgica
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 7 / 14
Como dimensionar a rede ?
m n
R y R x
r r
complexidade do mapeamento ?
Tentativa e Erro !
Rede com uma camada:
F
0
< F
0max
satisfeita ? Sim: Fim
No: Use uma rede com duas
camadas.
Rede com duas camadas
# neurnios na camada intermediria, m
1
n > m
1
> m (heurstica)
F
0
< F
0max
satisfeita ? Sim: Fim (ou reduzir m
1
)
No: aumentar m
1
.
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 8 / 14
E redes com 3 ou mais camadas ?
Em princpio (ao menos tericamente) no so necessrias.
O dimensionamento mais difcil.
O tempo de treinamento cresce exponencialmente
com o nmero de camadas,
Mas existem casos (excesses) em que levam a
estruturas mais simples (e mais rpidas).
4.4 - Operao da Rede
Rede de 1 camada combinador linear
( )
0
~
~
j
i
i ji j
w x w y
x y
+ =
=
( )
0 1
~
~
w x w y
x y
+ =
=
reta
Duas entradas y = w
2
x
2
+ w
1
x
1
+ w
0
plano
Rede com duas camadas
y
~
x
y
~
x
y
~
x
w
1
w
0
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 9 / 14
( )
0
~
~
j
i
i ji j
w x w y
x y
+ =
=
( )
0 1
~
~
w x w y
x y
+ =
=
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 10 / 14
aproximao por segmentos de retas
Duas entradas z
i
= f(x
1
, x
2
)
aproximao por segmentos de planos (hiperplanos)
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 11 / 14
] 1 , 0 ( 1 ) 1 , 1 (
2
+ = + =
du
dv
v
du
dv
v u tgh v
4.5 - Valores iniciais das sinapses
Duas caractersticas do processo de treinamento:
1 - Usualmente existem mnimos locais, e o processo pode ficar
preso neles. Soluo simples: tentar diversos pontos de partida,
escolhendo valores iniciais das sinapses dentro de uma faixa grande de
valores.
2 - O processo pode ficar paralizado. Como o erro retropropagado
multiplicado pela derivada da funo de ativao no ponto de
operao, valores muito elevados da excitao interna u podem
levar a derivadas com valores muito pequenos e praticamente
paralizar o processo. Valores grandes de u ocorrem se tivermos
valores grandes das sinapses.
w
ij
F
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 12 / 14
=
=
=
< >
= =
N
i
x w u
x w u
i i
N
N
x w u
u
du
dy
para
du
dy
y
du
dy
u tgh y
1
2 2 2
2
3 01 .
) 1 , 0 ( 1
3 3 3
max
= < = u N
x w u
Os dois critrios so antagnicos: devemos escolher valores iniciais
grandes para as sinapses para escapar de mnimos locais, e pequenos
para no paralisar o treinamento desde o incio. Que valores escolher ?
Para 99,97 % probabilidade da rede no iniciar paralisada
como
1 =
x
,
N
w
1
.
Para uma distribuio uniforme de w,
N
l
3
N w
l
4 .5 .9
10 .3 .5
100 .1 .2
Valores tpicos: sorteio randmico entre 0,2 e + 0,2. Se houver
desconfiana de mnimos locais no entorno da origem aumentar a faixa.
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 13 / 14
4.6 Escolha de
a escolha de uma arte - Bernard Widrow
deve ser tal que a aproximao da funo ( 1 ou 2 ordem) em
que o mtodo se baseia vlida
muito pequeno convergncia estvel, processo muito
lento
muito grande processo oscila ou mesmo diverge
tpico BP .1, .05
varivel BP resiliente (1 ordem)
otimizao em linha (2 ordem)
Efeito do Passo de Treinamento
CPE 721 Redes Neurais Feedforward 4 Dimensionando a rede 14 / 14
1 ] 2 [ )] 2 ( 2 [
| ) ( | | ) ( | :
5 .
) 2 ( 2 ) ( 2 ) (
0 ) ( |
2 ) (
2 ) ( ) (
2 2
2
> >
> +
=
= + = +
= +
= =
= = =
divergente
timo
timo
w w w
w F w w F a Divergnci
w w w w w w F
w w F
w w F w
w
dw
dF
w F w w F
Efeito do Passo de Treinamento
- um exemplo simples
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 1 / 19
Pr-processamento dos dados
Preparao dos dados de entrada e sada
1 - Escolha das variveis
2 Compactao / Parametrizao das variveis
3 Escalamento das variveis
4 - Pares entrada sada:
Preparao dos dados de entrada e sada
1 - Escolha das Variveis
sada y as que desejamos
entrada x as necessrias para gerar as sadas
Como entrada escolha as variveis relevantes,
todas as variveis relevantes
e somente as variveis relevantes
RN
y
~
x
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 2 / 19
Relevncia - como saber se uma entrada relevante ?
Fenomenologia >>>> candidatas relevantes
Correlao com as variveis de sada >>>>
Relevncia (ps-processamento)
800 sries de variveis.
Quais usar ?
Conversor Siderrgico Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
Guza, P, T
Sucata, P
Minria, P
Calcita, P
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
ff
Sistema Econmico
Produo de bens de consumo
intermedirios
capital
Quantidade de moeda
Inflao
PASSADOS
Bancos Indstria
Sociedade
Indstria
Sociedade
Trabalho Trabalho
Inflao
PIB
FUTUROS
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 3 / 19
Independncia / Dependncia Estatstica entre Variveis
Coeficiente de Correlao de Pearson
( )
=
= =
=
=
= = = =
= =
=
=
P
i
i i
y x y x
P
i
x i x
P
i
i x
y x
P
i
y i x i
i i
y x
P
y x r
ento e e faremos caso nosso em
x
P
e x
P
onde
y x
P
y x r
P i y x Pares
1
1
2
1
1
1
1
) , (
1 0
) (
1
1 1
) )( (
1
1
) , (
,..., 1 ,
1 1 r
Valores randmicos correlao r = 0
95% confiana na correlao
P
r
r
1
) (
0 ) (
P
r r
2
) ( 2 =
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 4 / 19
Matrizes de correlao
entradas sadas entre entradas (simtrica)
y
1
... y
m
x
1
r
1y1
r
1ym
x
2
r
2y1
r
2ym
x
3
r
3y1
r
3ym
...
x
n
r
ny1
r
nym
completa
x
1
x
2
x
3
... x
n
y
1
... y
m
x
1
1 r
12
r
13
r
1n
r
1y1
r
1ym
x
2
r
12
1 r
23
r
2n
r
2y1
r
2ym
x
3
r
13
r
23
1 r
3n
r
3y1
r
3ym
...
x
n
r
1n
r
2n
r
3n
1 r
ny1
r
nym
Eliminando variveis caras
Descorrelao entre entradas:
x
1
x
2
x
3
Y
x
1
1 r
12
r
13
r
1y
x
2
r
12
1 r
23
r
2y
x
3
r
13
r
23
1 r
3y
y x
1
x
3
x
2
y x
1
x
3
x
2
x
1
x
2
x
3
... x
n
1 r
12
r
13
r
1n
r
12
1 r
23
r
2n
r
13
r
23
1 r
3n
...
r
1n
r
2n
r
3n
1
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 5 / 19
[ ]
12
1
2
2
2 1 2 2 2 1 2
3 2 1
) ( arg
0 ) ( ) ( ) ( ) (
r x E Min a ax x x x ax x
y x x x
= = = + =
= = = =
x
1
x
2
x
3
y
x
1
1 0
r
13
r
1y
x
2
0 1 r
23
r
2y
x
3
r
13
r
23
1 r
3y
2
12
12 1 2
2
1 r
r r r
r
y y
y
Poda de entradas ps-processamento
Exemplo:
y x
1
x
3
x
2
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 6 / 19
Problema: correlaes de ordens mais elevadas
Correlao em partes do
domnio
Coeficiente de Correlao de
Spearman
Coeficiente de Correlao de
Kendall
Independncia estatstica
Relevncia (ps-
processamento)
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 7 / 19
( ) ( ) ( )
quadrado qui
y p x p y x p
=
2
Variveis discretas
discreta discreta
discreta - contnua
Testes de independncia estatstica
condio:
teste:
Mas o coeficiente de correlao de Pearson sempre d alguma
informao
R. Deep, Probability and Statistics, Elsewier, 2006
P.A. Barbetta, M.M. Reis, A.C. Bornia, Estatstica para Cursos de Engenharia e Informtica,
Atlas, 2004.
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 8 / 19
Relevncia
efeito de
dados no relevantes
Onde est Wally ?
Onde est Wally?
Dados irrelevantes
dificultam o
treinamento e a
operao.
Eventualmente
prejudicam a
operao com a
introduo de
rudo.
Lixo na entrada, lixo na sada !
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 9 / 19
2 Compactao / Parametrizao das variveis
Informao redundante:
Ex: Voz, Imagens, Sonar, etc.
pode reduzir o rudo mas
dificulta e torna lento o treinamento e a operao
Compactar e/ou parametrizar entradas muito redundantes
Processos de parametrizao:
1 Baseados na Fenomenologia
EX: Voz >> Formantes, Taxonomia
biolgica
Cepstrum, etc.
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 10 / 19
Processos de Compresso:
2 - Transformadas Matemticas:
Fourrier, Wavelets, QV, etc.
PCA, PCA generalizadas, ICA, etc.
Sonar (PCA) Imagens (QV 1x30)
Invarincia, Insensibilidade
Imagens Translao
Escala
Rotao
Insensibilidade - contedo da voz vs. locutor, etc.
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 11 / 19
3 Escalamento das Variveis
fundamental para o bom condicionamento
do processo numrico de otimizao
X
i
= varivel original >>> x
i
= varivel escalada
critrios: mdia nula
maioria dos valores no intervalo (-1,+1)
Treinamento e Operao da Rede com variveis normalizadas
Y
~
Y
Escalador
( )
j j
j
j
X x
=
1
Rede
Neural
(x, y)
Desescalador
i i i i
y Y + =
~
~
X
x
y
~
Escalador
( )
Yj j
Yj
j
Y y
=
1
y
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 12 / 19
3.1 - Variveis quantitativas:
contnuas (e.g. temperatura, comprimento)
discretas (e.g. nmero de filhos) representvel por varivel contnua
usar escalamento estatstico:
( ) 1 0
1
= = >>> =
x x X i
X
i
e X x
i
i
Obs 1:
Variveis cclicas
No introduzir descontinuidades
abruptas em variveis originalmente
contnuas
X: 0 360
o
>>>>> x: ( sen 2X/360 ; cos 2X/360)
X: 0 24 h. >>>>> x: ( sen 2X/24 ; cos 2X/24)
X: 0 12 meses >>>>> x: ( sen 2X/12 ; cos 2X/12)
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 13 / 19
Obs 2:
- Variveis quantitativas contnuas cobrindo faixas muito extensas (vrias
dcadas)
Escalamento no linear: as variveis podem ser comprimidas em uma
escala logartmica antes da normalizao.
( ) 1 0 ln
1
ln
ln
= = >>> =
x x X i
X
i
e X x
i
i
Note que utilizar log transforma a minimizao do erro mdio quadrtico na
minimizao do erro relativo mdio quadrtico.
3.2 Variveis categricas
binrias ( e.g. X
i
{frio, quente} ou X
i
{feio, bonito})
nominais ( e.g. X
i
{solteiro, casado, separado, viuvo}
e.g. x
i
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
+
1
1
1
1
,
1
1
1
1
,
1
1
1
1
,
1
1
1
1
x
i
em notao binria
maximamente esparsa
x
i
{-1,+1}
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 14 / 19
Variveis binrias - Uso na entrada
i j
x w 2 =
x
j
=0 >> w
ij
no treina !
Variveis binrias Interpretao da sada
{ } ( ) 1 , 1 ) (
~
1 , 1 + = + u tgh y y
( ) y sign y
ico
~ ~
log
=
Erro mdio quadrtico
Erro de classificao
Obs: Erro mdio quadrtico x Erro de classificao
Em casos crticos no utilizar sadas contnuas e discretas na mesma rede,
devido aos conceitos de erro que realmente importam (emq para sadas
contnuas e erro de classificao para sadas binrias) serem muito distintos e
serem minimizados por um nico critrio (emq) !
x
j
i
w
ij
tgh
y
~
ico
y y
log
~
2
1
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 15 / 19
4 - Pares entrada sada:
4.1 Tipo de mapeamento
x
1
y
1
x
2
y
2
Mapeamento unvoco
se x
2
= x
1
ento y
2
= y
1
menos do rudo. Na prtica: y
2
= y
1
+ r
Mapeamento bi-unvoco ?
se y
2
= y
1
ento x
2
= x
1
?
No necessrio.
4.2 Domnio dos pares Populao local
Nmero de pares entrada-sada
deve caracterizar
estatisticamente bem o
domnio de operao
A rede s aprende o que treinou !
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 16 / 19
Populao local
Efeito de populao local reduzida:
Ex: Carto de Crdito Planta de produo
Confiveis 99 %
No confiveis 1 %
Efeito ? alto erro na regio de
baixa populao
Correo ? replicar populao das classes (ou regies) de
baixa populao (mas isto no aumenta a generalizao !)
4.3 Intrusos (outlayers, outsiders) - Pontos errneos
Como detetar ?
Primeira anlise: valor das variveis
Se a distribuio de uma varivel x
i
normalizada
i
= 0 e
i
= 1 normal
a probabilidade p(x
i
) de ocorrncia de valores nos intervalos :
Faixa
0 < |x
i
| < 1 1 <|x
i
|< 1.5 1.5 <|x
i
|< 2 2 <|x
i
|< 2.5 2.5 <|x
i
|< 3 3 <|x
i
|
p(x
i
)
68 % 18 % 9 % 3 % 1 % 0,3 %
Se o nmero real de ocorrncias no intervalo for muito maior que o nmero
previsto
(numero real no intervalo) >> nmero previsto = p.(nmero total
eventos)
ento provavelmente existem intrusos no intervalo.
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 17 / 19
y y y y x
~ ~
) , ( =
Intrusos - deteo
Inspeo em cada varivel
isoladamente
x
i
> 3
xi
provvel intruso
Intrusos possveis efeitos no erro
Intrusos versus Regies de baixa populao
Melhor Anlise:
- Clusterizao no espao
e = entrada + sada
(
(
=
y
x
e
- descorrelacionar as componentes de e
e.g. PCA e z
z
i
> 3
zi
provvel intruso
3 >
k
Possvel
Intruso
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 18 / 19
4.4 Pares incompletos, com componentes faltando
Pares (x
k
, y
k
) com componentes faltando
falta x
i
k
ou y
i
k
No treinamento:
se possvel no utilize o par incompleto
caso contrrio
se falta x
i
k
substitua x
i
k
por (x
i
) = 0
(no treina as sinapses conectadas a x
i
e no influi nas demais)
se falta y
i
k
faa
i
k
= 0
(no treina as sinapses conectadas ao i-simo neurnio da camada de
sada e no influi nas demais)
Na operao:
se possvel no utilize o par incompleto
caso contrrio
se falta x
i
k
substitua x
i
k
por (x
i
) = 0
(mas neste caso a rede funcionar melhor se tiver sido treinada
com pares incompletos, com componentes faltando)
CPE 721 Redes Neurais Feedforward 5 Pr-processamento 19 / 19
5 Obs complementares:
Regra para histogramas - valores tentativos para k
Tamanho da amostra
(n)
Nmero de Classes
(k)
100 < n
n
100 > n
n
10
log 5
CPE 721 Redes Neurais Feedforward 6 - Treinamento 1 / 10
6 Treinamento:
6.1 Superfcies de Erro
Mnimos locais possveis ? SIM !
Vrios mnimos globais
Comparao de solues:
somente via erro
6.2 - Evoluo do Erro durante o treinamento
Crtica (acompanhamento) durante o treinamento !
Erro
F0(n)
Nmero de passos de treinamento, n
Erro
F0(n)
Nmero de passos de treinamento, n
Erro
F0(n)
Nmero de passos de treinamento, n
CPE 721 Redes Neurais Feedforward 6 - Treinamento 2 / 10
6.3 Overtraining (overfitting, sobre-teinamento)
Conjunto dos pares entrada sada >>>
Conjuntos de Treinamento 60%
Validao 20%
(Teste 20%)
y
x
y
x
y
x
y
x
y
x
y
x
y
x
y
x
CPE 721 Redes Neurais Feedforward 6 - Treinamento 3 / 10
Evoluo dos erros ao longo do treinamento
nos conjuntos de treinamento e de teste
Controle do overtraining
parada prematura
Valid.
Trein.
Erro
F
0
(n)
Nmero de passos de treinamento, n
y
x
y
x
y
x
y
x
y
x
y
x
CPE 721 Redes Neurais Feedforward 6 - Treinamento 4 / 10
Save the Best
teste
*
w
*
se para
w
w
*
teste
<
teste
*
faa w
*
= w e
teste
*
=
teste
6.4 Crtica durante o treinamento
Acompanhamento da evoluo do erro nos conjuntos de
treinamento, validao e teste durante o processo de treinamento
incio do treinamento: avaliao de
Erro
Trein
F
0
(n)
Nmero de passos de treinamento, n
CPE 721 Redes Neurais Feedforward 6 - Treinamento 5 / 10
durante o treinamento:
contrle do overtraining,
parada prematura
durante o treinamento:
controle de possveis divergncias
Erro
F
0
(n )
Nmero de passos de treinamento, n
Divergncia tardia
Treinamento
Nmero de passos de treinamento, n
Treinamento
Parada prematura: duas solues
Erro
F
0
(n )
Teste
Validacao
CPE 721 Redes Neurais Feedforward 6 - Treinamento 6 / 10
Que tipo(s) de erro(s) acompanhar ?
Sadas contnuas Erro eficaz (erms) ou
erro mdio quadrtico (emq)
(erro na varivel medida) versus (erro matemtico)
emq erms =
Obs: se na normalizao
( )
i
i
Y i
Y
i
Y y
=
1
ento o erro eficaz na sada real, no escalada, :
i i i
y Y Y
erms erms =
Sadas Lgicas:
Erms versus Erro de Classificao
[ ]
[ ]
=
=
=
P
i
i i
i i
P
o classifica
y sign y
P
y sign y F
E
1
2
2
)
~
(
4
1
)
~
(
4
1
- erro percentual eficaz na
classificao
CPE 721 Redes Neurais Feedforward 6 - Treinamento 7 / 10
No acompanhamento do erro de sadas lgicas
Plotar os dois erros, erms e erro de classificao !
6.5 - Validao Cruzada
baixa estatstica
Caso extremo: leave one out
Conjunto dos Pares entrada sada >>>
Conjunto A 20%
Conjunto B 20%
Conjunto C 20%
Conjunto D 20%
Conjunto E 20%
F
erms
F
eclass
Passos de
treinamento
CPE 721 Redes Neurais Feedforward 6 - Treinamento 8 / 10
y y y y x
~ ~
) , ( =
Composio dos Conjuntos:
Treinamento
60%
Validao
20%
Teste
20%
C+D+E * B A
B+D+E C A
B+C+E D A
B+C+D E A
C+D+E * A B
A+D+E C B
... ... ...
A+B+D C E
A+B+C D E
Total: 20 casos ( * 10 treinamentos a realizar)
Verificar mdia e disperso do erro nos conjunto de teste.
6.6 Crtica ps-treinamento - histograma dos erros
3 >
k Provvel anomalia
CPE 721 Redes Neurais Feedforward 6 - Treinamento 9 / 10
Examinar conjuntos de treinamento, teste e validao
Anomalias possveis:
Intrusos,
Regies de baixa populao
Mapeamento localmente complexos
Correo de anomalias: ver processos ps treinamento
Intrusos - eliminar
Regies de baixa populao - replicar pares da
regio
Mapeamento localmente complexos - acrescentar
neurnios com atuao na regio
CPE 721 Redes Neurais Feedforward 6 - Treinamento 10 / 10
6.7 Treinamento dinmico, adaptativo
Sistemas variantes no tempo
Variaes lentas vs. rpidas
Variaes lentas nos pares entrada-sada (no mapeamento)
a rede acompanha, aprende o novo mapeamento e
esqueceos pares antigos (se >0 )
Variaes bruscas nos pares entrada sada (no mapeamento)
a rede pode no aprender o novo mapeamento, pode ficar
presa em um mnimo local, etc. Mais seguro refazer o
treinamento.
CPE 721 Redes Neurais Feedforward 7 Demo aproximador 1 / 5
A rede neural como um aproximador (sadas contnuas)
Demo Aproximador
( ) ( )
( ) ( )
y
y
y
x
x
y x
x
=
= =
= %
%
Rede Neural
numero de neurnios na camada intermediria ajustvel
passo treinamento ajustvel
decaimento do passo ajustvel
valores iniciais ajustveis
CPE 721 Redes Neurais Feedforward 7 Demo aproximador 2 / 5
Exemplo 1
Evoluo do treinamento e
Efeito do numero de neurnios na camada intermediaria
1 neurnio na camada intermediria
Inicio do treinamento Fim do treinamento
CPE 721 Redes Neurais Feedforward 7 Demo aproximador 3 / 5
3 neurnios na camada intermediria
Inicio do treinamento Fim do treinamento
Erro final vs nmero de neuronios
CPE 721 Redes Neurais Feedforward 7 Demo aproximador 4 / 5
Evoluo do erro ao longo do treinamento
Erro vs passo
Decaimento do passo
Overtraining
Composio da sada
CPE 721 Redes Neurais Feedforward 7 Demo aproximador 5 / 5
Efeito de Outlayers
Mnimos locais
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 1 / 12
Exemplos de aplicaes de
Redes Neurais como Aproximadores
(sadas contnuas)
Modelagem de um Conversor Siderrgico da CSN
Modelagem de 3 plantas de destilarias da Petrobras
Previso de atenuao em enlace de telefonia celular e em enlace de
comunicao terra-satelite
Previso de atrazo no pagamento por clientes (pessoas e instituies)
Previso do PIB brasileiro
Previso de volatilidade de opes Telebrs
Previso de consumo eltrico domiciliar
Previso de demanda de pico de energia
Previso de vazes hidrogrficas
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 2 / 12
Siderurgia:
Modelagem e
otimizao da operao dos
conversores da CSN
Entradas Sadas
Peso gusa Temperatura
Temperatura gusa %carbono
Peso sucata Houve projeo ?
Peso minrio
Peso calcita
Tempo sopro
Posio sopro
Temperatura ltima corrida
Tempo ltima corrida
Petroqumica:
Destilao ASTM de querozene da U 2100 (REPAR)
Entradas Sada
Temperatura de retirada
Vazo de retirada PIE (ponto inicial de ebulio)
do querozene
Relao molar do resduo
Destilao ASTM do diesel na U 200 (RPLAN)
8 entradas >>>>>> 1 sada
Ponto de entupimento do diesel na U 50 (REFAP)
15 entradas >>>>>>> 1 sada
Conversor Siderrgico
Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
Oxignio,V
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
Guza, P, T
Sucata, P
Minria, P
Calcita, P
Guza, P, T
Sucata, P
Minria, P
Calcita, P
T
0
% c
% s
T
f
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 3 / 12
Lubricidade do leo diesel
Resultados do treinamento x variveis de entrada
Entradas Neurnios camada
intermediria
Erro treinamento Erro teste
Todas 8 2,4 3,2
1,3,4,5,6,8,9,10,11 6 2,7 3,6
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 4 / 12
Previso de Temperaturas nas localidades
Entradas Sadas
Latitude Temperatura mxima anual
Longitude Temperatura mdia anual
Altitude Temperatura mnima anual
Previso de atrazo de pagamento
Previso (sada): dias de atrazo no pagamento (0 a 120)
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 5 / 12
Entradas selecionadas
UF do cliente
log do valor da compra (R$ 20 a 20.000)
log do valor mdio das compras (R$ 20 a 20.000)
MLP
8 neuronios tgh
1 neurnio linear
Atenuao de sinal em telefonia celular suburbana
A = f [ altura antena-mvel,
distncia,
tipo terreno,
topografia,
tipo ocupao,
obstculos,
etc.]
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 6 / 12
ESTAO
TERRENA
L
S
h
R
NVEL
DO MAR
L
G
AO
SATLITE
h
S
h
R -
h
S
Atenuao de sinal em enlace terra-satlite
A = Atenuao excedida em .01% do ano mdio
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 7 / 12
2
2
1
0
10
~
log 20
m
A
A A
E F
s
s
A
(
(
|
|
\
|
=
=
Pares e-s
268 >>>> 153 >>>>> 109 treinamento
pares completos 44 teste
overtraining prematuro
Modelos e
rms
% % F %
UIT-R - 3.3 % 35 % 35.1 %
Rede 1 - 7.7 % 29 % 29.6 %
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 8 / 12
Modelos e
rms
% % F %
UIT-R - 3.3 % 35 % 35.1 %
Rede 1 - 7.7 % 29 % 29.6 %
Rede 2 20 %
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 9 / 12
Modelagem do efeito corona
V(t)
V(t)
Q(t)
Q(t)
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 10 / 12
Poder de Parada de ons por Gases
Cludio C. B. Teles
CPE 721 - 2001
Projetil Gs
Ag Ar
Ar C4H10
Cl CF4
Cu CH4
Kr CO2
Ne H2
O He
Pb Kr
S N2
U Ne
Xe Xe
Entradas da Rede
Sada da rede:
Ep - energia do projetil Ln (S) - log do "stoping power"
ln (Zp) - log do nmero atmico do projetil
ln (Ap) - log do nmero de massa do projetil
ln (
Am /
Zm
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 11 / 12
Rede Neural:
MLP, 5 entradas,
camada intermediria com 16 neurnios tgh(.),
camada de sada com 1 neurnio linear
varivel, BP resiliente.
260 pares entrada-sada para treinamento, 86 para teste
CPE 721 Redes Neurais Feedforward 8 Aplicaes aproximadores 12 / 12
Resultados:
Total
(346 pares)
MAPE: 19.2 %
E
max
: 146 %
Examinando os pares com erros muito elevados:
Sem projetil O e sem alvo H2
(295 pares)
MAPE: 15.8 %
E
max
: 66 %
CPE 721 Redes Neurais Feedforward 9 Classificadores 1 / 30
) 1 , 1 ( +
i
y
} 1 , 1 { +
i
y
A Rede Neural como um Classificador
Associadores (variveis de sada contnuas) e
X Y
Classificadores (variveis de sada discretas)
X Y
CPE 721 Redes Neurais Feedforward 9 Classificadores 2 / 30
d x x
C x x
l k
i
l k
<
,
Tipos de classificadores:
Por similaridade
Arbitrrios
Regies
- de difcil separao
- de fuso
confuso
entre classes
A rede neural como
classificador
Sadas lgicas:
neurnio tipo tgh (.) na camada de sada
CPE 721 Redes Neurais Feedforward 9 Classificadores 3 / 30
Conveno para as sadas
{ }
( ) 1 , 1 ) (
~
1 , 1
+ =
+
u tgh y
y
Obs: no usar {0, 1} para y
Interpretao da sada da rede como varivel lgica
{ }
( ) 1 , 1 ) (
~
1 , 1
+ =
+
u tgh y
y
( )
<
+
= =
0
~
1
0
~
1
~ ~
log
y se
y se
y sign y
ico
y
~
CPE 721 Redes Neurais Feedforward 9 Classificadores 4 / 30
( ) )
~
(
~ ~
)
~
( ) (
~
log 1 1 log
0 0
ico ico
i i
y F F y sign y
y F F u tgh y
x w u
= =
= =
=
Erro de Classificao versus emq
{ } ( ) 1 , 1 ) (
~
1 , 1 + = + u tgh y y
( ) y sign y
ico
~ ~
log
=
Erro mdio quadrtico
( )
i
i i
y y
N
2
~
1
Erro de classificao
( )
i
lgico i i
y y
N
2
~
4
1
% de classificaes erradas em y
i
Variao do erro rms F
0
e do erro lgico F
1
com a variao das sinapses
w
ij
tgh
p(u
y
~
w
ij
tgh
p(u
y
~
CPE 721 Redes Neurais Feedforward 9 Classificadores 5 / 30
Variao do erro rms F
0
e do erro lgico F
1
com a variao das sinapses
Como treinar a rede ?
( )
ij ij
ico
ij
ico
ico
class
ij
class
w
y sign
w
y
w
y
y
F
w
F
~
~ ~
~
log log
log
????
Teorema (sem prova):
Se no treinamento de uma sada lgica y
i
os valores esperados (-1, 1)
coincidem com os valores de saturao do neurnio (tgh) ento
O minimante do erro mdio quadrtico tambm minimante do
erro mdio de classificao.
Concluso: o treinamento
backpropagation minimiza
o erro de classificao
Obs: a recproca no verdadeira, um
minimante do erro de classificao no
obrigatriamente minimante do emq
passos de treinamento
CPE 721 Redes Neurais Feedforward 9 Classificadores 6 / 30
Obs 1:
Ponto fraco: O nmero de neurnios na camada intermediria no
pode ser facilmente pr-determinado !
Obs 2: Capacidade de Mapeamento das Redes -
Sadas contnuas e lgicas na mesma rede
w
ij
w
ij
min F
0
L.G. do min F
CPE 721 Redes Neurais Feedforward 9 Classificadores 7 / 30
Teorema (sem prova):
Uma rede neural com duas camadas com (a) uma camada intermediria
com neurnios tipo tgh(.) e (b) uma camada de sada com neuronios lineares
para as sadas contnuas e neuronios tipo tgh para sadas lgicas treinada por
backpropagation pode realizar qualquer mapeamento L
2
.
Em casos complexos a convergncia do treinamento pode ficar dificultada
pela natureza muito diferente dos erros das sadas lgicas e contnuas. Neste caso
pode ser conveniente empregar duas redes distintas, uma para as sadas contnuas e
outra para as sadas lgicas.
tgh lin sada contnua
tgh
tgh tgh sada lgica
CPE 721 Redes Neurais Feedforward 9 Classificadores 8 / 30
Caso Mltiplas Classes
obrigatriamente utilizar
Codificao
Mximamente
Esparsa
no utilizar
Codificao
Compacta
ex: BCD
classificao compacta: classificao + codificao
simultaneamente.
no utilizar.
Codificao mximamente esparsa
Cada sada separa a sua classe das demais, i.e.
classe versus no classe
Separao de N classes Separao de duas classes:
classe versus no classe
CPE 721 Redes Neurais Feedforward 9 Classificadores 9 / 30
< <
> >
i i i
i i i
C x y u
C x y u
x
0 0
0 0
+
=
i
i
i
C x
C x
y
1
1
Capacidade de mapeamento
Redes com uma camada
m classes
O treinamento e a operao de cada neurnio independente dos
demais
Cada neurnio i separa sua classe C
i
de todas as demais
Operao
Separador ?
u
i
=0
CPE 721 Redes Neurais Feedforward 9 Classificadores 10 / 30
w
b
x w x d
w
x ctte x w x b x w x w x w
x x plano b x w u
t
t
= =
= = =
= = + =
0 0 0
0 0 0 0 0 0
0
, cos
) ( , cos , cos
0
w
u
w
b
w
x w
d x w x d
t
x
= + = =
0 0
, cos
Separador
(medido no sentido de w)
Lado positivo do plano ?
u = x
t
w + b >0
no sentido de w
Distncia de x ao plano
(medido no sentido de w)
Se normalizarmos
w
b
b e
w
w
w
o classificador no se altera mas
u d
x
=
CPE 721 Redes Neurais Feedforward 9 Classificadores 11 / 30
Interpretao geomtrica / estatstica
u
i
= x
t
w
i
+ b
i
i
t
i
i
t
i
b x w C x
b x w C x
<
>
Pela definio da funo objetivo os parmetros do separador, w
i
e b
i
classificam a entrada de forma tima, i.e.
minimizam o erro de classificao
levando em conta inclusive a populao
>>> a RN um classificador Bayesiano
w
i
direo tima na qual a entrada x deve ser projetada
componente principal de discriminao
b
i
nvel de discriminao timo
discriminante linear timo
discriminante de Fischer
maximiza a probabilidade de
acerto na classificao
CPE 721 Redes Neurais Feedforward 9 Classificadores 12 / 30
CPE 721 Redes Neurais Feedforward 9 Classificadores 13 / 30
Erro de classificao (minimizado):
FN FP VN VP
FN FP
e
class
+ + +
+
=
Outros parmetros usuais
Taxa de acerto
class
e
FN FP VN VP
VN VP
TA =
+ + +
+
= 1
Sensibilidade
FN VP
VP
S
+
=
Especificidade
FP VN
VN
E
+
=
Valor preditivo positivo
FP VP
VP
VPP
+
=
Valor preditivo negativo
FN VN
VN
VPN
+
=
Falsos Alarmes E
FP VN
FP
FA =
+
= 1 Falsas Perdas S
FN VP
FN
FP =
+
= 1
CPE 721 Redes Neurais Feedforward 9 Classificadores 14 / 30
Ajustando a rede para
alterar os parmetros
reduzir FN
(mas aumenta FP !)
reduzir (b)
aumentar b
problema: baixa populao nas caudas
analiticamente: aproximar a cauda da distribuio
Aproximao da cauda da distribuio
caso cauda gaussiana
arbitrrio, pequeno
P
1
= 1 erf (z
1
)
P
1
+ P
2
= 1 erf (z
2
)
z
1
= /
z
2
= ( )/ = z
1
- /
= /(z
1
- z
2
)
= z
1
/( z
1
- z
2
)
CPE 721 Redes Neurais Feedforward 9 Classificadores 15 / 30
Ex: Ajuste de Falsas Perdas
l b b z l
l
z
z erf FN
l
erf FN
antigo novo C C
C
C
desejado
C
C
+ = =
+
=
=
+
=
) ( 1 ) ( 1
basta alterar o bias
Visualizao: Curvas ROC
receiver operating characteristic
Sensibilidade (hits) vs.
Falsos Alarmes
no classe
classe
CPE 721 Redes Neurais Feedforward 9 Classificadores 16 / 30
) 1 (
2
) 1 (
.
2
FA S
FA S
E S
E S
SP
|
\
|
+
=
|
\
|
+
=
Fator de Mrito SP (soma-produto)
ponto timo = mx SP
Fechando (restringindo) a classificao
encapsulando a classe
max min
max min
,
u u u C x
u u
i i
< <
CPE 721 Redes Neurais Feedforward 9 Classificadores 17 / 30
Mltiplas classes - Tabela de Confuso
Classes
corretas
Resultado da
classificao
C
1
C
2
C
i
C
N
C
1
C
2
C
j
a
ij
C
N
a
ij
- % de elementos de C
j
classificados como C
i
Fechando (restringindo) a classificao
encapsulando a classe
max min
max min
,
u u u C x
u u
i i
< <
CPE 721 Redes Neurais Feedforward 9 Classificadores 18 / 30
Fechamento em mais direes ?
Para pertencer a
classe vermelha
u
1
< u
verm
< u
2
u
3
< u
verde
< u
4
u
5
< u
azul
< u
6
Ver PCD - componentes principais de discriminao
Abrindo a classificao
CPE 721 Redes Neurais Feedforward 9 Classificadores 19 / 30
i j u u C x
j i i
>
j i j i
j i
d d w w Se
u u
= =
=
i j u u C x
j i i
>
( ) ( )
2 1
2 1
2 1
2 1 2 1
w w
u u
w w
b b x w w
d
t
x
+
=
Separador
bissetrizes
Obs:
Obs 1: Distncia da entrada bissetriz
no sentido de w
1
-
w
2
CPE 721 Redes Neurais Feedforward 9 Classificadores 20 / 30
j
j
i
i
j i
w
d
w
d
u u = =
Obs 2: no caso em que a normalizao dos mdulos das sinapses w
i
no foi
feita, o novo separador simplesmente um plano passando pela interseco
dos anteriores, mas no equidistante dos mesmos.
12
2
CPE 721 Redes Neurais Feedforward 9 Classificadores 21 / 30
Capacidade de classificao
Redes de uma camada separadores lineares
Classes linearmente e no linearmente separveis
CPE 721 Redes Neurais Feedforward 9 Classificadores 22 / 30
Os exemplos clssicos:
Redes com mais de uma camada:
bastam duas camadas
(realizao por mintermos
ou maxtermos)
CPE 721 Redes Neurais Feedforward 9 Classificadores 23 / 30
Redes com duas camada, neurnios tipo tgh(.)
x >>> z >>> y
Camada de sada: separa classes linearmente separveis no domnio
z
Camada intermediria: mapeia classes no linearmente separveis
em x
em classes linearmente separveis em z
CPE 721 Redes Neurais Feedforward 9 Classificadores 24 / 30
Partio do espao de entrada
1 camada 2 camadas
planos separadores superfcies separadoras
Abrindo a classificao
Vencedor maior u (ou y) na camada de sada
1 camada 2 camadas -
planos bissetores superfcies bissetoras
CPE 721 Redes Neurais Feedforward 9 Classificadores 25 / 30
Treinamento da rede de uma camada
posio inicial
evoluo
Treinamento da rede de duas camadas
posio inicial
evoluo
CPE 721 Redes Neurais Feedforward 9 Classificadores 26 / 30
Evoluao do erro de treinamento
1 camada 2 camadas (classes no LS)
Erro
F0(n)
Nmero de passos de treinamento, n
Erro
F0(n)
Nmero de passos de treinamento, n
CPE 721 Redes Neurais Feedforward 9 Classificadores 27 / 30
Fim do treinamento
Valores timos das sinapses
t z y
t
i
1
~
0
| t |
( ) = w x u z
t
i i
max 1 0
| w |
A rede paraliza no fim do treinamento !
desde que haja um nmero suficiente de neurnios na camada
intermediria
as entradas so mapeadas nos vrtices do hipercubo lgico do espao z
(ou melhor, nas suas proximidades)
Z
CPE 721 Redes Neurais Feedforward 9 Classificadores 28 / 30
Re-interpretao do funcionamento das duas camadas da
rede
(no caso em que os neurnios saturam)
Para qualquer entrada os neurnios operam praticamente saturados
1 1 : 1 +
i i i
z ou z z
1
a
camada: cada neurnio da camada intermediria gera um separador linear
no domnio da entrada, definindo semiespaos com sada positiva (z
i
= +1) ou
negativa (z
i
= -1). O vetor z mapeia cada regio resultante da interseco
destes semiespaos em um vrtice do hipercubo lgico no espao z.
2
a
camada: cada neurnio da camada de sada gera um separador linear no
espao z que separa alguns vrtices deste espao dos demais. Isto , separa
(agrupa) algumas regies das demais.
CPE 721 Redes Neurais Feedforward 9 Classificadores 29 / 30
Exemplo: XOR
Obs 1: as superfcies separadoras degeneram em superfcies
poligonais (o contorno das regies resultantes da interseco dos
separadores) quando os neurnios operam saturados. Os espaos
so politopos.
- z
1
+
+ z
2
-
CPE 721 Redes Neurais Feedforward 9 Classificadores 30 / 30
Obs 2: se o nmero de neurnios na camada intermediria no for
suficientemente grande, as regies de x definidas pela interseco
dos separadores so mapeadas em regies nas faces do hipercubo
lgico em z.
Ex: 2 neurnios na camada intermediria
E, claro, se o nmero de neurnios na camada intermediria for muito
pequeno nem a classificao correta consegue ser realizada.
E as consideraes geomtricas e estatsticas ?
Valem para a camada de sada !
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 1 / 11
Demo Classificadores
Interpretao geomtrica
Rede 1 camada
Cada neurnio treina e opera de forma independente dos demais
Treinamento
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 2 / 11
Caso simples
- Efeito da populao
Efeito da populao agora com consequncias
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 3 / 11
Mais classes
Casos no linearmente separveis
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 4 / 11
Rede com duas camadas
Casos no linearmente separveis
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 5 / 11
Evoluo do treinamento
posio inicial
evoluo
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 6 / 11
Partio do espao da entrada
Casos mais complexos
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 7 / 11
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 8 / 11
Demo: OCR Neural
...
...
Entradas: Padres + 20% de ruido
Padroes
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 9 / 11
Rede Neural
dim x = 54 dim y =10 componentes binarias
2 camadas de neuronios
# neurnios camada intermediaria: 1 30
Passo treinamento .1 , max 500 epocas
Rudo: 0 20 %
Capacidade de Mapeamento
R
treino
= R
teste
= 15 %
1 camada >>> 77 % acertos
2 camadas f (N) N = # neurnios cam. intermed.
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 10 / 11
Efeito da Separabilidade dos padres
Efeito das condies de treino e operao
CPE 721 Redes Neurais Feedforward 10 Demo Classificadores 11 / 11
Abrindo a classificao
Robustez
Morte de neurnios
Neurnio morto: y = 0
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 1 / 22
Exemplos de aplicaes de
Redes Neurais como
Classificadores
(sadas discretas)
*** Classificao de avies
Insensibilizao rotao
cartesiana >> polar >> Fourrier
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 2 / 22
*** NET TALK
Contexto para pronncia ingls: 7 letras
portugus: 5 letras
Codificao da entrada: mximamente esparsa
7 x 29 = 203 bits !
Dimenso da rede:
# camadas 1 - 2 - 3 ??
# neurnios 0 - 60 - 80 - 120
Evoluo do treinamento
Treinamento, danos e retreinamento
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 3 / 22
O sotaque:
treina espanhol >>> fala ingls
Em portugus (7 letras)
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 4 / 22
*** Reconhecimento de palavras isoladas
sistema integrvel VLSI
captao .5 s
invariante 7 40 ms
16 quadros x 40 ms = 640 ms
total 20 Hz 5 kHz E
T
1
o
formante 230 750 Hz E
1
f
1
2
o
formante 850 2.200 Hz E
2
f
2
5 parmetos x 16 quadros = 80 entradas
Sistema completo
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 5 / 22
Resultados:
*** Reconhecimento de locutor cooperativo
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 6 / 22
*** Reconhecimento de caracteres numricos manuscritos
Pedro Motta Cardoso e Thiago Petinari Silva Cordeiro 2003
....................1111........
..................1111111.......
................1111111111......
...............111111111111.....
.............1111111.11111111...
............111111.....1111111..
...........1111111.....1111111..
..........11111........111111...
..........1111.........111111...
..........1111.........111111...
........1111..........111111....
.........111..........111111....
.......1111.........1111111.....
.......1111.........1111111.....
.......1111........11111111.....
.......1111...111111111111......
.......1111111111111111111......
......11111111111111.11111......
......1111111111....1111........
.......11111111.....1111........
....................111.........
...................1111.........
...................111..........
..................111...........
..................111...........
..................111...........
.................1111...........
.................1111...........
.................111............
................1111............
................11111...........
...............111..............
.............1111111111.........
............1111111111111.......
............11111111111111......
...........111111111111111......
...........11111111..1111.......
..........1111111...............
..........11111.................
.........11111..................
.........11111..................
.........1111...................
.......11111..11111.............
.......11111111111111...........
.......11111111111111...........
......1111111111111111..........
.......1111111111111111.........
.......111111111.1111111........
...................11111........
....................11111.......
.....................1111.......
.....................1111.......
.....................1111.......
.....................1111.......
....................1111........
...................11111........
..................11111.........
.................111111.........
................111111..........
...........11111111111..........
...........1111111111...........
............1111111.............
............111111..............
.............11.................
Digitalizao: 32 x 32 pixels >>> dim x = 1.024
Insensibilizao translao
escala
inclinao rotao
minimizadas pelo enquadramento:
no foram consideradas
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 7 / 22
Populao:
treinamento: 2500
teste: 1300
validao: 1800
Compactao, parametrizao >> matrizes 4x4
Mtodo 1 contagem de pixels 16 tons de cinza
perde a informao da posio dos 1s e 0s
0000 1111
0000 1111
1111 0000
1111 0000
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 8 / 22
Duas submatrizes 4x4 diferentes mapeadas no mesmo valor 8
Mtodo 2 bin >>> decimal perde o tom de cinza
0000000000000001 1
1000000000000000 32768
Mtodo 3 tom de cinza + posio
1 | 0000000000000100 65540 ( 1 na contagem e 4 na binria)
2 | 1000000000000011 131075 ( 2 na contagem e 3 na binria)
Treinamento:
Resultados:
Mtodo 1: 95 %
Mtodo 2: 93 %
Mtodo 3: 97 %
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 9 / 22
*** Confiabilidade de informantes
DADOS DE ENTRADA Descrio
1 Gnero M = Masculino, F = Feminino
2 Inscrio Em quantidade de anos
3 ltimo Recadastramento Em quantidade de anos
4 Idade Em quantidade de anos
5 a 10 Unidade Geogrfica Cdigo Numrico (Matriz Esparsa)
11 Anos de Prtica Em quantidade de anos
12 Aluno em Quantas Academias De 0 a 3
13 Aluno de Quantos Professores De 0 a 3
14 Integrante de Quantos Grupos De 0 a 3
15 Dirigido por Quantos Coregrafos De 0 a 3
16 Professor de Quantas Academias De 0 a 4
17 Coregrafo de Quantos Grupos De 0 a 3
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 10 / 22
Resultados:
Todas as entradas
Sem localizao geogrfica
Entradas 1, 2, 3, 4, 11, 12 e 16
Sem localizao geogrfica, sem #professores, #grupos, #coregrafos
Camada Acerto Acerto Rodada Tempo Acerto
Interm. Treino Teste Final Decorrido Validao
3 92,069 88,274 1040 00:09:42.600 81,589
6 93,132 88,820 1040 00:08:58.710 84,055
9 93,132 87,753 1160 00:11:26.740 77,451
Camada Acerto Acerto Rodada Tempo Acerto
Interm. Treino Teste Final Decorrido Validao
3 80,440 78,787 600 00:11:46.950 58,831
4 80,983 78,206 600 00:19:01.680 59,873
5 80,710 78,206 540 00:19:10.310 59,873
Camada Acerto Acerto Rodada Tempo Acerto
Interm. Treino Teste Final Decorrido Validao
3 91,746 90,000 1620 00:15:52.940 81,589
6 91,434 88,820 1040 00:11:30.300 79,415
9 90,843 88,274 1040 00:10:35.650 81,589
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 11 / 22
*** Cancer de mama
Entradas consideradas:
raio
textura
permetro
rea
regularidade
compactao
concavidade
pontos cncavos
simetria
dimenso fractal
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 12 / 22
Correlaes:
Entradas Sada
N
2
0.0838
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 y
x1 1.0000 0.7300
x2 0.3238 1.0000 0.4152
x3 0.9979 0.3295 1.0000 0.7426
x4 0.9874 0.3211 0.9865 1.0000 0.7090
x5 0.1706 -0.0234 0.2073 0.1770 1.0000 0.3586
x6 0.5061 0.2367 0.5569 0.4985 0.6591 1.0000 0.5965
x7 0.6768 0.3024 0.7161 0.6860 0.5220 0.8831 1.0000 0.6964
x8 0.8225 0.2935 0.8510 0.8233 0.5537 0.8311 0.9214 1.0000 0.7766
x9 0.1477 0.0714 0.1830 0.1513 0.5578 0.6026 0.5007 0.4625 1.0000 0.3305
x10 -0.3116 -0.0764 -0.2615 -0.2831 0.5848 0.5654 0.3368 0.1669 0.4799 1.0000 0.0128
Descorrelacionando:
Entradas
Sada
N
2
0.0838
x1 x2 x3 x4 x5 x6 x7 x8 x9 y
x1 1.0000 0.7300
x2 0.3238 1.0000 0.4152
x3 -0.1253 0.0571 1.0000 0.1233
x4 0.1989 0.1338 -0.1645 1.0000 0.2012
x5 0.1706 -0.0234 0.5404 -0.1485 1.0000 0.3586
x6 0.5061 0.2367 0.7232 -0.1361 0.6591 1.0000 0.5965
x7 0.6768 0.3024 0.5339 0.0415 0.5220 0.8831 1.0000 0.6964
x8 0.8225 0.2935 0.3548 0.0431 0.5537 0.8311 0.9214 1.0000 0.7766
x9 0.1477 0.0714 0.5211 -0.1530 0.5578 0.6026 0.5007 0.4625 1.0000 0.3305
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 13 / 22
Dimensionamento da rede / Aprendizado
Sem Aprendizado Adaptativo Com Aprendizado Adaptativo
= 0.1 0= 0.01
# neurnios
Erro no
Passo Final
Passo timo
Erro no
Passo timo
Erro no
Passo Final
Passo timo
Erro no
Passo timo
2 31 254 31 30 201 27
4 24 143 20 24 201 23
6 26 154 24 25 129 23
8 31 66 27 29 77 25
8* 27 131 27 28 154 24
8** 27 150 24 26 134 24
10** 26 158 26 28 161 26
* condio inicial entre (-2.6,2.6)
** condio inicial entre (-0.6,0.6)
e com 10 entradas ? um pouco pior !
Evoluo dos erros
emq e classificao
0 50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
Erro Medio na Operaao
Passos
0 50 100 150 200 250 300
0
10
20
30
40
50
Erro Logico na Operaao
Passos
Treinamento
Teste
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 14 / 22
Resultados:
Conjunto
Caso
Treino Teste Validao Total
Verdadeiro positivo
121 114 119 354
Verdadeiro negativo
65 68 63 196
Falso positivo
3 5 8 16
Falso negativo
1 2 0 3
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 15 / 22
***Discriminador Muons Rudo
Ricardo Ramos 2003
Acelerador LEP
Detector Atlas Calormetro Tilecal
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 16 / 22
Intervalo considerado
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 17 / 22
Resultados - comparao entre mtodos
Eficincia Curvas ROC
Entrada Dimenses
da rede
Eficincia
mdia (%)
Temporal 14 x 2 x 1 95,3
Temporal 7 x 2 x 1 96,4
PCAs 6 x 2 x 1 95,6
Temporal 14 x 1 95,4
Temporal 7 x 1 95,1
Deteco
de Pico
----- 88,0
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 18 / 22
0 2 4 6 8 10 12 14 16
0
50
100
150
200
250
300
0 2 4 6 8 10 12 14 16
0
50
100
150
200
250
300
*** Discriminao muons pions
Jos Faier - 2003
Sinais sobrepostos dos a) muons b)pons
Contaminao de feixe
Resultados:
Treinados com sinais contaminados
Sinais mos
classificados
corretamente
Contaminao
identificada
nos sinais de
pions
96% 1,21%
Treinados com sinais descontaminados
Sinais mos
classificados
corretamente
Contaminao
identificada
nos sinais de
pions
98% 1,84%
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 19 / 22
*** Dados Faltantes
Caso 1 Classificao de Vinhos
3 tipos de vinhos maduros da regio de Gnova
Populao
Classe 1 59
Classe 2 71
Classe 3 48
Atributos (entradas)
Atributo/
Caracterstica
Descrio Tipo de anlise armazenada
1 lcool
2 cido Mlico
3 Cinza
4 Alcalinidade de cinza
5 Magnsio
6 Fenis totais
7 Flavonides
8 Fenis no-flavonides
9 Proanthocyanins
10 Intensidade de cor
11 Tonalidade
12 Diluio do vinho em OD280/OD315
13 Prolina (aminocido)
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 20 / 22
Correlao entre atributos
Sada Ent 1 Ent 2 Ent 3 Ent 4 Ent 5 Ent 6 Ent 7 Ent 8 Ent 9 Ent10 Ent11 Ent12 Ent13
Sada 1.0000 -0.3282 0.4378 -0.0496 0.5179 -0.2092 -0.7192 -0.8475 0.4891 -0.4991 0.2657 -0.6174 -0.7882 -0.6337
Ent1 -0.3282 1.0000 0.0944 0.2115 -0.3102 0.2708 0.2891 0.2368 -0.1559 0.1367 0.5464 -0.0717 0.0723 0.6437
Ent2 0.4378 0.0944 1.0000 0.1640 0.2885 -0.0546 -0.3352 -0.4110 0.2930 -0.2207 0.2490 -0.5613 -0.3687 -0.1920
Ent3 -0.0496 0.2115 0.1640 1.0000 0.4434 0.2866 0.1290 0.1151 0.1862 0.0097 0.2589 -0.0747 0.0039 0.2236
Ent4 0.5179 -0.3102 0.2885 0.4434 1.0000 -0.0833 -0.3211 -0.3514 0.3619 -0.1973 0.0187 -0.2740 -0.2768 -0.4406
Ent5 -0.2092 0.2708 -0.0546 0.2866 -0.0833 1.0000 0.2144 0.1958 -0.2563 0.2364 0.2000 0.0554 0.0660 0.3934
Ent6 -0.7192 0.2891 -0.3352 0.1290 -0.3211 0.2144 1.0000 0.8646 -0.4499 0.6124 -0.0551 0.4337 0.6999 0.4981
Ent7 -0.8475 0.2368 -0.4110 0.1151 -0.3514 0.1958 0.8646 1.0000 -0.5379 0.6527 -0.1724 0.5435 0.7872 0.4942
Ent8 0.4891 -0.1559 0.2930 0.1862 0.3619 -0.2563 -0.4499 -0.5379 1.0000 -0.3658 0.1391 -0.2626 -0.5033 -0.3114
Ent9 -0.4991 0.1367 -0.2207 0.0097 -0.1973 0.2364 0.6124 0.6527 -0.3658 1.0000 -0.0252 0.2955 0.5191 0.3304
Ent10 0.2657 0.5464 0.2490 0.2589 0.0187 0.2000 -0.0551 -0.1724 0.1391 -0.0252 1.0000 -0.5218 -0.4288 0.3161
Ent11 -0.6174 -0.0717 -0.5613 -0.0747 -0.2740 0.0554 0.4337 0.5435 -0.2626 0.2955 -0.5218 1.0000 0.5655 0.2362
Ent12 -0.7882 0.0723 -0.3687 0.0039 -0.2768 0.0660 0.6999 0.7872 -0.5033 0.5191 -0.4288 0.5655 1.0000 0.3128
Ent13 -0.6337 0.6437 -0.1920 0.2236 -0.4406 0.3934 0.4981 0.4942 -0.3114 0.3304 0.3161 0.2362 0.3128 1.0000
Resultados obtidos com o Banco de Vinhos.
PCA
Dados faltantes
no teste
Dados faltantes
no treinamento
% de Acerto
100%
100%
92.31%
92.31%
87.18%
92.31%
Legenda: - No, - Sim,
- Nenhum dado faltante,
- 25% de dados faltantes,
- 50% de dados faltantes.
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 21 / 22
Caso 2 - ris
Correlao entre atributos:
sepal
length
sepal
width
petal
length
petal
width
sepal
length
1.000
sepal
width
-0.118 1.000
petal
length
0.872 -0.428 1.000
petal
width
0.818 -0.366 0.963 1.000
Resultados obtidos com o Banco da ris
Legenda: - No, - Sim,
- Nenhum dado faltante,
- 25% de dados faltantes,
- 50% de dados faltantes.
PCA
Dados faltantes
no teste
Dados faltantes
no treinamento
% de Acerto
95.24%
95.24%
85.71%
83.33%
83.33%
85.71%
73.81%
69.05%
CPE 721 Redes Neurais Feedforward 11 - Aplicaes Classificadores 22 / 22
*** Alguns outros exemplos de aplicaes de
classificadores (sadas lgicas):
Identificao de navios baseado em sinais de sonar passivo e de detetor
magntico
Identificao de patologias em ECG
Identificao no invasiva de consumo eltrico domiciliar instantneo
Classificao de defeitos em soldas via analise radiogrfica e por ultra-som
Classificao de falhas em linhas de transmisso de energia
Previso de contaminao por hepatite A em populaes carentes via
anamnese
CPE 721 Redes Neurais Feedforward 12 - Resumo do Treinamento 1 / 2
14 - Resumo do Processo de Treinamento - Batelada
I - Pr processamento
Selecionar as entradas usar
Compactar as entradas, se necessrio
Normalizar as entradas e sadas, verificar intrusos
Montar os conjuntos de pares entradas-sadas de
treinamento, teste e validao
Dimensionar a rede, atribuir valores iniciais s sinapses
Definir o mtodo de treinamento
Definir o critrio de parada do treinamento (overtraining)
e o intervalo de teste de parada N
II - Fase de Treinamento
BP resiliente com controle de overtraining
At que o critrio de parada esteja satisfeito
Aplicar N pocas de treinamento
poca de Treinamento
Para cada par entrada-sada do conjunto de treinamento
Aplicar x na rede; calcular v
j
, f
i
, y
l-rede
,
l
Criar a rede associada; calcular os erros
retropropagados
i
Calcular v
j
i
para cada sinapse
Outro par
Calcular o valor mdio E[v
j
i
] e
ij
de para cada sinapse w
ij
Atualizar as sinapses com w
ij
= 2
ij
E[v
j
i
]
Aplicar os pares de treinamento, validao e teste
Plotar os erros; verificar critrio de parada
Fim
CPE 721 Redes Neurais Feedforward 12 - Resumo do Treinamento 2 / 2
III - Crtica Ps Treinamento
Histograma dos erros e
Correes de anomalias
IV Processos Ps Treinamento
Relevncia das entradas
Absoro do escalamento
Poda da Rede, etc.