Início topics O que é boosting? O que é boosting?
Saiba mais sobre algoritmos de boosting e como eles podem melhorar o potencial preditivo de suas iniciativas de mineração de dados.
plano de fundo azul
O que é boosting?

Saiba mais sobre algoritmos de boosting e como eles podem melhorar o potencial preditivo de suas iniciativas de mineração de dados. 

Boosting é um método de aprendizado por agrupamento que combina um grupo de aprendizes mais simples a um aprendiz mais complexo para minimizar erros de treinamento. No boosting, uma amostra aleatória de dados é selecionada, provida com um modelo e, em seguida, treinada sequencialmente, ou seja, cada modelo tenta compensar os pontos fracos de seu predecessor. Com cada iteração, as regras mais simples de cada classificador individual são combinadas para formar uma única regra de predição complexa. 

Antes de prosseguirmos, vamos descobrir a categoria de aprendizado por agrupamento de forma mais ampla, destacando dois dos métodos mais conhecidos: bagging e boosting. 

Aprendizado por agrupamento

O aprendizado por agrupamento aumenta a credibilidade do conceito de "sabedoria das multidões", o que 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 mais simples, pode não ter um bom desempenho individualmente devido à alta variância ou alto viés. No entanto, quando aprendizes simples são agregados, eles podem formar um forte aprendiz, pois sua combinação reduz a propensão a erros ou a variância, resultando em um melhor desempenho do modelo. 

Os métodos de agrupamento são normalmente demonstrados usando árvores de decisão, pois este algoritmo pode estar sujeito ao sobreajuste (alta variância e baixo viés) quando não for adaptado e também pode sofrer com o subajuste (baixa variância e alto viés) quando for muito pequeno, que é uma árvore de decisão com um nível. Lembre-se, quando um algoritmo é sobreajustado ou subajustado em relação ao seu conjunto de dados de treinamento, ele não consegue generalizar novos conjuntos de dados, portanto, portanto, métodos de agrupamento são utilizados para balancear esse comportamento e permitir a generalização do modelo em relação aos 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" no equilíbrio entre viés e 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 (PDF, 248 KB) (link externo à ibm.com), a principal diferença entre esses métodos de aprendizado é a forma como são treinados. No bagging, os aprendizes simples 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 do 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. 

Outra diferença entre bagging e boosting está em como eles são usados. Por exemplo, os métodos de bagging são geralmente usados em aprendizes simples 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. Embora o bagging possa ser usado para evitar o sobreajuste, os métodos de boosting podem ser mais propensos a isso (link externo à ibm.com), embora realmente dependa do conjunto de dados. No entanto, o ajuste de parâmetros pode ajudar a evitar o problema. 

Como resultado, bagging e boosting também têm diferentes aplicações no mundo real. Bagging tem sido utilizado para processos de aprovação de empréstimos e genômica estatística, enquanto o boosting tem sido mais utilizado nos aplicativos de reconhecimento de imagens e mecanismos de procura.  

Produtos em destaque

SPSS Modeler

Tipos de boosting

Os métodos de boosting concentram-se na combinação iterativa de aprendizes simples para construir um aprendiz complexo que possa prever resultados mais precisos. Como lembrete, um  aprendiz simples classifica dados ligeiramente melhor do que a adivinhação aleatória. Esta abordagem pode fornecer  resultados robustos para problemas de predição e pode até mesmo superar as redes neurais e oferecer suporte a máquinas de vetor para tarefas como recuperação de imagem (PDF, 1,9 MB) (link externo à ibm.com).  

Os algoritmos de boosting podem diferir em como eles criam e agregam aprendizes simples durante o processo sequencial. Três tipos populares de métodos de boosting incluem: 

  • Boosting adaptativo ou AdaBoost: Yoav Freund e Robert Schapire são creditados com a criação do algoritmo AdaBoost. Este método opera de forma iterativa, identificando pontos de dados mal classificados e ajustando seus pesos para minimizar o erro de treinamento. O modelo continua otimizando de forma sequencial até produzir o preditor mais complexo.  
  • Boosting de gradiente: com base no trabalho de Leo Breiman, Jerome H. Friedman desenvolveu o  boosting de gradiente, que funciona ao incluir sequencialmente preditores a um agrupamento com  cada um deles corrigindo os erros de seus predecessores. No entanto, em vez de alterar os pesos dos pontos de dados como feito pelo AdaBoost, o boosting de gradiente  treina com base nos erros residuais do preditor anterior. O nome boosting de gradiente é usado porque combina o algoritmo de descida do gradiente e o método de boosting.  
  • Boosting de gradiente extremo ou XGBoost:  o XGBoost é uma implementação do boosting de gradiente projetado para velocidade e escala computacional. O XGBoost utiliza vários núcleos na CPU,  permitindo que o aprendizado ocorra em paralelo durante o treinamento.  

