O que é bagging?

23 de setembro de 2021

O que é bagging?

O bagging, também conhecido como agregação bootstrap, é o método de aprendizado em conjunto comumente usado para reduzir a variância em um conjunto de dados cheio de ruído.

No bagging, uma amostra aleatória dos dados no conjunto de treinamento é selecionada com reposição, ou seja, os mesmos pontos de dados podem ser escolhidos mais de uma vez. Após gerar várias amostras de dados, esses modelos fracos são treinados de forma independente. Dependendo do tipo de tarefa, por exemplo, regressão ou classificação, a média ou a maioria das previsões resulta em uma estimativa mais precisa.

Vale destacar que o algoritmo de random forest é considerado uma extensão do método bagging, combinando bagging e aleatoriedade de atributos para criar uma floresta não correlacionada de árvores de decisão.

Aprendizado colaborativo

O aprendizado coletivo fundamenta a ideia da "sabedoria das multidões", o que sugere que a tomada de decisão de um grupo maior de pessoas normalmente é melhor do que a de um especialista individual Da mesma forma, o aprendizado em conjunto refere-se a um grupo (ou ensemble) de modelos ou aprendizes básicos que trabalham coletivamente para obter uma previsão final melhor.

Um único modelo, também conhecido como aluno de base ou fraco, pode não ter um bom desempenho individualmente devido à alta variância ou ao alto viés. No entanto, quando os aprendizes fracos são agregados, 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.

Os métodos de conjunto frequentemente usam árvores de decisão para ilustração. Esse algoritmo pode ser suscetível a overfitting, apresentando alta variância e baixo viés, quando não foi podado. Por outro lado, também pode levar a underfitting, com baixa variância e alto viés, quando é muito pequeno, como um decision stump (árvore de decisão com apenas um nível).

Lembre-se de que, quando um algoritmo se ajusta demais ou de menos ao seu conjunto de treinamento, ele é incapaz de fazer boas generalizações em novos conjuntos de dados, portanto, os métodos em conjunto são usados para neutralizar esse comportamento e permitir a generalização do modelo para novos conjuntos de dados. Embora as árvores de decisão possam apresentar uma alta variação ou um alto viés, vale a pena observar que essa não é a única técnica de modelagem que utiliza o aprendizado em conjunto para encontrar o "ponto ideal" no equilíbrio entre a polarização e o viés.

Bagging vs. boosting

Bagging e boosting são dois dos principais tipos de métodos de aprendizado por conjunto (ensemble learning). Conforme destacado neste estudo, a principal diferença entre esses métodos de aprendizado está em como são treinados.

No bagging, os aprendizes fracos são treinados em paralelo, mas no boosting eles aprendem em sequência. Isso significa que uma série de modelos é construída e, a cada nova iteração do modelo, os pesos dos dados classificados incorretamente no modelo anterior são aumentados.

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 de seu tipo. Outros tipos de algoritmos de boosting incluem XGBoost, GradientBoost e BrownBoost.

Outra diferença na qual bagging e boosting são diferentes são os cenários em que são usados. Por exemplo, os métodos bagging são normalmente usados em aprendizes fracos que apresentam alta variância e baixo viés, enquanto os métodos de boosting são usados quando se observam baixa variância e alto viés.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Como funciona o bagging

Em 1996, Leo Breimanintroduziu o algoritmo de bagging, que possui três etapas básicas:

  1. Bootstrapping: o bagging utiliza a técnica de amostragem bootstrap para criar amostras diversas. Esse método de reamostragem gera subconjuntos diferentes do conjunto de dados de treinamento. Isso é feito por meio da seleção aleatória dos pontos de dados com reposição. Ou seja, a cada seleção de um ponto do conjunto de treinamento, é possível selecionar a mesma instância várias vezes. Como resultado, um valor ou instância pode aparecer repetidamente (duas ou mais vezes) em uma mesma amostra.

  2. Treinamento paralelo: essas amostras bootstrap são então treinadas de forma independente e em paralelo entre si, utilizando modelos fracos ou básicos.

  3. Agregação: por fim, dependendo da tarefa (ou seja, regressão ou classificação), uma média ou a maioria das previsões são consideradas para calcular uma estimativa mais precisa. No caso da regressão, é feita uma média de todos os resultados previstos pelos classificadores individuais; isso é conhecido como soft voting. Nos problemas de classificação, a classe com a maioria de votos é aceita; isso é conhecido como hard voting ou votação por maioria.
