• Nenhum resultado encontrado

2.3 Ensembles

2.3.3 Geração de Componentes para o Ensemble

2.3.3.2 Conjunto de hipóteses acessível

Esta categoria de métodos para obtenção de componentes diversos de ensembles pode ser dividida em duas classes distintas: manipulação dos dados de treina- mento e manipulação da arquitetura dos membros do comitê.

Manipulação dos dados de treinamento:

Para a construção de ensembles, a obtenção de diversidade por meio da vari- ação dos dados de aprendizado de cada componente é muito utilizada também. O que diferencia os métodos é como os dados são apresentados para o treina- mento de cada estimador. Em alguns métodos, os preditores possuem acesso a

Algoritmo 1 Bagging

1: Escolha o algoritmo de aprendizagem L, o número de preditores M e o

número de amostras Nbag

2: Para i =1, . . . , M faça

3: Obtenha um novo conjunto de treinamento Tbag com Nbag amostras, es-

colhidas aleatoriamente do conjunto de treinamento original T e com reposição

4: fi= L(Tbag), 5: Fim Para

todas as características do processo, porém, as amostras usadas durante o apren- dizado são diferentes. Uma outra forma é dividir os padrões de entrada em categorias, ou por características diferentes, e apresentar diferentes categorias para aprendizado de cada preditor. Ambos métodos descritos são chamados de métodos por reamostragem (Brown, 2004).

Uma outra classificação são os métodos por distorção, em que se realiza um pré-processamento dos padrões de aprendizado, que pode ser simplesmente adicionando um ruído gaussiano nos dados de entrada (Raviv e Intrator, 1999) ou por transformações não-lineares (Sharkey e Sharkey, 1997), ou ainda gerando novos dados de treinamento aplicando perturbações na saída desejada (Chris- tensen, 2003). Quando é possível utilizar fontes sensoriais distintas, uma boa alternativa é treinar cada componente do comitê com diferente disposição das fontes, como realizado por Sharkey et al. (2000b).

As técnicas de manipulação de dados para obtenção de diversidade entre membros do comitê, pode ser também dividida em técnicas implícitas e explíci- tas. Dentre as implícitas, destaca-se o bagging. Dentre as explícitas destacam-se o boosting e variações, além do DECORATE, explicadas adiante, nesta mesma seção.

Umas das mais conhecidas técnicas de criação de comitês, o bagging (bootstrap aggregating), baseada na reamostragem dos padrões de treinamento de modo a se obter diferentes subconjuntos de treinamento para cada membro, foi apresen- tada por Breiman (1996).

No bagging, a partir de um conjunto original de dados, é realizada uma rea- mostragem dos dados, com a mesma probabilidade de escolha de cada padrão, para cada componente do comitê. Sendo que os dados podem repetir entre os preditores. A reamostragem é dita, neste caso, com reposição. O pseudo-código do bagging é mostrado no Algoritmo 1 (Hansen, 1999).

Mesmo com um conjunto original suficientemente grande, este algoritmo não garante uma generalização distinta entre os membros do comitê. Segundo Breiman (1996), o bagging funciona bem com redes neurais, árvores de decisão, considerados, pelo mesmo autor, como estimadores instáveis (ausência de pre- visibilidade após o aprendizado), porém, não muito bem com componentes es- táveis como o método do k-vizinhos mais próximos.

Partindo para os métodos explícitos de geração de diversidade, desta catego- ria, um do mais empregados é o boosting, originalmente proposto por Schapire (1990). Com seu algoritmo, Schapire (1990) provou que, com um número sufi- ciente de dados e classificadores fracos, um comitê formado com estes classifi- cadores poderia se tornar um classificador forte.

A principal diferença entre os algoritmos bagging e boosting é que a reamos- tragem se realiza de forma adaptativa. De forma contrária ao bagging, em que os dados de aprendizagem possuem probabilidade uniforme de seleção, no boost- ingos componentes são gerados de forma sequencial, baseado no desempenho dos componentes até então obtidos (Tsymbal e Puuronen, 2000).

