Início topics O que é Bagging? O que é bagging?
Saiba como a agregação de bootstrap, ou bagging, pode melhorar a precisão de seus modelos de machine learning, permitindo o desenvolvimento de melhores insights
Aplique bagging com a IBM
Ilustração de uma pessoa fazendo análise estatísticas, em pé, usando um notebook
O que é bagging?

Bagging, conhecido como agregação de bootstrap, é o método de aprendizado por agrupamento, comumente usado para reduzir a variância em um conjunto de dados com ruídos. No bagging, uma amostra aleatória de dados em um conjunto de treinamento é selecionada com uma substituta, o que significa que os pontos de dados individuais podem ser escolhidos mais de uma vez. Após gerar várias amostras de dados, esses modelos fracos são então treinados de forma independente e de acordo com o tipo de tarefa, por exemplo, regressão ou classificação. A média ou a maioria dessas previsões mostra como resultado uma estimativa mais precisa. 

Como uma observação, o algoritmo de floresta aleatória é considerado uma extensão do método de bagging, usando tanto o bagging quanto a aleatoriedade de recursos para criar uma floresta não correlacionada de árvores de decisão.

Aprendizado por agrupamento

O aprendizado por agrupamento dá credibilidade ao conceito de “sabedoria das multidões”, o qual sugere que a tomada de decisão de um grupo maior de pessoas é tipicamente melhor do que a de um único especialista. Da mesma forma, o aprendizado por agrupamento refere-se a um grupo (ou agrupamento) de aprendizes de base, ou modelos, que trabalham coletivamente para alcançar uma melhor predição final. Um modelo único, conhecido também como aprendiz de base ou fraco, pode não ter um bom desempenho individualmente devido à alta variância ou alto viés. No entanto, quando os aprendizes fracos são agrupados, eles podem formar um aprendiz forte, pois sua combinação reduz o viés ou a variância, resultando em um melhor desempenho do modelo.

Métodos de agrupamento são frequentemente ilustrados usando árvores de decisão, pois este algoritmo pode ser propenso ao super ajuste (alta variância e baixo viés) quando não é adaptado, podendo também sofrer um subajuste (baixa variância e alto viés) quando for muito pequeno, como um toco de decisão, que é uma árvore de decisão com um nível. Lembre-se, quando um conjunto de treinamento do algoritmo passa por um super ajuste ou um subajuste, ele não consegue realizar generalização de novos conjuntos de dados, portanto, métodos de agrupamento são usados para balancear esse comportamento e permitir a generalização do modelo para novos conjuntos de dados. Embora as árvores de decisão possam exibir alta variância ou alto viés, vale a pena notar que essa não é a única técnica de modelagem que utiliza o aprendizado por agrupamento para encontrar o "ponto ideal" do dilema de viés-variância.

Bagging vs. boosting

Bagging e boosting são os dois tipos principais de métodos de aprendizado por agrupamento. Conforme destacado neste estudo (link externo à ibm.com), a principal diferença entre esses métodos de aprendizado é a forma como são treinados. No bagging, os aprendizes fracos são treinados simultaneamente, mas no boosting, eles são treinados sequencialmente. Isso significa que uma série de modelos é construída e, a cada nova iteração de modelo, os pesos dos dados mal classificados no modelo anterior aumentam. Essa redistribuição de pesos ajuda o algoritmo a identificar os parâmetros nos quais ele precisa se concentrar para melhorar seu desempenho. AdaBoost, que significa "algoritmo de boosting adaptativo", é um dos algoritmos de boosting mais populares, pois foi um dos primeiros a ser usado. Outros tipos de algoritmos de boosting são XGBoost, GradientBoost e BrownBoost.

Outro ponto em que o bagging e o boosting diferem são os cenários em que são usados. Por exemplo, os métodos de bagging são geralmente usados em aprendizes fracos que apresentam alta variância e baixo viés, considerando que os métodos de boosting são usados quando há baixa variância e alto viés.

Como funciona o bagging

Em 1996, Leo Breiman (link externo à ibm.com) apresentou o algoritmo de bagging, que possui três etapas básicas:

  1. Bootstrapping:  o bagging usa a técnica de amostra de bootstrapping para criar diversas amostras. Este método de reamostragem gera diferentes subconjuntos a partir do conjunto de dados de treinamento ao selecionar pontos de forma aleatória e com substituto. Isso significa que todas as vezes que você selecionar um ponto de dados de um conjunto de dados de treinamento, você poderá selecionar a mesma instâncias várias vezes. Como resultado, haverá um valor/instância que se repete duas vezes (ou mais) em uma amostra.
  2. Treinamento simultâneo: essas amostras de bootstrap são então treinadas independente e simultaneamente com outra unidade usando aprendizes fracos ou de base.
  3. Agregação: finalmente, dependendo da tarefa (ou seja, regressão ou classificação), uma média ou a maioria das previsões são tomadas para calcular uma estimativa mais precisa. No caso de regressão, é usada uma média de todos os resultados previstos pelos classificadores individuais. Isso é conhecido como soft voting. Para problemas de classificação, aceita-se a classe com a maioria de votos. Isto é conhecido como hard voting ou voto da maioria.