Mixture of Experts | 25 de abril, episódio 52

Decodificando a IA: resumo semanal das notícias

Junte-se ao nosso painel de engenheiros, pesquisadores, líderes de produto e outros especialistas de classe mundial enquanto eles cortam o ruído da IA para trazer a você as últimas notícias e insights sobre IA.

Benefícios e desafios do bagging

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

  • Facilidade de implementação: bibliotecas Python como o scikit-learn (também conhecido como sklearn) facilitam a combinação das previsões de estimadores base para melhorar o desempenho do modelo. A documentação apresenta os módulos disponíveis que podem ser usados na otimização do seu modelo.

  • Redução da variância: o bagging pode reduzir a variância do algoritmo de aprendizado. Isso é particularmente útil com dados de alta dimensão, em que os valores ausentes podem levar a uma variância mais alta, tornando-os mais propensos ao sobreajuste e impedindo a generalização precisa nos novos conjuntos de dados.

As principais dificuldades do bagging incluem:

  • Perda de interpretabilidade: é difícil obter insights de negócio muito precisos com o uso de bagging devido à média envolvida nas previsões. Embora o resultado final seja mais preciso do que qualquer ponto de dado individual, um conjunto de dados mais preciso ou completo também poderia gerar mais precisão dentro de um único modelo de classificação ou regressão.

  • Alto custo computacional: o bagging torna-se mais lento e intensivo conforme o número de iterações aumenta. Por isso, não é adequado para aplicações em tempo real. Os sistemas em cluster ou o uso de um grande número de núcleos de processamento são ideais para criar rapidamente conjuntos de bagging em grandes conjuntos de teste.

  • Menos flexibilidade: como técnica, o bagging funciona especialmente bem com algoritmos menos estáveis. Algoritmos mais estáveis ou com alto viés não se beneficiam tanto, pois há menos variação dentro do conjunto de dados do modelo. Conforme observado no Hands-On Guide to Machine Learning, “aplicar bagging a um modelo de regressão linear efetivamente apenas retornará as previsões originais para valores suficientemente grandes de b.”

Aplicações do bagging

A técnica de bagging é utilizada em diversos setores, oferecendo insights tanto com valor prático quanto com abordagens interessantes, como no projeto GRAMMY Debates with Watson. Os principais casos de uso incluem:

  • Assistência médica: o método bagging tem sido usado para gerar previsões de dados médicos. Por exemplo, pesquisas mostram que os métodos de conjunto têm sido usados para uma série de problemas de bioinformática, como a seleção de genes e/ou proteínas para identificar uma característica específica de interesse. Mais especificamente, esta pesquisase aprofunda em seu uso para prever o início do diabetes com base em vários preditores de risco.

  • TI: o bagging também pode melhorar a precisão e a exatidão em sistemas de TI, como sistemas de detecção de intrusão em redes. Enquanto isso, esta pesquisa analisa como o bagging pode melhorar a precisão da detecção de intrusões, e reduzir as taxas de falsos positivos.

  • Ambiente: os métodos de conjunto, como o bagging, foram aplicados no campo do sensoriamento remoto. Mais especificamente, esta pesquisa mostra como ele tem sido usado para mapear os tipos de zonas úmidas em um cenário costeiro.

  • Finanças: o bagging também tem sido utilizado com modelos de deep learning no setor financeiro, automatizando tarefas críticas como detecção de fraudes, avaliações de risco de crédito e problemas de precificação de opções. Esta pesquisa demonstra como o bagging, entre outras técnicas de aprendizado de máquina, foi aproveitado para avaliar o risco de inadimplência do empréstimo. Este estudo destaca como o bagging ajuda a minimizar o risco, evitando fraudes de cartão de crédito em instituições bancárias e financeiras.
Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use IA para trabalhar em sua empresa com a experiência em IA líder do setor e com o portfólio de soluções da IBM.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real