Você está na página 1de 12

Treinamento de Redes Neurais Feedforward: comparativo

dos algoritmos Backpropagation e Differential Evolution


Hegler C. Tissot1, Luiz C. Camargo1, Aurora T. R. Pozo1
1
Departamento de Informática – Universidade Federal do Paraná (UFPR)
Jardim das Américas – Curitiba – PR – Brazil
{hctissot,lccamargo,aurora}@inf.ufpr.br
Resumo. Neste artigo, os algoritmos Backpropagation (BP) e Differential
Evolution (DE) são comparados no treinamento de redes multilayer
perceptron (MLP) em quatro abordagens: (a) backpropagation, (b) DE com
parâmetros fixos, (c) DE com parâmetros ajustados e (d) uma alternativa
híbrida usando ambos os algoritmos. Os resultados mostram que as soluções
híbridas são uma boa alternativa para combinar características de diferentes
algoritmos, como busca local e busca global. Por outro lado, a dificuldade em
se ajustar parâmetros de treinamento desse tipo de solução híbrida pode
prejudicar na eficiência dos mesmos, impedindo de alcançarem melhores
resultados.
Abstract. This paper compares Backpropagation (BP) and Differential
Evolution (DE) algorithms on training multilayer perceptron (MLP) networks
in four approaches: a) backpropagation, (b) DE with fixed parameters, (c) DE
with adjusted parameters and (d) a hybrid alternative using both the
algorithms. The results show that hybrid solutions are good alternative to
combine different characteristics, such as local search and global search.
Therefore, it is difficult to adjust training parameters in this sort of hybrid
solutions, which may impair their efficiency, thereby preventing them from
achieving better results.

1. Introdução
Redes Neurais Artificiais (RNA) são frequentemente utilizadas para detectar tendências
que são complexas para serem percebidas pelos seres humanos. RNAs são
especialmente usadas para encontrar soluções genéricas para problemas onde um padrão
de classificação precisa ser extraído. RNAs oferecem maneiras diferentes de resolver
muitos problemas não-lineares que são difíceis de serem resolvidos por meio de técnicas
convencionais. Muitos algoritmos são aplicados para a minimização e melhoria da
aprendizagem da RNA. Esses algoritmos podem ser classificados como de minimização
local e minimização global. Algoritmos de minimização local, tal qual o método
gradiente descendente, são rápidos, mas convergem para mínimos locais. Por outro
lado, os algoritmos de minimização global usam estratégias heurísticas para escapar dos
mínimos locais [Shang e Benjamin, 1996].
Algoritmos evolutivos [Luke, 2011] podem ajudar a evitar o problema de
convergência para mínimos locais e explorar técnicas de minimização global no
treinamento de RNAs, alguns algoritmos evolutivos: differential evolution (DE) [Ilonen
et al, 2003], [Slowik e Bialko, 2008]; por particle swarm optimization (PSO) [Kennedy
e Eberhart, 1995 ]; ant colony optimization (ACO) [Blum e Socha, 2005]; e artificial
bee colony (ABC) [Karaboga et al, 2007].
Independente do algoritmo usado para treinar RNAs, atenção voltada para a
inicialização e ajuste de pesos é fundamental para a convergência e para evitar
overfitting, problema que geralmente acontece em padrões de treinamento [Shang e
Benjamin, 1996]. Algoritmos de aprendizagem são utilizados para ajustar os valores de
peso [Slowik e Bialko, 2008], backpropagation (BP) é o mais popular [Ooyen e
Nienhuis, 1992]. BP, com base no método gradiente descendente, é eficiente para
treinar RNAs. No entanto, este algoritmo é sensível a mínimos locais e requer ajustes no
coeficiente de aprendizagem.
Como alternativa, os algoritmos evolutivos podem ser aplicados na pesquisa de
pesos de uma rede Feedforward (FF) para escapar de mínimos locais [Ilonen et al,
2003], [Slowik, 2011]. Quanto aos algoritmos evolutivos, o uso do algoritmo
differential evolution (DE) foi motivado pela possibilidade de verificar e validar
algumas características inerentes a esse tipo de algoritmo.
Este artigo descreve e compara os resultados obtidos no treinamento de RNAs
com diferentes algoritmos, conjuntos de dados e parâmetros. Para apoiar esta
experiência, dois algoritmos em quatro diferentes abordagens foram utilizados: (a)
backpropagation, (b) DE com parâmetros fixos, (c) DE com parâmetros ajustados e (d)
uma alternativa híbrida usando ambos os algoritmos.
Este artigo está organizado da seguinte forma: na Seção II encontra-se uma
breve apresentação da rede neural feedforward (FF) e do multilayer perceptron (MLP);
na Seção III, o algoritmo de differential evolution (DE) e seu pseudocódigo são
explicados; a Seção V expõem alguns trabalhos relacionados; a Seção IV descreve o
algoritmo Backpropagation no processo de treinamento de RNAs; na Seção VI, é
descrito o experimento e os resultados obtidos; na Seção VII, encontra-se a conclusão
com trabalhos futuros.