Benefícios e desafios do bagging

Há uma série de vantagens e desafios importantes que o método de bagging apresenta quando usado para problemas de classificação ou regressão. Os principais benefícios do bagging incluem:

  • Facilidade de implementação: as bibliotecas Python, como scikit-learn (também conhecida como sklearn), facilitam a combinação das previsões de aprendizes de base ou estimadores para melhorar o desempenho do modelo. Sua documentação (link externo à IBM) apresenta os módulos disponíveis que você pode usar ao otimizar o seu modelo.
  • Redução de variância: o bagging pode reduzir a variância dentro de um algoritmo de aprendizado. Isso é particularmente útil com dados de alta dimensão, em que os valores ausentes podem levar a alta variância, tornando-os mais propensos ao super ajuste e impedindo a generalização mais precisa para novos conjuntos de dados.

Os principais desafios do bagging incluem:

  • Perda de capacidade de interpretação: é difícil gerar insights de negócios altamente precisos por meio de bagging devido a definição de médias envolvida nas previsões. Embora o resultado seja mais preciso do que qualquer ponto de dados individual, um conjunto de dados mais preciso ou completo também pode mostrar como resultado maior precisão dentro de um único modelo de classificação ou regressão.
  • Alta despesa com computação: o bagging torna-se mais lento e mais exigente à medido que o número de iterações aumenta. Além disso, não é adequado para aplicativos em tempo real. Os sistemas agrupados ou um grande número de núcleos de processamento são ideais para criar rapidamente agrupamentos de bagging em grandes conjuntos de teste.
  • Menos flexível: como uma técnica, o bagging funciona particularmente bem com algoritmos menos estáveis. Aqueles mais estáveis ou sujeitos a grandes ocorrências de viés não oferecem tantos benefícios, pois há menor variação dentro do conjunto de dados do modelo. Conforme observado no Guia prático ao machine learning (link externo à IBM), o "bagging de um modelo de regressão linear efetivamente só retornará as previsões originais para um b grande o suficiente".
Aplicativos de bagging

A técnica de bagging é usada em um grande número de setores, fornecendo insights para gerar tanto valor do mundo real quanto perspectivas interessantes, como no Debates do GRAMMY com Watson. Alguns dos casos de uso mais importantes incluem:

  • Assistência médica: o bagging foi usado para realizar previsões de dados médicos. Por exemplo, uma pesquisa (link externo à ibm.com) mostra que métodos de agrupamento têm sido usados em diversos problemas de bioinformática, como seleção de genes e/ou de proteínas para identificar uma característica específica de interesse. Mais especificamente, esta pesquisa (link externo à ibm.com) aprofunda seu uso para prever o surgimento de diabetes com base em vários preditores de risco.
  • TI: o bagging também pode melhorar a precisão e a exatidão de sistemas de TI, como os sistemas de detecção de intrusão de rede. Enquanto isso, essa pesquisa (link externo à ibm.com) analisa como o bagging pode melhorar a precisão da detecção de intrusão de rede e reduzir os índices de falsos positivos.
  • Meio-ambiente: métodos de agrupamento, como o bagging, foram aplicados no campo de sensores remotos. Mais especificamente, essa pesquisa (link externo à ibm.com) mostra como esse método tem sido usado para mapear os tipos de zonas úmidas em uma paisagem costeira.
  • Finanças: o bagging tem sido usado com modelos de deep learning no setor financeiro para automatizar tarefas críticas, incluindo a detecção de fraude, avaliações de risco de crédito e problemas de precificação de opções. Esta pesquisa (link externo à ibm.com) demonstra como o bagging, entre outras técnicas de machine learning, são usadas para avaliar o risco de inadimplência em empréstimos. Este estudo (link externo à ibm.com) destaca como o bagging ajuda a minimizar o risco ao prevenir casos de fraude de cartão de crédito em instituições financeiras e bancárias.
Soluções relacionadas
IBM SPSS Modeler

O IBM SPSS Modeler oferece a análise preditiva para ajudá-lo a revelar padrões de dados, ganhar precisão preditiva e melhorar a tomada de decisão.

Conheça o IBM SPSS Modeler
Watson Studio

Desenvolva e ajuste a escala da IA confiável em qualquer cloud. Automatize o ciclo de vida de IA para ModelOps.

Conheça o Watson Studio
Bagging Vs. Boosting

Conheça a IBM Data Science Community para saber mais sobre ciência de dados e machine learning.

Conheça a the IBM Data Science Community
Dê o próximo passo

As soluções IBM suportam o ciclo de vida de machine learning de ponta a ponta. Descubra como as ferramentas de modelagem de dados da IBM, como o IBM SPSS Modeler e o Watson Studio, podem ajudar você a criar diferentes modelos e ajustá-los para obter maior precisão, melhorando suas previsões e qualquer análise de dados subsequente. Inscreva-se para obter um IBMid e junte-se à IBM Data Science Community para saber mais sobre ciência de dados e machine learning.

Junte-se à comunidade de ciência de dados da IBM ainda hoje