AULA 05
Multilayer perceptron
(continuação)
CLASSES DOS ALGORITMOS DE
TREINAMENTO
Os algoritmos de treinamento de perceptrons multicamadas podem ser
classificados nos seguintes itens:
Primeira classe: algoritmos que não requerem derivação, apenas avaliação
da função em diferentes pontos do espaço. São chamados métodos
sem diferenciação.
Segunda classe: faz uso da derivada primeira a ser minimizada.
São chamados métodos de primeira ordem.
A terceira classe de algoritmos são os métodos de segunda ordem, e utilizam
informações sobre a derivada segunda.
Uma outra classe consiste no ajuste de pesos usando método de tentativas e
erros, e é denominado método empírico.
métodos de treinamento
sem diferenciação
BE
GA
SA
primeira ordem
BP
BE-Busca Exaustiva
GA-Genetic Algorithms
SA-Simulated Annealing
BP –BackPropagation
GRAD- Gradiente
GC-Gradiente Conjugado
SCG-Scaled CG
FR-Fletcher-Reeves
PR-Polak-Ribiére
segunda ordem
GRAD
GC
SCG
FR
LM
PR
empíricos
OSS
DFP
QN
QP
MOD
BFGS
LM- Levenberg-Marquardt
OSS- One Step Secant
QN-Quasi Newton
DFP-Davidon-Fletcher-Powell
BFGS-Broyden-Fletcher-Goldfarb-Shanno
Algoritmo de primeira ordem: gradiente
Dado o gradiente da soma dos quadrados dos erros por:
 (w ) (w )
(w ) 
grad((w ))  (w )  
...


w

w

w
1
2
n 

a direção de maior decrescimento é dada por
d
(w)
(w)
e o ajuste do peso é dado por:
w(t  1)  w(t )   (t )
(w(t ))
(w(t ))
T
Algoritmos de segunda ordem
A série de Taylor de uma função f: R R na vizinhança do ponto x = x* é
dada por:
f ( x)  f ( x*) 
Exemplo:
1
1
f ' ( x) x  x* ( x  x*)  f ' ' ( x) x  x* ( x  x*) 2  ....
1!
2!
f ( x)  cos(x) ao redor de x  0
1
1 4
cos(x)  1  x 2 
x  ...
2
24
A função custo
(w) ao
(w)  (w*)  (w)
T
redor de um ponto w* é dada por:
1
T
2
(w

w*)

(w

w*)

(w)
w  w*
2
 (w ) (w )
(w ) 
(w)  
...


w

w

w
1
2
n 

é o gradiente de (w) , e
onde grad( (w) ) =
  2 (w )

2

w
 2 1
  (w )
 2 (w )   w2 w1

 
  2 (w )

 wn w1
é a matriz Hessiana de
 2 (w )
 2 (w ) 


w1w2
w1wn 
 2 (w )
 2 (w ) 

2
w2 wn 
w2


 
 2 (w )
 2 (w ) 

2 
wn w2
wn 
(w) , também denotada por H(w).
w  w*
T
(w  w*)  ...
Vizinhança de w* (ponto de mínimo erro)
-1
2
/2
1 - 1/
2

w*
u
2
u
1
w2
w1
Na vizinhança de w* , (w) se aproxima de uma função quadrática.
Os contornos correspondentes a um erro constante são elipses cujos eixos
são alinhados com os autovetores u1 e u2 da matriz Hessiana, com comprimentos
inversamente proporcionais à raiz quadrada dos autovalores correspondentes.
w Aw é chamada positiva se w Aw  0
• Uma forma quadrática
para qualquer w  0
e uma matriz simétrica A é chamada
positiva se w T Aw é uma forma quadrática positiva.
T
2
T
2
(w)
w1
w2
(w)  2  2
l
m
O traço (interseção) no plano w1w2
é um ponto (origem) e os traços
nos planos paralelos e acima do
plano w1w2 são elipses.
w2
w1
Cálculo da matriz hessiana
Seja a função custo da rede dada por
A primeira derivada é dada por:
onde
(w)  g ( F1 (w)  F2 (w)... Fn (w))
( w) ( w) u
u

 g ' (u )