2. Redes Neurais Feedforward (FF)


Uma Rede Neural Feedforward (FF) é formada por unidades de processamento
interligadas conhecidas como neurônios (ou nós), e tem a tendência natural para
armazenar conhecimento experimental e torná-lo disponível para uso [Haykin, 2001].
Dentre os principais tipos de redes FF, destaca-se o multilayer perceptron
(MLP). Redes MLP consistem de uma única camada de nós de saída, que são
alimentados diretamente por uma camada de entrada através de um conjunto de pesos.
Redes MLP consistem em múltiplas camadas: uma camada de entrada, uma ou mais
camadas escondidas e uma camada de saída. Cada camada possui nós e cada nó está
totalmente interligado por pesos com todos os nós da camada subsequente. O MLP
transforma entradas em saídas por meio de alguma função não-linear como:


 =   ∗ ,  (1)


(1)

onde f() é a função de ativação do o-ésimo neurônio da camada de saída, xh é a saída do
h-ésimo neurônio da camada escondida e wh,o é a interconexão entre o h-ésimo neurônio
da camada escondida e o o-ésimo neurônio da camada de saída. H é o tamanho da
camada escondida. Normalmente, a função sigmoide é a mais utilizada como função de
ativação, e é dada pela formula [Yilmaz and Kaynar, 2011]:

 = (2)
(2)
  ∑
 ∗ ,

A função de ativação é aplicada no h-ésimo neurônio da camada escondida e, da


mesma forma, no o-ésimo neurônio da camada de saída. Com base nas diferenças entre
a saída calculada e o valor esperado,
espera um erro é definido, na forma [Yilmaz and Kaynar,
2011]:
 "
  
()
 = ∗   ∗ 
()
  !  (3)
(3)
 
 
onde N é o número de padrões de entrada do conjunto de dados de treinamento,
treinamento L é o
()
número de neurônios da camada de saída,  é o valor desejado de saída para o o-
ésimo neurônio da camada de saída para o s-ésimo dado do conjunto de dados de
()
treinamento,  é a saída calculada pelo o-ésimo neurônio da camada de saída para o
ésimo dado do conjunto de
s-ésimo d dados de treinamento. O objetivo é reduzir o erro E,
ajustando os pesos das conexões entre as camadas. Camada de entrada e camadas
ocultas podem ter um nó adicional chamado bias. Bias é um neurônio cuja função de
ativação
vação é permanentemente definida como 1. Assim como outros neurônios, o bias é
também ligado com pesos aos neurônios da camada subsequente. Na Figura 1, é
mostrado um modelo de MLP usado neste artigo.

Figura 1. Modelo de MLP

De acordo com a Figura


