Ensemble ´e um paradigma de aprendizado em que propostas alternativas capazes de gerar a
soluc¸˜ao para um determinado problema s˜ao combinadas para obter a soluc¸˜ao final do problema (Hansen & Salamon, 1990; Krogh & Vedelsby, 1994). A essas propostas d´a-se o nome de componentes do ensemble. Este paradigma originou-se do trabalho de Hansen & Salamon (1990) e foi aplicado primeiramente em problemas de classificac¸˜ao por meio de redes neurais. A combinac¸˜ao de m´ultiplos componentes ´e potencialmente vantajosa, pois diferentes componentes podem representar aspectos distintos e relevantes para a soluc¸˜ao do problema. V´arias redes neurais s˜ao treinadas independentemente e combinadas posteriormente para classificar os padr˜oes de entrada. Os resultados mostram que a capacidade de generalizac¸˜ao do sistema pode melhorar de forma significativa. Embora as redes neurais tenham sido as mais utilizadas como componentes de um ensemble, alguns trabalhos propuseram a combinac¸˜ao de outras t´ecnicas, como sistemas fuzzy (Castro et al., 2005) e M´aquinas de Vetores-Suporte (SVM, do inglˆes Support Vector Machine) (Zhang et al., 2005).
Na Figura 6.1, ´e apresentado um exemplo did´atico adaptado de Polikar (2006) que ilustra a vantagem do uso de ensembles para um problema de classificac¸˜ao de padr˜oes. As fronteiras de decis˜ao de trˆes classificadores s˜ao apresentadas nas Figuras 6.1(a)(b)(c). Como pode ser observado, as trˆes fronteiras de decis˜ao s˜ao diferentes, o que leva os classificadores a acertarem e errarem a classificac¸˜ao de forma distinta. Entretanto, como mostrado na Figura 6.1(d), a combinac¸˜ao desses trˆes classificadores, por meio do voto majorit´ario, possibilita gerar uma nova fronteira de decis˜ao capaz de separar corretamente todas as amostras do conjunto de dados (Figura 6.1(e)). Apesar do
ensemble da Figura 6.1(e) ter classificado corretamente todas as amostras, ´e importante ressaltar que,
na pr´atica, nem sempre os ganhos obtidos s˜ao t˜ao expressivos.
Classificador 1 Classificador 2 Classificador 3
Classificadores: 1, 2 e 3 Ensemble
Fronteira de decisão
(a) (b) (c)
(d) (e)
Classificador 1 Classificador 2 Classificador 3
Classificadores: 1, 2 e 3 Ensemble
Fronteira de decisão
(a) (b) (c)
(d) (e)
6.2. ENSEMBLE DE REDES NEURAIS 75
T´ecnicas de ensemble tˆem sido aplicadas com sucesso a problemas de classificac¸˜ao, regress˜ao e agrupamento (clustering). Entretanto, neste cap´ıtulo ser˜ao considerados apenas problemas de classificac¸˜ao, em que os componentes do ensemble s˜ao redes neurais.
Na Figura 6.2 ´e ilustrado o esquema de funcionamento de um ensemble de redes neurais. Cada componente do ensemble ´e um classificador constru´ıdo independentemente dos demais e pode atuar isoladamente. Para cada vetor de entrada𝑥 = (𝑥1, 𝑥2, ..., 𝑥𝑛), as sa´ıdas 𝑦𝑖, i=1,...,M, geradas pelos M
componentes s˜ao combinadas para produzir a sa´ıda do ensemble,𝑦𝑒.
y1 y2 yM ye x1 xn Σ ... ... ... ... ...
Figura 6.2: Ensemble de redes neurais.
O desempenho de um ensemble est´a vinculado `a qualidade e diversidade do erro de seus componentes, isto ´e, cada componente do ensemble deve apresentar bom desempenho quando aplicado isoladamente e deve cometer erros distintos dos demais componentes para um mesmo padr˜ao de entrada. ´E evidente que duas redes neurais de boa qualidade devem produzir a mesma sa´ıda para a maioria dos padr˜oes. As redes devem, ent˜ao, discordar quando elas tomam decis˜oes erradas (Perrone & Cooper, 1993).
De forma geral, a construc¸˜ao de um ensemble envolve duas etapas sequenciais, a gerac¸˜ao dos componentes candidatos e a combinac¸˜ao das sa´ıdas individuais de cada componente. Alguns trabalhos sugerem uma outra etapa, que consiste em selecionar, dentre os componentes gerados, somente alguns componentes. Cada etapa ´e brevemente descrita seguir:
∙ Gerac¸˜ao dos componentes candidatos
Esta etapa se encarrega de gerar individualmente cada componente candidato a fazer parte do
ensemble. Como descrito anteriormente, os componentes precisam apresentar bom desempenho e
serem diversos entre si. T´ecnicas para gerar componentes diversos e de bom desempenho podem ser divididas em duas categorias: (i) gerac¸˜ao pelo pr´e-processamento dos dados de treinamento e (ii) gerac¸˜ao pelo pr´e-processamento dos parˆametros e estrutura dos componentes candidatos.
76 CAP´ITULO 6. EXPERIMENTOS COM ENSEMBLES DE REDES NEURAIS
O objetivo das t´ecnicas pertencentes `a primeira categoria consiste em produzir dados de treinamento distintos, os quais podem levar `a gerac¸˜ao de componentes com capacidade de generalizac¸˜ao diferente um dos outros. Entre essas t´ecnicas, pode-se citar Bagging e Boosting.
Bagging foi proposta por Breiman (1996) e ´e baseada na amostragem bootstrap (Efron & Tibshirani,
1993). Ela gera v´arios subconjuntos de dados de treinamento distintos a partir do conjunto original e ent˜ao usa cada um desses conjuntos de dados para treinar uma rede neural.
Na t´ecnica Boosting, proposta por Schapire (1990), os conjuntos de treinamento s˜ao reamostrados de forma adaptativa, de modo que amostras que mais contribuem para o erro de treinamento dos componentes j´a treinados tˆem sua probabilidade aumentada de comporem o conjunto de treinamento a ser empregado para a gerac¸˜ao do pr´oximo componente. Como se pode perceber, aqui a gerac¸˜ao dos componentes ´e sequencial.
O pr´e-processamento dos parˆametros e estrutura, por sua vez, visa construir redes a partir de pontos de partida distintos. A abordagem mais comum ´e adotar redes neurais com diferentes topologias e diferentes valores para os vetores de pesos iniciais. Dessa forma, ´e esperado que diversas redes neurais sejam obtidas, uma vez que o desempenho da rede ´e altamente dependente do seu vetor de pesos iniciais e sua topologia.
∙ Combinac¸˜ao
Ap´os a gerac¸˜ao dos componentes do ensemble, o pr´oximo passo ´e definir como as sa´ıdas individuais de cada um ser˜ao combinadas para formar a sa´ıda do ensemble. Existem muitas maneiras de se fazer isso, dependendo do tipo de problema abordado. Para tarefas de classificac¸˜ao, a abordagem mais usual ´e o voto majorit´ario (Hansen & Salamon, 1990), em que a classe indicada pela maioria dos componentes ´e a sa´ıda do ensemble, de acordo com a equac¸˜ao:
𝑦𝑒(𝑥) = 𝑘 𝑠𝑒 𝑘 = arg max 𝑘 ( 𝑀 ∑ 𝑖=1 𝐺𝑘𝑖(𝑥) ) , (6.1)
em que𝑥 ´e o padr˜ao de entrada, 𝑦𝑒(.) ´e a sa´ıda do ensemble, 𝑀 ´e a quantidade de componentes e 𝐺𝑘𝑖
´e dado pela Equac¸˜ao (6.2), com𝑦𝑖(.) sendo a sa´ıda do 𝑖-´esimo componente:
𝐺𝑘𝑖(𝑥) = ⎧ ⎨ ⎩ 1, se𝑦𝑖(𝑥) = 𝑘 0, se𝑦𝑖(𝑥)∕= 𝑘. (6.2)
∙ Selec¸˜ao dos componentes
Recentemente, muitas propostas tˆem sugerido e provado empiricamente que adicionar todos os componentes gerados na etapa anterior no ensemble pode degradar seu desempenho, n˜ao importando