A construção dos componentes do ensemble preocupa-se em como todos os preditores se- rão construídos de forma a manterem um nível significativo de diversidade entre eles. Dentre os vários métodos publicados e consagrados na literatura, os algoritmos Bagging e Boosting, propostos por Breiman (1996a) e Freund e Schapire (1996), respectivamente, são os mais men- cionados. Também podemos encontrar pesquisas recentes que utilizam como objeto de estudo os algoritmos MultiBoosting proposto por Webb (2000) e Stacking proposto por Wolpert (1992), estes por sua vez, são variações dos algoritmos de ensemble propostos originalmente. De forma geral, todos eles têm apresentado sucesso na melhoria da acurácia de determinados classificado- res quando aplicados a conjuntos de testes reais e artificiais.
O algoritmo Bagging é baseado na ideia de Bootstrap Aggregating (EFRON; TIBSHIRANI, 1993). Ele provê a diversidade, lançando-se mão do conceito de redistribuição aleatória dos dados. Ou seja, para um conjunto de dados de treinamento D de tamanho n, é gerado, por reamostragem uniforme, um sub-conjunto de dados D′de tamanho n. Desse modo, uma instância
do conjunto de dados de treinamento tem uma probabilidade de 1−(1−1/n)nde ser selecionada,
permitindo assim que 63.2% do novo conjunto de dados seja composto de amostras únicas e o restante de valores duplicados (BAUER; KOHAVI, 1998). Não há praticamente nenhuma chance dos conjuntos de dados gerados serem idênticos.
Mesmo garantindo a diversidade através da reamostragem, Breiman (1996a) ainda sugere para o melhor desempenho do ensemble via algoritmo Bagging, a utilização de estimadores ins- táveis, como por exemplo: modelos neurais, árvores de decisão, árvores de regressão, e modelos de regressão linear (HASTIE; TIBSHIRANI; FRIEDMAN, 2001). Esses algoritmos são consi- derados instáveis pelo fato de serem sensíveis a pequenas mudanças nos dados de treinamento. A Figura 3 ilustra graficamente a execução do processo de criação de um ensemble homogêneo via algoritmo Bagging.
Figura 3: Processo de criação de um ensemble via algoritmo Bagging (NASCIMENTO, 2009).
Baggingtem se mostrado estável quando aplicado em conjunto de dados ruidosos, e também tem se mostrado atrativo no que se refere à questão de diminuição da variância (COELHO, 2004; KOTSIANTIS; PINTELAS, 2004). Um outro ponto a receber atenção com a utilização desta técnica é que a construção dos componentes pode ser realizada paralelamente, podendo ser beneficiada pelos recursos provenientes da computação distribuída.
O algoritmo Boosting, concebido por Schapire (1990) e também referenciado por Breiman (1998) como Arcing1, é semelhante ao Bagging no quesito reamostragem dos dados. Porém,
apresenta um diferencial sutil. Ele não utiliza um conjunto de dados de treinamento via rea- mostragem aleatória uniforme. Isso caracteriza, portanto, que a distribuição de probabilidade
associada a cada um dos novos conjuntos passa a ser ajustada adaptativamente e é dita ser uma representação viesada2da distribuição original (COELHO, 2004). À medida que casos de trei-
namento forem preditos incorretamente, os mesmos passam a ter maior probabilidade de serem integrados a um novo conjunto de dados para geração do próximo componente, de modo que os últimos estimadores na sequência, geralmente, deverão arcar com regiões mais complicadas do espaço de atributos (COELHO, 2004).
No algoritmo AdaBoost.M1 (FREUND; SCHAPIRE, 1996, 1999), para um conjunto de da- dos de treinamento D de tamanho n, cada instância d recebe um peso inicial wi= 1/n. O primeiro
classificador é treinado com todas as amostras. Em seguida, é testado utilizando as mesmas ins- tâncias. Às amostras que forem classificadas erroneamente, é acrescido o valor do seu peso, e para as classificadas corretamente, os pesos são mantidos. O classificador que acertar as ins- tâncias mais difíceis receberá um peso maior. Esse procedimento ocorrerá até se completar K componentes (valor informado previamente), ou quando εk ≤ 0 ou εk ≥ 0, 5, sendo εk o erro
agregado. O resultado final é obtido por um voto ponderado de todos os componentes.
A Figura 4 ilustra graficamente a execução do processo de criação de um ensemble homogê- neo via algoritmo Boosting.
Figura 4: Processo de criação de um ensemble via algoritmo Boosting (NASCIMENTO, 2009). 2Citados em alguns artigos como Overrepresentation.
O algoritmo Boosting, assim como Bagging, apresenta uma redução significativa em ter- mos da variância; porém, o seu desempenho quando aplicado a dados ruidosos geralmente não é bom (KHOSHGOFTAAR; HULSE; NAPOLITANO, 2011; KOTSIANTIS, 2014; DIETTE- RICH, 2000b). Isso já era esperado, visto que, como os estimadores individuais são treinados hierarquicamente (COELHO, 2004) ao passo que são construídos, os mesmos vão se especia- lizando em áreas do espaço de atributos que provavelmente dispõem de valores corrompidos, levando à perda de acurácia. Por outro lado, Boosting geralmente apresenta, quando o problema de ruído é ausente, ganhos significativos em termos de controle do bias (COELHO, 2004; KOT- SIANTIS; PINTELAS, 2004).
Contrastando as vantagens e limitações de cada algoritmo mencionado, um dos pontos posi- tivos mais citados para Bagging é a redução da variância, ao passo que para Boosting é a redução tanto da variância como do bias. Já um ponto negativo bastante questionado para Boosting é o fato dele se mostrar sensível a conjuntos de dados ruidosos. Na tentativa de se combinar as van- tagens e ao mesmos tempo tentar minimizar as limitações desses métodos, Webb (1998) propôs a ideia de se combinar Bagging e Boosting para a formação de subcomitês, cuja denominação atribuída foi a de Múltiplos Boosting (ZHENG; WEBB, 1998).
O algoritmo MultiBoostAB (WEBB, 2000) é uma técnica que combina AdaBoost e Wagging. Waggingé uma variação do Bagging que utiliza instâncias de treinamento d com diferentes pesos gerados a partir de um valor aleatório, conforme a Equação (2.5):
Poisson(d) = −log(Random(1...999)
1000 ) (2.5)
Todo o processo de construção e combinação dos votos é semelhante ao AdaBoost; apenas os pesos das instâncias é que são calculados aleatoriamente inicialmente para cada subcomitê.
A Figura 5 ilustra graficamente a execução do processo de criação de um ensemble homogê- neo via algoritmo MultiBoosting.
MultiBoostingtende a apresentar maior acurácia em relação ao Bagging, pelo fato de prover o incremento da diversidade e ainda ampliar a independência dos membros do comitê (JAIN; KULKARNI, 2012). Ao mesmo tempo, mostra-se mais estável que Boosting; isso porque Mul- tiBoostingquebra o processo de criação dos componentes em processos menores, no caso, em
Figura 5: Processo de criação de um ensemble via algoritmo MultiBoosting (NASCIMENTO, 2009).
subcomitês (ZHENG; WEBB, 1998). Assim como Bagging, MultiBoosting é propício de ser utilizado de forma distribuída.