Figur 1, bias recebe um valor igual a 1; wh são pesos para
todas as conexões entre a camada de entrada e a camada intermediária (hidden);
( wo são
pesos para todas as conexões entre a camada intermediária
intermediária e a camada de saída;
saída xo é a
função sigmoide usada como função de ativação na camada intermediária e na camada
de saída; e E é a função que calcula o erro do
d MLP, comparando o resultado da camada
de saída com os valores desejados.

3. Algoritmo Differential
ntial Evolution (DE)
Desenvolvido em 1997 por Kenneth Price e Rainer Storm [Storn
Storn and Price, 1997],
1997 o
algoritmo differential evolution (DE) tem sido aplicado com sucesso para resolver
problemas complexos em engenharia,
engenharia alcançando soluções
ões muito próximas de
d ótimos.
DE é descrito como um método de pesquisa paralelo estocástico que utiliza
conceitos da classe dos algoritmos evolutivos (AEs) [Storn, 1999]. DE, assim como
outros AEs, é facilmente paralelizado pelo fato de que cada membro da população é
avaliado individualmente [Storn and Price, 1997] [Storn, 1999]. DE é eficiente na
otimização não-linear e também é útil na otimização de problemas multimodais
[Karaboga and Ökdem, 2004]. O algoritmo DE destaca-se sobre os algoritmos genéticos
tradicionais por ser mais fácil de usar, por fazer uso mais eficiente de memória, baixa
complexidade para implementação e exigir um menor esforço computacional. [Slowik,
2011].
1: Initialize Parameters
2: F ← mutation rate
3: CR ← crossover rate
4: P ← {} (Empty population of length popsize)
5: Q ← {} (Empty population of length popsize)
6: for i from 1 to popsize do
7: Pi ← new random individual
8: Best ← {}
9: repeat
10: for each individual Pi ∈ P do
11: AssessFitness(Pi)
12: if Q ≠ {} and Fitness(Qi) < Fitness(Pi) then
13: Pi ← Qi
14: if Best={} or Fitness(Pi) < Fitness(Best) then
15: Best ← Pi
16: Q ← P
17: for each individual Qi ∈ Q do
18: a ← Copy (Qrand1) (Qrand1 ≠ Qi)
19: b ← Copy (Qrand2) (Qrand2 ≠ Qi,a)
20: c ← Copy (Qrand3) (Qrand3 ≠ Qi,a,b)
21: d ← a + F (b – c)
22: Pi ← one child from Crossover(d,Copy(Qi))(CR)
23: until Best is the ideal solution or timeout
24: return Best

Figura 2. Algoritmo DE – adaptado de [Luke, 2011]

De acordo com o pseudocódigo, depois de criar a população inicial (P), o fitness


de cada elemento deve ser calculado (linha 11) e comparado com os demais para
escolher o melhor elemento da população (linhas 14-15). Para cada elemento da
população é criado um filho através da combinação linear de três outros elementos
aleatoriamente escolhidos (linhas 18-21). O crossover é aplicado entre o elemento filho
e seu pai e um dos elementos resultantes Pi é escolhido (linha 22). Os elementos
escolhidos são então comparados com seus pais e podem substituí-los quando o fitness
dos filhos é melhor que o fitness de seus respectivos pais (linhas 12-13). F é um
parâmetro que indica a taxa de mutação e determina o valor adicionado aos vetores b e c
(linha 21). CR representa a taxa de crossover, usado para combinar pesos entre cada pai
e seu respectivo filho (linha 21). F ϵ [0, 1] e CR ϵ [0,1] são determinados manualmente
pelo usuário.
Ajuste de parâmetros é um problema no treinamento de RNAs, uma vez que F e
CR podem assumir valores fixos ou gerados dinamicamente por meio de uma função de
ajuste. Além de definir os parâmetros F e CR para mutação e crossover, DE também usa
uma seleção por torneio onde cada filho compete diretamente contra seu respectivo pai.
4. Backpropagation (BP)
Proposto em 1986 por Rumelhart, Hinton e Willian, o método backpropagation
[Rumelhart at al., 1986] e um procedimento de aprendizagem para redes feedforward
(FF) de múltiplas camadas (MLP). Basicamente o procedimento de aprendizagem
utiliza vetores que mapeiam um conjunto de entradas para um conjunto de saídas.
O aprendizado é realizado por ajuste iterativo dos pesos da rede para minimizar
as diferenças entre a saída atual e a saída desejada. A rede é inicializada com pesos
aleatórios. Durante o processo de aprendizagem, um vetor de entrada é apresentado para
a rede e propagado para determinar os valores da saída. A seguir, o vetor de saída
produzido pela rede é comparado com o vetor de saída desejado, resultando num sinal
de erro, que é retropropagado através da rede para permitir o ajuste dos pesos. Este
processo é repetido até que a rede responda, para cada vetor de entrada, com um vetor
de saída com valores suficientemente próximos dos valores desejados [Ooyen and
Nienhuis, 1992], [Rumelhart at al., 1986]. Neste processo, a saída é geralmente
produzida por uma função sigmoide.
BP é um método baseado no gradiente descendente, o que significa que este
algoritmo não garante encontrar um mínimo global e pode estagnar em soluções de
mínimos locais, onde ficaria preso indefinidamente. Contudo, BP é muito popular e
amplamente utilizado no treinamento de RNAs.

5. Trabalhos Relacionados
O uso de algoritmos evolutivos tem se destacado na solução de problemas que exige a
otimização do espaço de busca global na solução de diversos tipos de problemas. Esses
algoritmos também têm sido utilizados para o treinamento de RNAs, como por
exemplo, o algoritmo DE. Em 2003, Ihonen, Kamarainen e Lampinen [Ihonen at al.,
2003] constataram em seus experimentos que as características do DE facilitam o
treinamento de redes neurais artificiais, principalmente pelo fato da convergência da
solução ser mais rápida e por flexibilizar a manutenção dos parâmetros de ajustes.
Slowik e Bialko [Slowik e Bialko, 2008] aplicaram o DE no treinamento de rede
neural FF para a classificação do problema Parity p. Os resultados obtidos foram
comparados com os resultados do algoritmo BP e com os resultados de mais duas
abordagens: método EA-NNT [Slowik e Bialko, 2007] e o algoritmo LM Leven-
Marquardt [Marquardt, 1963]. Contudo, nessa comparação o DE mostrou-se uma boa
alternativa, principalmente para a classificação de dados. Na tentativa de incrementar o
uso do DE no treinamento de RNAs FF, Slowik [Slowik, 2011] combinou a seleção de
parâmetros adaptativos com a técnica de múltiplos vetores e comparou os resultados
obtidos com os resultados de três abordagens: BP, EA-NNT e LM, os resultados do DE
foram satisfatórios, mas o consumo de memória foi muito alto em relação as demais
abordagens.

6. Descrição do Experimento
Neste experimento, cinco bases de dados foram utilizadas para o treinamento de MLPs,
com o objetivo de comparar os resultados obtidos a partir de diferentes abordagens de
treinamento: backpropagation (BP), duas variações do algoritmo DE, e também uma
combinação híbrida de tais algoritmos foram utilizados.
6.1. Bases de dados e configuração das MLPs
As bases de dados usados para treinamento das redes neste experimento foram as
seguintes [Frank e Assunção, 2010]: Cancer (Breast Cancer Wisconsin Original Data
Set), Diabetes (Pima Indians Diabetes Data Set), Glass (Glass Identification Data Set),
Heart (Statlog Heart Data Set). Cada base de dados foi dividida em três grupos de
instâncias, cada um correspondendo ao conjunto de treinamento, conjunto de validação,
e conjunto de teste. Estes grupos foram criados com tamanhos diferentes, dependendo
da base de dados, como mostrado na Tabela 1.

Tabela 1. Conjuntos de treinamento, validação e teste.


Número de Instâncias
Base
Treinamento Validação Teste
Cancer 347 176 176
Diabetes 256 256 256
Glass 128 43 43
Heart 134 68 68
Iris 74 38 38
Neste experimento algumas configurações foram usadas por padrão. Para todas
as abordagens, as MLPs foram inicializadas com pesos aleatórios entre [-1, +1]. Uma
camada oculta com tamanho diferente foi definida para cada banco de dados. Nas bases
de dados cancer e heart foram usadas MLPs com 5 nós na camada intermediária. Nas
demais bases foram usadas MLPs com 10 nós na camada intermediária. Neurônios das
camadas intermediária e de saída foram conectadas a um bias com valor 1. As ligações
entre o bias e os neurônios da camada subsequente também foram inicializadas com
valores aleatórios entre [-1, +1].

6.2. Abordagens de treinamento das MLPs


Cada base de dados foi usada no processo de treinamento de uma população de MLPs.
Dois tamanhos de população diferentes foram utilizados (50 e 200), e para cada
tamanho de população, MLPs foram treinadas para comparar quatro diferentes
abordagens, usando os algoritmos BP e DE:
• BP: o algoritmo backpropagation foi usado para treinar as MLPs da população e
a melhor MLP foi selecionada, considerando o ciclo de treinamento com a
melhor combinação de fitness de treinamento e de validação.
• DE com parâmetros fixos: como recomendado na literatura [Tvrd´ık, 2007], os
valores fixos escolhidos para F e CR foram: F = 0,8 e CR = 0,5.
• DE com parâmetros ajustados dinamicamente: F e CR foram recalculados
depois de cada ciclo ou geração de treinamento – seis técnicas, descritas na
sessão 6.3, foram testadas para selecionar o método que consideramos o mais
apropriado.
• Híbrido DE+BP: DE com parâmetros ajustados dinamicamente foi combinado
com BP, com o objetivo de complementar as características encontradas em cada
um desses algoritmos, ou seja, busca global do DE refinada com uma busca
local do BP após cada geração. Figura 3, mostra parte do algoritmo DE (extraído
da Figura 2 com uma variação híbrida usando o BP para realizar a busca local,
sempre que uma melhoria de fitness e alcançada pelo DE. Uma chamada do BP
foi adicionada (linhas 12a e 12b) cada vez que um filho Pi substitui seu
respectivo pai Qi na população. Backpropagation executa o máximo de dez
ciclos de refinamento, finalizando antes disso se houver qualquer melhoria no
fitness de Pi em comparação com o fitness original de Pi gerado pelo crossover
do DE.

8: …
9: for each individual Pi ∈ P do
10: AssessFitness(Pi)
11: if Q ≠ {} and Fitness(Qi) < Fitness(Pi) then
12: Pi ← Qi
12a: else
12b: BackPragation(Pi);
13: if Best={} or Fitness(Pi) < Fitness(Best) then
14: Best ← Pi
15: Q ← P
16: …

Figura 3. Parte do algoritmo DE com variação híbrida usando BP

A evolução de cada elemento MLP na população baseia-se apenas na melhoria


da função de fitness de treinamento, mas para selecionar o melhor MLP para ser usado
na fase final de testes, não apenas o fitness de treinamento foi considerado, como
também o fitness de validação. Para ser substituído por um novo MLP best, o MLP
candidato deve ter tanto fitness de treinamento e de validação melhores que o do MLP
best atual. A Figura 4 mostra a evolução do fitness de treinamento de um MLP (em
azul) e do fitness de validação (em vermelho) ao longo do máximo de 500 gerações. A
geração 187 foi destacada em verde porque apresentou a melhor combinação de fitness
de treinamento e de validação. Melhor fitness de treinamento pode ser observado nas
gerações seguintes, mas não há melhora do correspondente valor da função de
validação.

Figura 4. Evolução de Treinamento de um MLP para seleção do Best

6.3. Técnicas para ajuste de parâmetros no DE


Como parte do experimento, foi necessário selecionar um método para ajustar
dinamicamente os parâmetros F e CR ao longo do processo de treinamento com o
algoritmo DE. Seis técnicas foram testadas, todas com uma população de 50 MLPs e
usando a base heart. Os resultados parciais foram comparados e analisados, e,
finalmente, a técnica considerada mais adequada para ser executado com o DE foi
escolhida.
O ajuste de F e CR é efetuado com os recálculos destes parâmetros após cada
geração [Slowik, 2011]. Um fator A é usado para identificar o grau de melhoria que
cada geração tem para o melhor fitness parcial. Slowik [Slowik, 2011] sugere que A
seja calculado como a razão entre o melhor fitness da geração atual (i) e melhor fitness
da geração anterior (i-1), e depois calcular um novo F e CR baseado em A e um número
aleatório escolhido entre 0 e 1. Os novos valores calculados de F e CR são então
aplicados para todos os elementos do MLP da população na próxima geração.
&'()(
%=
&'()(
(4)

' =  × % × +,)-. (5)

/0 = % × +,)-. (6)

Outras técnicas para ajustar F e CR foram avaliadas: a) ajuste por elemento, em