w j
u w j
w j
u  F1 (w)  F2 (w)  ...  Fn (w)
Para a obtenção da derivada segunda aplica-se a regra do produto: (uv)’= u’v + uv’)
2
  2 F1 ( w)  2 F2 ( w)


F
(
w
)
 2 ( w)
u u
n

 g ' ' (u )
 g ' (u )

 ... 
 w w
wi w j
wi w j
wi w j
wi w j 
 i j
F1(w)
x
F2(w)
Fn(w)
g(u)
w3
Exemplo de cálculo
da matriz hessiana
x
w1
F1
f(u1)
w2
F2
w4
g(u2)
w5
y
(w3 x  w5 y  w4 f (w1 x  w2 y)
F2 F2 u 2
w4 f (w1 x  w2 y)

 g '
 g '
 g ' w4 f ' y
w2 u 2 w2
w2
w2
 2 F2
( g ' w4 f ' y)

 w4 y
w1w2
w1
 g '
f ' 


 f ' g '
w1 
 w1
 g ' u 2
f ' u1 

 w4 y 
 f ' g '
u1 w1 
 u 2 w1
 w4 y g ' ' w4 f ' xf ' g ' f ' ' x 
 g ' ' w42 f ' 2 xy  g ' w4 f ' ' xy
Exemplo de cálculo da hessiana (cont.)
w3
x
w1
F1
f(u1)
F2 F2 u 2

 g ' y
w5 u 2 w5
w2
y
 2 F2
( g ' y)
g '
g ' u 2

y
y
w1w5
w1
w1
u 2 w1
 g ' ' w4 f ' xy
F2
w4
g(u2)
w5
H11  g ' ' w42 f '2 x 2  g ' w4 f ' ' x 2
Resultado final
H 22  g ' ' w42 f '2 y 2  g ' w4 f ' ' y 2
H 33  g ' ' x 2
H 44  g ' ' f 2
H 55  g ' ' y 2
 H 11
H
 21
 

 H 51
H 12
H 22

H 52
 H 15 
 H 25 
 

 H 55 
H12  g ' ' w42 f '2 xy  g ' w4 f ' ' xy
H13  g ' ' w4 f ' x 2
H14  g ' ' w4 f ' xf  g ' f ' x
H15  g ' ' w4 f ' xy
H 23  g ' ' w4 f ' yx
H 24  g ' ' w4 f ' yf  g ' f ' y
H 25  g ' ' w4 f ' y 2
A matriz H é simétrica
H 34  g ' ' xf
portanto os valores da parte triangular
H 35  g ' ' xy
superior são iguais aos
valores da parte triangular inferior.
H 45  g ' ' yf
Método de Newton.
O método de Newton usa a equação do gradiente expandido em série de Taylor
grad((w  w))  grad((w))  H (w).(w)  ...
Se w + w é um ponto de mínimo, o gradiente será nulo, e desprezando os
termos de ordem superior, resulta em
0  grad((w))  H (w).(w)
Podendo usar para o cálculo de
:
w  H 1 (w).grad((w))
OBSERVAÇÃO: na prática usa-se métodos próximos ao de Newton, para evitar
o uso da matriz hessiana que necessita de uma quantidade grande de cálculos.
Exemplo: método de Newton
w  H 1 (w).grad((w))
(w)  (w1 , w2 )  w1  w2  12w1  9w2  256
3
w1 
3
2
2


2
2
 3w1  24w1 ; w2 
 3w2  18w2
w1
w2
  (3w1  24w1 , 3w2  18w2 )
2
w1w1 
2
w1
2
2
 6w1  24; w2 w2 
2
w2
0 
6w1  24
H (w )  

0
6
w

18
2


2
 6w2  18;
w1w2
2

0
w1w2
Exemplo Newton (cont.)
  (3w1  24w1 , 3w2  18w2 )
2
2
0 
6w1  24
H (w )  

0
6
w

18
2


Seja o ponto inicial w(0)=(1,1)
 18 0 
  (21,  15) e H  

0

12


w  H 1 (w).grad((w))
 1


0


( w1 , w2 )   H 1 .   18
1
 0
 
12

7
 21  6 
  15   5 

  
4
7 5  1 1
w(1)  (1, 1)   ,     ,  
6 4  6 4
 1


0


H 1   18
1
 0
 
12

Exemplo Newton (cont.)
Em w(1) =(-1/6,-1/4)
0 
 25
 147 75 
39
  
,
 e H  0

 36 16 

2 
 1


0


H 1   25
2
 0
 
39 

 0.163
(w1 , w2 )   H .  


0
.
240


1
w(2)  (0.167,  0.25)   0.163,  0.240   0.004,  0.010
w(3)  (1.39x106 ,  1.54x105 )
w(4)  (0 , 4.00x1011 )
w(5)  (0 , 0)
Método do gradiente conjugado
(ou direção conjugada)
Seja a forma quadrática
1 T
(w)  w Aw  b T w  c
2
onde w é um vetor de parâmetros Wx1, A é uma matriz WxW,
simétrica, definida positivamente, e b é um vetor Wx1 e c é um escalar.
A minimização de (w ) é obtida atribuindo a
1
w A b
*
w o valor
Método do gradiente conjugado (cont.)
Dada a matriz A, diz-se que um conjunto de vetores não-nulos s(0), s(1), ... s(W-1) é
conjugado de A (i.é, não interferem entre si no contexto da matriz A) se a seguinte
condição for satisfeita:
s T (n) A s( j )  0 para todo n e j tal que n  j
Exemplo: os dois vetores mostrados na Figura (a) são conjugados pois feita a transformação
1/2
vA x
resulta em vetores perpendiculares (Figura (b)).
x2
v2
x1
(a)
v1
(b)
Método de gradiente conjugado (cont.)
• Para um dado conjunto de vetores conjugados de A, s(0), s(1)...
s(W-1), o ajuste dos pesos é definido por:
w(n  1)  w(n)   (n)s(n), n  0,1,...,W  1
onde w(0) é um vetor inicial arbitrário e (n) é um escalar definido para
minimizar a função f(w(n)+(n)s(n)), e é referido como busca em linha.
Exemplo: gradiente conjugado
(w1 , w2 )  w1  2w1w2  4w2  8w1  6w2  16
2
2
 2 2
H 

2
8


Começando do ponto (0,0) ao longo do eixo w1, isto é, na direção (1,0),
procuramos a direção conjugada de (1, 0), denotada por (u,v).
2 2 u 
[1 0 ] 
0



2 8   v 
u 
[ 2 2]    0 isto é 2u  2v  0
v 
portanto um vetor que representa o gradiente conjugado é (1, -1).
Exemplo: Gradiente conjugado (cont.)
(w1 , w2 )  w1  2w1w2  4w2  8w1  6w2  16
2
2
na direção (1, 0) a função torna-se:
(w1 ,0)  w1  8w1  16
2
e tem um mínimo em (4, 0).
Iniciando desse mínimo (4, 0) ao longo da direção dada pelo conjugado (1, -1),
ou seja, ao longo da reta
w2  4  w1
a função pode ser escrita para w1
( w1 , w2 )  ( w1 ,4  w1 )  w1  2w1 (4  w1 )  4(4  w1 ) 2
2
 8w1  6(4  w1 )  16
 3w1  26w1  56
2
que tem um mínimo em w1 = 13/3
e w2 = -1/3
Resumo do Algoritmo de Gradiente Conjugado
1.
2.
3.
4.
5.
6.
Iniciar os valores de w(0)
Para w(0) usar o back-propagation para computar o gradiente g(0).
Fazer s(0)=r(0)=-g(0)
No passo n, usar a busca em linha para encontrar (n) que minimiza .
Testar se a norma euclidiana do residual r(n) caiu num valor abaixo do
especificado, ou seja numa pequena fração do valor inicial r(0).
Atualizar o vetor peso:
7.
8.
9.
Para w(n+1) usar back-propagation para computar o vetor gradiente g(n+1)
Fazer r(n+1) = - g(n+1)
Usar o método de Polak-Ribiére para calcular
w(n  1)  w(n)   (n)s(n)
 r T (n  1)(r (n  1)  r (n))
 (n  1)  max
,
T
r (n)r (n)

10. Atualizar a direção conjugada
s (n  1)  r (n  1)   (n  1) s (n)
11. Fazer n = n + 1 e ir para o passo 4.

0

Método de Levenberg-Marquardt (LM)
Neste método considerando a soma dos quadrados na forma:

 
1
n


2 n
2
onde n corresponde ao n–ésimo padrão de treinamento.
o cálculo de um elemento da matriz Hessiana fica
2 n
  n  n

2
n  
(H) ik 
 


wi w j

w

w

w

w
n 
i
k
i
k 
Calculando-se esse elemento sem o segundo termo do somatório,
obtem-se o método de Levenberg-Marquardt.
  n  n 
(H)'ik   


w

w
n 
i
k 
Aplicação de LM no exemplo
Hessiana
LM
H11  g ' ' w f ' x  g ' w4 f ' ' x
2
4
2
2
2
H 22  g ' ' w f ' y  g ' w4 f ' ' y
2
4
H 33  g ' ' x
2
2
2
2
H 11  g ' 2 w42 f ' 2 x 2
H 33  g ' x
2
H12  g ' ' w f ' xy  g ' w4 f ' ' xy
2
H13  g ' ' w4 f ' x
2
H14  g ' ' w4 f ' xf  g ' f ' x
H15  g ' ' w4 f ' xy
F1
w2
F2
w4
f(u1)
2
g(u2)
w5
y
H 44  g ' f
2
H 55  g ' y
2
2
H 55  g ' ' y 2
w1
H 22  g ' 2 w42 f ' 2 y 2
2
H 44  g ' ' f 2
2
4
w3
x
H 12  g ' 2 w42 f ' 2 xy
H 13  g ' 2 w4 f ' x 2
H 14  g ' 2 w4 f ' xf
 F F2 F2 F2 F2 
F2   2

 w1 w2 w3 w4 w5 
H ik 
F2 F2
wi wk
H 15  g ' 2 w4 f ' xy
H 23  g ' ' w4 f ' yx
H 23  g ' 2 w4 f ' yx
H 24  g ' ' w4 f ' yf  g ' f ' y
H 24  g ' w4 f ' yf
H 25  g ' ' w4 f ' y 2
H 25  g ' 2 w4 f ' y 2
H 34  g ' ' xf
H 34  g ' 2 xf
H 35  g ' ' xy
H 35  g ' ' xy
H 45  g ' ' yf
H 45  g ' 2 yf
2
 H 11
H
 21
 

 H 51
H 12
H 22

H 52
 H 15 
 H 25 
 

 H 55 
T
F2
 g ' w4 f ' x
w1
F2
 g ' w4 f ' y
w2
F2
 g' x
w3
F2
 g' f
w4
F2
 g' y
w5
Métodos disponíveis no NN toobox
(MATLAB)
• Sigla algoritmo
•
•
•
•
•
•
•
•
•
•
•
•
GD
GDM
GDA
LM
BFG
RP
SCG
CGB
CGF
CGP
OSS
GDX
traingd
traingdm
traingda
trainlm
trainbfg
trainrp
trainscg
traincgb
traincgf
traincgp
trainoss
traingdx
método
Gradient Descent
Gradient Descent with Momentum
Gradient Descent with Adaptive Learning Rate
Levenberg-Marquardt
BFGS Quasi-Newton
Resilient Backpropagation
Scaled Conjugate Gradient
Conjugate Gradient with Powell/Beale Restarts
Fletcher-Powell Conjugate Gradient
Polak-Ribiére Conjugate Gradient
One Step Secant
Variable Learning Rate Backprogagation
Como usar o NN toolbox para:
Parâmetros: epochs, show, goal, time, min_grad, max_fail, lr
lr – learning rate – se lr for muito grande o algoritmo se torna instável.
se o lr for muito pequeno, o algoritmo leva muito tempo para convergir
O estado do treinamento é mostrado a cada iteração (show).
Se show for NaN, nunca é mostrado.
Os outros parâmetros determinam a parada do treinamento.
O treinamento pára se o número de iterações exceder epochs,
se a função custo cair abaixo do goal, se a magnitude do gradiente
for menor que min_grad, ou se o tempo de treinamento é maior
que o tempo (time) em segundos.
O parâmetro max_fail é associado à técnica de parada antecipada,
para melhorar a capacidade de generalização da rede.
Como usar o NN toolbox para:
criar um conjunto de treinamento de entradas p e alvo t (saída desejada)
criar uma rede feedforward (a função minmax é usada para determinar
o intervalo das entradas a ser usado):
alterar alguns parâmetros default de treinamento
treinar a rede
executar a simulação com os dados de entrada de treinamento
MLP normalmente usa função sigmóide. Essas funções se caracterizam
pelo fato da derivada para argumentos grandes ser muito pequena.
Isso causa morosidade na velocidade de convergência quando os
argumentos são grandes e ainda a rede estiver longe de valores ótimos.
Rprop (resilient backpropagation) elimina esse efeito. Somente o sinal da
derivada é usado para determinar a direção da atualização do peso.
A quantidade da atualização é determinado de outra forma.
O valor da atualização para pesos e bias é incrementado de um fator delt_inc
sempre que a derivada for na mesma direção para duas iterações
sucessivas.
O valor da atualização é decrementado por um fator delt_dec sempre que
a derivada muda de sinal em relação a iteração anterior.
Sempre que os pesos estiverem oscilando a mudança nos pesos é reduzida.
Se a derivada é zero, o valor da atualização permanece o mesmo.
Gradiente conjugado:
Todos os algoritmos de gradiente conjugado iniciam a busca na direção
descida íngreme (negativo do gradiente) para a primeira iteração.
Uma pesquisa nessa direção é então realizada para determinar a distância
ótima para mover ao longo da direção atual.
Então a próxima direção é determinada tal que ela seja conjugada da direção
prévia. O procedimento geral para determinar uma nova direção é combinar
a nova direção de descida íngreme com a direção prévia.
As várias versões de algoritmos de gradiente conjugado são diferentes na
maneira em que k é computado. Para Fletcher-Reeves é usada a equação:
Essa é a razão do quadrado da norma do gradiente atual em relação ao
quadrado da norma do gradiente anterior.
Gradiente conjugado:
A direção de pesquisa a cada iteração é determinada, como no anterior, por
porém a constante k é computada por
que é o produto interno da mudança anterior no gradiente com o gradiente
corrente dividido pelo quadrado da norma do grandiente anterior.
Gradiente conjugado:
Para todos os algoritmos de gradiente conjugado, a direção de pesquisa é
periodicamente reiniciado (reset) para o negativo do gradiente.
O ponto de reset padrão ocorre quando o número de iterações é igual ao
número de parâmetros (pesos e bias) da rede, mas existem outros métodos
que podem melhorar a eficiência do treinamento. Um método proposto
por Powell, baseado numa versão anterior proposto por Beale, reinicia a
direção se existe muito pouca ortogonalidade entre o gradiente atual e o
gradiente prévio. Isso é testado pela seguinte inequação:
Se essa condição é satisfeita, a direção de pesquisa é reiniciada para o
negativo do gradiente.
Gradiente conjugado:
Cada um dos algoritmos anteriores requerem uma pesquisa na direção
a cada iteração. Essa pesquisa é computacionalmente onerosa, pois
requer que sejam computadas a resposta da rede para todas as entradas
de treinamento, várias vezes para cada pesquisa.
O algoritmo de gradiente conjugado escalado, desenvolvido por Moller, foi
projetado para evitar esse consumo de tempo.
Esse algoritmo combina uma abordagem de modelo de região de confiança
(model trust) usado no algoritmo de Levenberg-Marquardt, com a técnica
do gradiente conjugado.
O método de Newton é uma alternativa para os métodos de gradiente
conjugado para otimização rápida. O passo básico do método é
O método quase sempre converge mais rápido que os métodos de
gradiente conjugado. Infelizmente, é complexo e oneroso computar
a matriz hessiana.
Existe uma classe de algoritmos que é baseada no método de Newton, mas
não requer o cálculo de derivadas segundas, que são chamados de métodos
quasi-Newton ou secante.
Eles atualizam uma matriz aproximada da hessiana a cada iteração do algoritmo.
A atualização é computada como uma função do gradiente.
O método quasi-Newton que tem sido mais bem sucedido em estudos publicados
é o de Broyden, Fletcher, Goldfarb, e Shanno (BFGS).
Como o algoritmo BFGS requer mais armazenamento e computação em
cada iteração que os algoritmos de gradiente conjugado, existe uma
necessidade de uma aproximação secante com menor armazenamento
e computação.
O método de secante em um passo (one step secant) é uma tentativa
intermediária entre os algoritmos de gradiente conjugado e os algoritmos
quasi-Newton.
Esse algoritmo não armazena a matriz hessiana completa. Ele assume
que a cada iteração, a Hessiana anterior é uma matriz identidade.
Existe uma vantagem adicional de que a nova direção de pesquisa seja
calculada sem computar a matriz inversa.
Exemplos comparativos
SENO – aproximação de um período da
função seno (1-5-1)
Problema de aproximação de função. Rede 1 – 5 – 1, funções tansig para
camadas escondidas e linear para camada de saída.
Cada entrada na tabela representa 30 tentativas diferentes, com diferentes
valores de pesos iniciais. Parada com erro quadrático = 0.002.
O algoritmo mais rápido é o Levenberg-Marquardt, na média 4 vezes mais
rápido que o próximo.
Esse é o tipo de problema que o algoritmo LM é adequado – problema de
aproximação de função, onde a rede tem menos que 100 pesos e a
aproximação deve ser com muita precisão.
SENO – aproximação de um
período da função seno (1-5-1)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
LM
1.14
1.00
0.65
1.83
0.38
BFG
5.22
4.58
3.17
14.38
2.08
RP
5.67
4.97
2.66
17.24
3.72
SCG
6.09
5.34
3.18
23.64
3.81
CGB
6.61
5.80
2.99
23.65
3.67
CGF
7.86
6.89
3.57
31.23
4.76
CGP
8.24
7.23
4.07
32.32
5.03
OSS
9.64
8.46
3.97
59.63
9.79
GDX
27.69
24.29
17.21
258.15
43.65
Mse x tempo de convergência
Tempo em função da meta (mse)
Detecção de paridade de um número de 3 bits
(3-10-10-1)
Problema de reconhecimento de padrões – detectar paridade de um
número de 3 bits.
Se o número de uns é impar a saída deve ser 1, caso contrário, -1.
Rede 3-10-10-1, com tansig em todas as camadas.
Cada entrada na tabela representa 30 diferentes tentativas, com diferentes
valores iniciais de pesos. Parada a erro quadrático = 0.001.
O algoritmo mais rápido é o Resilient Backpropagation (Rprop).
Nota-se que o algoritmo LM não tem bom desempenho neste problema.
Em geral LM não desempenha tão bem em reconhecimento de padrões como
em problemas de aproximação. O LM é projetado para problemas de
mínimos quadrados que são aproximadamente lineares. Como os neurônios
de saída em problemas de reconhecimento de padrões são geralmente
saturados, não operam na região linear.
Detecção de paridade de um número de 3 bits
(3-10-10-1)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
RP
3.73
1.00
2.35
6.89
1.26
SCG
4.09
1.10
2.36
7.48
1.56
CGP
5.13
1.38
3.50
8.73
1.05
CGB
5.30
1.42
3.91
11.59
1.35
CGF
6.62
1.77
3.96
28.05
4.32
OSS
8.00
2.14
5.06
14.41
1.92
LM
13.07
3.50
6.48
23.78
4.96
BFG
19.68
5.28
14.19
26.64
2.85
GDX
27.07
7.26
25.21
28.52
0.86
Mse x tempo de convergência
Tempo em função da meta (mse)
Operação de um motor (entrada = velocidade e nível queima de
combustível; saída= torque e emissão)
(2-30-2)
Problema de regressão não-linear. Os dados são obtidos de operação
de um motor. As entradas são a velocidade e o consumo de combustível,
enquanto que as saídas são o torque e o nível de emissão.
A rede usada é de 2-30-2 com neurônios tansig na camada escondida e
linear na camada de saída.
Cada entrada na tabela representa 30 tentativas (10 par RP e GDX por
restrições de tempo), com diferentes pesos iniciais.
Parada com erro quadrático menor que 0.005.
O mais rápido é o LM, embora o BFGS e os gradientes conjugados (scaled
em particular) são quase tanto quanto.
Embora esse problema seja de aproximação de função, o LM não é claramente
superior como no caso do SENO. Neste caso, o número de pesos e bias
na rede é maior (152 x 16), e as vantagens do LM decresce com o
Aumento do número de parâmetros.
Operação de um motor (entrada = velocidade e nível queima de
combustível; saída= torque e emissão)
(2-30-2)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
LM
18.45
1.00
12.01
30.03
4.27
BFG
27.12
1.47
16.42
47.36
5.95
SCG
36.02
1.95
19.39
52.45
7.78
CGF
37.93
2.06
18.89
50.34
6.12
CGB
39.93
2.16
23.33
56.42
7.50
CGP
44.30
2.40
24.99
71.55
9.89
OSS
48.71
2.64
23.51
80.90
12.33
RP
65.91
3.57
31.83
134.31
34.24
GDX
188.50
10.22
81.59
279.90
66.67
Mse x tempo de convergência
Tempo em função da meta (mse)
CÂNCER – Classificação de tumor benigno ou maligno
baseada nas descrições obtidas através de dados
microscópicos. (9-5-5-2)
Reconhecimento de padrões (ou análise de discriminantes não-lineares).
Objetivo é classificar um tumor como benigno ou maligno baseado em descrições
celulares obtidas de exames microscópicos. Os atributos de entrada incluem
espessura da amostra, uniformidade do tamanho da célula e formato, quantidade
de adesão marginal, e frequência de núcleos descobertos.
Os dados foram obtidos de: University of Wisconsin Hospitals.
A rede é de 9-5-5-2 com neurônios tansig em todas as camadas.
Cada entrada na tabela representa 30 tentativas, com pesos iniciais distintos.
O critério de parada é de erro quadrático menor que 0.012. Alguns treinamentos
falharam na convergência, tal que somente os 75% dos treinamentos de cada
algoritmo foram usados para estatística.
Os algoritmos de gradiente conjugado e Rprop apresentam convergência rápida
e o algoritmo LM é também razoavelmente rápido.
Como no caso de PARIDADE, o algoritmo LM não desempenha tão bem em
problemas de reconhecimento de padrões, como em problemas de aproximação
de funções.
CÂNCER – Classificação de tumor benigno ou maligno
baseada nas descrições obtidas através de dados
microscópicos. (9-5-5-2)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
CGB
80.27
1.00
56.07
102.31
13.17
RP
83.41
1.04
59.51
109.39
13.44
SCG
86.58
1.08
41.21
112.19
18.25
CGP
87.70
1.09
56.35
116.37
18.03
CGF
110.05
1.37
63.33
171.53
30.13
LM
110.33
1.37
58.94
201.07
38.20
BFG
209.60
2.61
118.92
318.18
58.44
GDX
313.22
3.90
166.48
446.43
75.44
OSS
463.87
5.78
250.62
599.99
97.35
mse x tempo de convergência
Tempo em função da meta (mse)
COLESTEROL- predizer o nível de colesterol
(LDL,HDL,VLDL)
Aproximação de função (ou regressão não-linear). O objetivo da rede é
predizer os níveis de colesterol baseados em medidas de 21 componentes
espectrais. Os dados foram obtidos de Oklahoma State University.
Rede de 21-15-3 neurônios com ativação tansig na camada escondida e
linear na camada de saída.
Cada entrada na tabela representa 20 tentativas (10 para RP e GDX), onde
diferentes pesos iniciais são usados.
O critério de parada é de erro quadrático menor que 0.027.
O algoritmo de gradiente conjugado escalado tem o melhor desempenho, embora
todos os outros algoritmos de gradiente conjugado desempenham bem.
O algoritmo LM não desempenha em como no problema de aproximação de função.
Isso porque o número de pesos e bias na rede aumentou (378 versus 152 versus 16).
Quando o número de parâmetros aumenta, a computação requerida para o LM
aumenta geometricamente.
COLESTEROL- predizer o nível de colesterol
(LDL,HDL,VLDL) baseado na medida de 21
componentes espectrais. (21-15-3)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
SCG
99.73
1.00
83.10
113.40
9.93
CGP
121.54
1.22
101.76
162.49
16.34
CGB
124.06
1.24
107.64
146.90
14.62
CGF
136.04
1.36
106.46
167.28
17.67
LM
261.50
2.62
103.52
398.45
102.06
OSS
268.55
2.69
197.84
372.99
56.79
BFG
550.92
5.52
471.61
676.39
46.59
BP
1519.00
15.23
581.17
2256.10
597.34
GDX
3169.50
31.78
2514.90
4168.20
610.52
Mse x tempo de convergência
Tempo em função da meta (mse)
DIABETES – verificar se um individuo tem diabetes baseado nos
dados (idade, número gravidez, pressão sanguínea, índice de massa
corpórea, glicemia, etc.) (8-15-15-2)
Problema de reconhecimento de padrões. Decidir se um indivíduo é
diabético, baseado nos dados pessoais (idade, número de gravidez) e
resultados de exames médicos ( pressão sanguínea, índice de massa
corpórea, resultado do teste de tolerância a glicose, etc.). Os dados
foram obtidos da University of California, Irvine, machine learning data base.
A rede é de 8-15-15-2 com neurônios tansig em todas as camadas.
Cada entrada na tabela representa 10 tentativas, com diferentes pesos
iniciais. O critério de parada é de erro quadrático menor que 0.05.
Os algoritmos de gradiente conjugado e Rprop todos proveem convergência
rápida. O algoritmo RProp funciona bem em todos os problemas de
reconhecimento de padrões. Isso é razoável, pois ele foi projetado para superar
as dificuldades causadas pelo treinamento com funções sigmóides, que tem
pequena inclinação quando o argumento é distante do centro.
Para problemas de reconhecimento de padrões, são usadas funções sigmóides
na camada de saída, e a rede opera nas extremidades das funções.
DIABETES – verificar se um individuo tem diabetes baseado
nos dados (idade, número gravidez, pressão sanguínea, índice
de massa corpórea, glicemia, etc.) (8-15-15-2)
Algoritmo
Temp
médio (s)
Razão
Tempo
Tempo
Desvio
mínimo(s) máximo(s) padrão(s)
RP
323.90
1.00
187.43
576.90
111.37
SCG
390.53
1.21
267.99
487.17
75.07
CGB
394.67
1.22
312.25
558.21
85.38
CGP
415.90
1.28
320.62
614.62
94.77
OSS
784.00
2.42
706.89
936.52
76.37
CGF
784.50
2.42
629.42
1082.20
144.63
LM
1028.10
3.17
802.01
1269.50
166.31
BFG
1821.00
5.62
1415.80
3254.50
546.36
GDX
7687.00
23.73
5169.20
10350.00
2015.00
Mse x Tempo de convergência
Tempo em função da meta (mse)
Download

w 1