Benefícios e desafios do boosting

Há uma série de benefícios 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 boosting incluem:  

  • Facilidade de implementação: o boosting pode ser usado com várias opções de ajuste de hiperparâmetro para melhor o ajuste. Nenhum pré-processamento de dados é necessário e os algoritmos de boosting têm rotinas integradas para lidar com dados omissos. No Python, a biblioteca Scikit-learn de métodos de agrupamento (também conhecida como sklearn.ensemble) facilita a implementação dos métodos de boosting populares, incluindo AdaBoost, XGBoost, etc.  
  • Redução de viés: os algoritmos de boosting combinam vários aprendizes simples em um método sequencial, melhorando iterativamente mediante observações. Essa abordagem pode ajudar a reduzir o alto viés, comumente visto em árvores de decisão superficiais e modelos de regressão logística. 
  • Eficiência computacional: como os algoritmos de boosting apenas selecionam recursos que aumentam seu potencial preditivo durante o treinamento, ela pode ajudar a reduzir a dimensionalidade e também aumentar a eficiência computacional.  

Os principais desafios do boosting incluem:  

  •  Sobreajuste: há alguma contestação na pesquisa  (link externo à ibm.com) sobre se o boosting pode ou não ajudar a reduzir o sobreajuste ou agravá-lo. Nós o incluímos em desafios porque, nos casos em que ele ocorre, as predições não podem ser generalizadas para novo conjuntos de dados.  
  •  Cálculo intenso: é difícil de aumentar a capacidade do treinamento sequencial no boosting. Uma vez que cada estimador é desenvolvido com base em seus predecessores, os modelos de boosting podem ser computacionalmente dispendiosos, embora o XGBoost procure abordar os problemas de escalabilidade vistos em outros tipos de métodos de boosting. Os algoritmos de boosting podem ser mais lentos para serem treinados quando comparados ao bagging, uma vez que o grande número de parâmetros também pode influenciar o comportamento do modelo. 
Aplicações de boosting

Os algoritmos de boosting são bem adequados para projetos de inteligência artificial em uma ampla variedade de setores, incluindo:  

  • Assistência médica: o boosting é usado para reduzir erros em predições de dados médicos, como prever fatores de risco cardiovascular e taxas de sobrevida de pacientes com câncer. Por exemplo, pesquisa (link externo à ibm.com) mostra que métodos de agrupamento melhoram significantemente a precisão na identificação de pacientes que poderiam se beneficiar de tratamento preventivo de doença cardiovascular, ao mesmo tempo que evitando o tratamento desnecessários de outros. Da mesma forma, outro estudo (link externo à ibm.com) constatou que a aplicação de boosting a várias plataformas genômicas pode melhorar a predição do tempo de sobrevivência do câncer. 

  • IT: árvores de regressão intensificadas por gradiente são usadas em mecanismos de procura para classificar páginas, enquanto que o algoritmo de boosting Viola-Jones é usado para  a recuperação de imagem. Conforme observado por Cornell (link externo à ibm.com), classificadores intensificados permitem que os cálculos sejam interrompidos mais cedo quando se torna claro em qual direção a predição está indo. Isso significa que  um mecanismo de procura pode parar a avaliação de páginas com classificação mais baixa, enquanto que os scanners de imagem irão apenas considerar as imagens que realmente contenham o objeto desejado.   

  • Finança: o boosting é usado com modelos de deep learning para automatizar tarefas críticas, incluindo a detecção de fraude, a análise de precificação e muito mais. Por exemplo, os métodos de boosting na detecção de fraude de cartão de crédito e na análise da precificação de produtos financeiros  (link externo à ibm.com) melhoram a precisão na análise de substanciais conjuntos de dados para minimizar perdas financeiras.  

Soluções relacionadas
Modelador SPSS

Aumente o retorno sobre o investimento e acelere a geração de valor com uma ferramenta de ciência de dados intuitiva e com base em interações de arrastar e soltar.

Conheça o IBM SPSS Modeler
Soluções da IBM Cloud

Híbrida. Aberta. Resiliente. Sua plataforma e parceira para a transformação digital.

Conheça as soluções de cloud
Soluções do Cloud Pak

Software de cloud híbrida impulsionado por IA.

Conheça as soluções do Cloud Pak
Dê o próximo passo

As soluções IBM suportam o ciclo de vida de machine learning de ponta a ponta. Saiba como as ferramentas de mineração de dados da IBM, como o IBM SPSS Modeler, permitem o desenvolvimento de modelos preditivos para implementá-los em operações de negócios. Eles facilitam aprimorar a precisão do modelo com a modelagem. Para saber mais sobre os benefícios dos métodos de boosting e bagging, confira a Comunidade de Ciência de Dados da IBM.

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