que F e CR são calculados para cada elemento da população; b) ajuste por elemento
com fator de redução, em que um fator de redução de 0,5 é aplicado a um (A = A * 0,5)
para cada geração em que nenhuma melhoria é alcançada para o melhor fitness parcial;
c) ajuste global usando best, onde a melhor MLP na população é forçada a ser usada na
na combinação linear; d) ajuste global usando vetores múltiplos, onde um vetor de "N"
candidatos é gerado aleatoriamente para escolher um candidato para crossover (um
vetor de tamanho 5 foi utilizado para testar esta abordagem) [Slowik, 2011]; e e) ajuste
por elemento usando best e fator de redução, que combina duas das técnicas
mencionadas.
Para comparar os resultados das técnicas utilizadas para ajustar os parâmetros F
e CR, os conjuntos de treinamento e de validação da base heart foram utilizados para
extrair algumas medidas que possibilitaram essa comparação: melhor fitness de
treinamento e de validação, geração em que o best MLP foi encontrado, scores de
respostas corretas usando o best MLP sobre os dados de validação e taxa de cobertura
para a confiança de 70% estabelecida.
A abordagem que utiliza vetores múltiplos teve a melhor avaliação, mas
apresenta alto consumo de tempo CPU para processar o treinamento da população. Por
este motivo, foi escolhida a abordagem que usa ajuste global dos parâmetros.