A partir do trabalho de Schapire (1990), muitos algoritmos chamados da família boosting foram implementados, sendo que uma classificação desses al- goritmos foi realizada por Haykin (1999):

• boosting por filtragem: assim como o algoritmo original (Schapire, 1990), esta classe envolve uma filtragem progressiva das amostras de treinamento. Assumindo um grande conjunto de treinamento, algumas amostras são aproveitadas e outras descartadas, de acordo com o desempenho do con- junto de estimadores já construídos;

• boosting por reamostragem: nesta classe uma amostra não é descartada como no caso anterior, mas a reamostragem dos dados de treinamento é realizada por meio de uma distribuição de probabilidade pré-estabelecida de acordo com o erro dos membros do comitê para tais amostras. Uma maior probabilidade de escolha é dada para as amostras que apresentaram mais erros nos componentes anteriores. A família de algoritmos Arcing (Adaptatively resample and combine) se insere nesta classificação;

• boosting por re-ponderação: nesta abordagem, os componentes possuem acesso a todo o conjunto de aprendizado original, porém, cada amostra possui um peso associado, quanto maior o peso maior foi o erro de predição

Algoritmo 2 Adaboost

1: Escolha o algoritmo de aprendizagem L, o número de preditores M e o número de amostras Nboost

2: Determine a probabilidade de escolha de cada padrão k no conjunto de

treinamento T, com N amostras, como pk = N1

3: Para i =1 . . . M faça

4: Gere um novo conjunto de treinamento Tboost, com reposição e Nboost

amostras, a partir do conjunto T de acordo com a probabilidade de es- colha p de cada amostra

5: fi= L(Tboost)

6: Adicione o componente fiao comitê

7: Defina uma função perda λ para cada padrão:

λk = |ϕk−fi,k|2

supi|ϕk−fi,k| para k =1 . . . N

8: Calcule βi = (1−∑Nk=1pkλk)

∑Nk=1pkλk

9: Determine as novas probabilidades de cada padrão:

pk = pkβ

λk

i

∑Nj=1pjβλji para k =1 . . . N 10: Fim Para

sobre ela por componentes anteriores e mais importante é a amostra para o atual aprendizado do componente.

Uma das grandes dificuldades de implementação do algoritmo de Schapire (1990) é a necessidade de um grande conjunto de aprendizado. Sendo assim, Freund e Schapire (1996) propuseram um novo algoritmo, chamado Adaboost (adaptive boosting), que, de maneira similar ao bagging, permite reamostragem com reposição, porém, com probabilidade de escolha adaptativa. Trata-se de um algoritmo rápido, simples e de fácil implementação (Schapire, 1999).

Um grande número de métodos baseados no Adaboost foi implementado desde sua criação. Algumas implementações podem ser classificadas como boost- ing por reamostragem ou como boosting por re-ponderação (Hansen, 1999). O pseudo-código deste método, para o caso de reamostragem, é mostrado no Al- goritmo 2 (Hansen, 1999).

Em geral, o bagging é mais consistente, o aumento do erro de generalização do componente é menos frequente (Tsymbal e Puuronen, 2000). Além disso, o baggingpermite que os componentes sejam treinados de maneira independente, propiciando a utilização de programação paralela, reduzindo o tempo computa- cional para formação do ensemble. No entanto, uma versão paralela do Adaboost,

chamada P-Adaboost, foi proposta por Merler et al. (2007). Como vantagem, o boosting obtém, na média, redução do erro de generalização mais substanciais do que o bagging (Breiman, 1998).

Como tentativa de melhorar o desempenho do bagging e do boosting, Tsymbal e Puuronen (2000) apresentaram uma nova forma de combinação dos membros do comitê que pode ser aplicada em ambas técnicas, levando em consideração o desempenho do componente no espaço amostral. García-Pedrajas e Ortiz-Boyer (2008) também apresentaram uma nova abordagem baseada no boosting e em métodos de distorção.