6.4. Critérios para comparação entre BP e DE


Os algoritmos BP, DE com parâmetros fixos, DE com parâmetros ajustados e uma
abordagem híbrida usando DE e BP foram executadas para cada uma das bases
utilizadas neste experimento, com populações de 50 e 200 indivíduos. Os resultados
foram comparados de acordo com os seguintes critérios:
• Uso de CPU: De acordo com os critérios de parada definidos anteriormente,
cada execução de treinamento da população pode chegar de 200 a 500 ciclos ou
gerações. Uso da CPU é um critério que mostra a rapidez com que cada
abordagem pode alcançar o melhor resultado de fitness dentro de uma rodada de
treinamento de uma população.
• Best Fitness: seleção do melhor MLP considerando a combinação de fitness de
treinamento e de validação, conforme explicado anteriormente (Figura 4).
• Teste dos melhores MLPs: os melhores MLPs (best) foram testados para medir
a capacidade de generalizar a solução, e utilizados com os conjuntos de dados de
teste selecionados de cada base de dados. Para demonstrar os resultados obtidos,
alguns conceitos utilizados para calcular a pontuação de cada MLP: a) Taxa de
Confiança: as respostas obtidas a partir dos nós da camada de saída do MLP são
dadas por números reais entre 0 e 1; a taxa de confiança determina o grau de
confiança de que os valores de saída do MLP devem ter para serem considerados
como respostas válidas para uma classificação positiva; na Tabela 2, a taxa
confiança utilizada foi de 70%, o que significa que apenas respostas maior ou
igual a 0,7 foram considerados; b) Taxa de Cobertura: quando valores de saída
do MLP são inferiores à taxa de confiança, tais exemplos possuem respostas que
não cobrem a confiança desejada; a taxa de cobertura indica o percentual de
instâncias em que as respostas são superiores à taxa de confiança em relação ao
total de instâncias consideradas no teste e c) Score: mesmo quando a MLP gera
uma resposta que corresponda taxa de confiança, não necessariamente significa
que esta resposta é correta; o Score mede o número de respostas certas dadas
pelo MLP comparando as respostas desejadas registradas na base de dados,
considerando somente os casos que correspondem à taxa de confiança.

6.5. Resultados
Como o BP não é exatamente um algoritmo evolutivo, foi usado um grupo de MLPs
independentes e selecionado o melhor MLP a partir deste grupo após o treinamento ter
sido finalizado. O número de MLPs treinados com BP foi o mesmo que o tamanho da
população usada para o DE. O máximo de 500 ciclos para o BP e 500 gerações para o
DE foram definidas como limite do processo de treinamento. Contudo, sempre que 200
ciclos ou gerações eram executados sequencialmente sem melhoria no best MLP, o
processo era também finalizado.
De acordo com o uso de CPU, a Tabela 2 mostra que o BP é mais rápido que o
DE para todas as bases de dados utilizadas.

Tabela 2. Uso de CPU


Uso de CPU (minutos) Uso de CPU (minutos)
Algoritmo Algoritmo
Cancer Diabetes Glass Heart Iris Cancer Diabetes Glass Heart Iris
BP 33 41 36 34 25 BP 53 76 65 59 26
DE fixed 56 216 131 97 40 DE fixed 184 343 196 185 82
DE adaptive 81 174 168 78 151 DE adaptive 236 365 139 293 36
DE + BP 58 47 38 64 35 DE + BP 174 165 116 187 37
(a) População = 50 (b) População = 200

Os dados apresentados nas Tabela 2. foram obtidos depois de uma única


execução de cada algoritmo e suas respectivas variações. Em decorrência da falta de
tempo para a execução das cinco bases, somente três bases de dados foram selecionadas
(glass, heart e iris) para serem testadas com dez execuções com as abordagens BP e
DE+BP com população igual a 50 indivíduos. Os resultados dessas dez execuções
encontram-se na Tabela 6. Já Tabela 3, mostra a média e o desvio padrão de uso de
CPU. Valores são similares aos obtidos anteriormente com uma única execução de cada
algoritmo, e confirma que BP e mais rápido que as abordagens que utilizam DE.
Tabela 3. Média e Desvio Padrão de uso de CPU
Uso de CPU (minutos) Desvio Padrão
Algoritmo
Glass Heart Iris Glass Heart Iris
BP 36 35 13 3,52 2,59 1,14
DE + BP 55 76 17 3,35 2,09 1,14

De acordo com o critério de melhores fitness de treinamento e de validação


obtidos para o melhor MLP encontrado durante o treinamento da população para cada
base de dados, os resultados podem ser comparados na Tabela 4. Os melhores fitness
para cada base de dados foram destacados em negrito.

Tabela 4. Melhores Fitness de Treinamento e Validação (a partir do melhor MLP)