O porquê do sucesso dessas técnicas de reamostragem ainda é motivo de muita discussão. No entanto, o que parece ser mais aceito na comunidade cien- tífica é que o desempenho superior de técnicas de boosting, em relação ao erro de generalização, está relacionado ao fato de que este algoritmo possibilita a re- dução do erro tanto em termos da polarização quanto da variância, enquanto que no bagging apenas a variância é reduzida (Bauer e Kohavi, 1999).

Contudo, segundo Bauer e Kohavi (1999), um dos maiores problemas com as técnicas de boosting é a sensibilidade ao ruído nos dados. Uma razão é que o método de atualizar as probabilidades pode dar muita importância a amostras ruidosas (Opitz e Maclin, 1999). Um novo algoritmo proposto por Martínez- Muñoz e Suárez (2007) tenta conciliar a vantagem de robustez ao ruído do bag- ginge menores erros de generalização do boosting, utilizando técnicas de poda.

Como exemplo final de métodos explícitos para geração de diversidade por manipulação de dados de treinamento, Melville e Mooney (2003) apresentaram em seu trabalho o DECORATE (Diverse Ensemble Creation by Oppositional Relabel- ing of Artificial Training Examples), que, a partir da geração de dados artificiais, em conjunto com dados originais, um ensemble com componentes diversos pode ser formado. Uma das grandes vantagens deste método é sua aplicação em pe- quenos conjuntos de dados de aprendizagem.

Manipulação da arquitetura doensemble ou componente:

Grande parte dos algoritmos de aprendizado de comitês trabalham apenas com mudança de parâmetros dos seus componentes e não com a sua estrutura. A escolha de estrutura fica normalmente a cargo do usuário, que precisa de um bom conhecimento prévio para determinar estruturas adequadas ou, muitas vezes, a estrutura é determinada por tentativa e erro. No entanto, Opitz e Shav- lik (1996) apresentaram um algoritmo evolucionário para otimização da topolo-

gia de redes neurais componentes do ensemble, selecionando os componentes mais adequados segundo uma medida de diversidade. Da mesma forma, Islam et al. (2003) propuseram um algoritmo para construção cooperativa de ensemble que determina tanto o número de componentes quanto o número de neurônios escondidos de redes neurais.

Uma outra abordagem que vem ganhando espaço é a criação de ensemble híbrido, ou seja, ao invés de utilizar, por exemplo, apenas redes neurais do tipo perceptron multi-camadas como componentes, utiliza-se também outros tipos de preditores como funções de base radial ou máquinas de vetores-suporte. Wang et al. (2000) apresentaram um ensemble híbrido formado por redes neu- rais e árvores de decisão. Por outro lado, Woods et al. (1997) apresentaram um comitê formado por diferentes tipos de classificadores como redes neu- rais, k-vizinhos mais próximos, árvores de decisão e classificadores bayesianos. Wichard et al. (2003) mostraram que a criação de ensemble com componentes de várias classes, como modelos polinomiais, redes perceptron multi-camadas, rede perceptron de base radial e modelos baseados na regra do vizinho mais próximo, pode melhorar o desempenho, em problemas de regressão, de en- sembles formados por apenas um tipo de modelo. Em problemas de predição de séries temporais, Wedding e Cios (1996) obtiveram bons resultados com a combinação de funções de base radial e modelos de Box-Jenkins ARMA (auto- regressivo com média móvel). Em uma série de experimentos, Canuto et al. (2007) observaram que as estruturas híbridas de comitê apresentaram melhor eficiência do que as demais.

Segundo Brown (2004), com a utilização de ensemble híbrido pode-se obter componentes diversos, com diferentes padrões de generalização, e que possuem melhor eficiência em diferentes regiões. Sendo assim, possivelmente, nesta abor- dagem, a escolha de um melhor estimador seja preferível à combinação dos com- ponentes. Porém, trata-se de um assunto a ser melhor investigado.