Fitness de Treinamento Fitness de Treinamento
Algoritmo Algoritmo
Cancer Diabetes Glass Heart Iris Cancer Diabetes Glass Heart Iris
BP 0,004 0,110 0,071 0,018 0,015 BP 0,003 0,110 0,057 0,018 0,015
DE fixed 0,028 0,195 0,367 0,053 0,159 DE fixed 0,047 0,169 0,370 0,091 0,140
DE adaptive 0,026 0,146 0,297 0,081 0,033 DE adaptive 0,022 0,166 0,372 0,097 0,100
DE + BP 0,020 0,125 0,166 0,049 0,014 DE + BP 0,021 0,141 0,176 0,032 0,013
(a) Fitness de Treinamento para População = 50 (b) Fitness de Treinamento para População = 200
Fitness de Validação Fitness de Validação
Algoritmo Algoritmo
Cancer Diabetes Glass Heart Iris Cancer Diabetes Glass Heart Iris
BP 0,024 0,194 0,246 0,094 0,018 BP 0,021 0,194 0,213 0,094 0,018
DE fixed 0,024 0,204 0,403 0,116 0,117 DE fixed 0,052 0,195 0,366 0,116 0,126
DE adaptive 0,022 0,177 0,319 0,114 0,034 DE adaptive 0,019 0,181 0,371 0,125 0,093
DE + BP 0,025 0,174 0,262 0,106 0,021 DE + BP 0,023 0,176 0,253 0,095 0,017
(c) Fitness de Validação para População = 50 (d) Fitness de Validação para População = 200

BP alcançou os melhores valores para fitness de treinamento em todas as bases


de dados exceto para iris, ainda que considerando os dois tamanhos diferentes de
população que foram utilizados no experimento, e BP também teve os melhores fitness
de validação para a metade das abordagens avaliadas.

Tabela 5. Comparativo de Scores e Coberturas (cover) para confiança = 70%


Cancer Diabetes Glass Heart Iris
Algoritmo
Score Cover Score Cover Score Cover Score Cover Score Cover
BP 95,9 99,4 81,3 81,6 70,2 86,0 80,3 97,0 94,7 100
DE fixed 93,1 100 84,6 43,3 50,0 4,6 67,1 100 96,5 76,3
DE adaptive 95,2 97,1 89,8 57,8 100 16,2 83,3 97,0 94,5 97,3
DE + BP 97,6 98,2 86,1 62,1 77,2 51,1 84,1 92,6 94,7 100
(a) População = 50
Cancer Diabetes Glass Heart Iris
Algoritmo
Score Cover Score Cover Score Cover Score Cover Score Cover
BP 96,5 98,8 81,3 81,6 81,2 74,4 80,3 97,0 94,7 100
DE fixed 94,1 97,7 83,2 53,5 42,8 16,2 79,7 100 100 50,0
DE adaptive 94,7 97,7 88,8 52,7 75,0 18,6 82,3 100 100 81,5
DE + BP 98,2 95,4 85,8 69,1 62,8 81,4 83,0 95,5 94,7 100
(b) População = 200

Considerando a fase de testes dos melhores MLPs selecionados em cada


processo de treinamento, a Tabela 5 mostra os scores e as taxas de cobertura (cover
rate) obtidas a partir de uma taxa de confiança de 70%. Essas medidas são o resultado
do processo de treinamento de cada base de dados, com população de 50 e 200
indivíduos para cada algoritmo.
Nos resultados apresentados na Tabela 5 pode-se observar que DE+BP parece
ser um pouco mais eficiente do que a abordagem que usa apenas BP, mas nos resultados
da avaliação estatística apresentada na Tabela 6, ambos os algoritmos são equivalentes
considerando Scores, e BP ainda leva uma pequena vantagem contra o DE+BP
considerando a taxa de cobertura (cover rate).

Tabela 6. Médias de Scores e Coberturas (Cover rate)


BP DE+BP
Algoritmo
Score Cover Score Cover
Glass 71,4 72,0 71,3 65,5
Heart 82,5 92,6 82,2 83,6
Iris 94,74 100 94,75 99,2
Para identificar a significância estatística entre os valores que compõem as
médias de Score e Cover obtidas com as bases Glass, Heart e Iris (Tabela 6), foi
utilizado o método estatístico Kruskal-Wallis, por meio da ferramenta R-Comander [R-
Project, 2012]. Apenas os valores da média do Score para a base Heart apresentou
significância estatística de 0.01341, ou seja, o p-value=0.01341.

7. Conclusões
Com base nos resultados apresentados nas Tabelas 2-6, pode-se observar que a
execução do treinamento com o algoritmo BP consome menos tempo de CPU que o
algoritmo DE. Isso faz sentido uma vez que o algoritmo DE necessita criar um maior
número de instâncias MLPs para realizar a combinação linear. Considerando os fitness
de treinamento e de validação, apesar da aparente vantagem apresentada pelo algoritmo
BP em relação ao algoritmo DE, testes estatísticos mostraram que ambos os algoritmos
são equivalentes ao medir Scores, ainda que o BP seja melhor para cobrir a confiança
desejada nos testes. O algoritmo DE provê a vantagem de pesquisa global e pode
também ser combinado com outros algoritmos em soluções híbridas para obter melhores
resultados. Apesar disso, neste experimento o algoritmo BP ainda mostrou-se mais
eficiente para cobrir os casos usados no teste com base no parâmetro de confiança
considerado. Para futuros trabalhos, sugerimos que outras variações híbridas sejam
testadas para combinar algoritmos de busca global e local e ajustar os parâmetros
utilizados na tentativa de encontrar soluções mais eficientes para a classificação desses
dados e de outros dados.

Referências
Blum C. and Socha K. (2005) “Training feed-forward neural networks with ant colony
optimization: An application to pattern classification”, HIS`05, Fifth Intern. Confer.
on Hybrid Intelligent Systems, IEEE Computer Society Washington, USA, pp., 233-
238.
Frank, A. and Assuncion, A. (2010) “UCI Machine Learning Repository”
http://archive.ics.uci.edu/ml, Irvine, CA: University of California, School of
Information and Computer Science.
Haykin S. S. (2001) “Redes neurais: princípios e prática”, 2ª.ed. Porto Alegre, RS
Bookman.
Ilonen J., Joni-Krisitan K. and Lampinen J. (2003) “Differential Evolution Training
Algorithm for Feed-Forwar Neural Networks”, Neural Processing Letters, Kluwer
Academic Publishers, Vol.17, No.1 pp 93-105, March.
Karaboga D., Akay B. and Ozturk C. (2007) “Artificial Bee Colony (ABC) Optmization
Algorithm for Training Feed-Forward Neural Networks”, Modeling Decision for
Artificial Intelligence, Springer Berlin/Heidelberg, Vol. 4617, pp. 318-329.
Karaboga D. and Ökdem S. (2004) “A simple and global optimization algorithm for
engineering problems: Differential Evolution Algorithm”, Turk J Elec Engin, Vol.12
No.1.
Kennedy J. and Eberhart R. (1995) “Particle Swarm Optimization”, Neural Networks,
IEEE International Conference, Vol. 4, pp. 1942-1948.
Luke S. (2011) “Essentials of Metaheuristics”, Department of Computer Science,
George Mason University, Online Version 1.1, January.
Marquardt, D. W. (1963) “An algorithm for least-squares estimation of nonlinear
parameters”, Journal of the Society for Industrial and Applied Mathematics,
Philadelphia, v. 11, n. 2, p. 431–441.
Ooyen A. V. and Nienhuis B. (1992) “Improving the Convergence of the
Backpropagation Algorithm”, Neural Networks, vol.5, pp. 465-471, Pergamon Press.
Osowski A. (1996) “Neural networks in algorithmic use”. WNT, Warsaw, (in Polish).
Rumelhart D. E., Hinton G. E. and Williams R. J. (1986) “Learning representations by
back-propagating errors”, Nature, Vol. 323 pp 533- 536, October.
R-Project (2012), “The R Project for Statistical Computing”, www.r-project.org, June.
Slowik A. (2011) “Application of an Adaptive Differential Evolution Algorithm With
Multiple Trial Vectors to Artificial Neural Network Training”, IEEE Transactions on
Industrial Electronics, Vol. 58, no.8, pp. 3160-3167, August.
Slowik A. and Bialko M. (2008) “Training of Artificial Neural Networks Using
Differential Evolution Algorithm”, IEEE, HIS, pp. 60-65, Krakow, Poland, May.
Shang Y. and Benjamin W. W. (1996) “Global Optimization for Neural Network
Training”, IEEE Computer, Vol. 29, no.3, pp. 45-54, March.
Storn R. and Price K. (1997) “Differential Evolution - A simple and Efficient Heuristic
for Global Optimization over Continuous Spaces”, Journal of Global Optimization,
Vol. 11, pp 341-359, Netherlands.
Storn R. (1999) “System design by constraint adaptation and differential evolution”,
IEEE Transactions on Evolutionary Computation Vol.3, pp. 22-34.
Tvrd´ık. J. (2007) “Adaptive Differential Evolution: Application to Nonlinear
Regression”. Proceedings of the International Multiconference on Computer Science
and Information Technology pp. 193–202.
Yilmaz I. and Kaynar O. (2011) “Multipe regression”, ANN (RBF, MLP) and ANFIS
models for prediction of swell potential of clayey soils, Expert Systems with
Applications, Elsiver Vol.38, pp 5958-5966.

Você também pode gostar