O que é boosting?

O que é boosting?

No aprendizado de máquina, o boosting é um método de aprendizado em conjunto que combina um conjunto de aprendizes fracos em um aprendiz forte para minimizar os erros de treinamento. Os algoritmos de boosting podem melhorar o poder preditivo da identificação de imagens, objetos e funcionalidades, análise de sentimento, mineração de dados e muito mais.

No boosting, uma amostra aleatória de dados é selecionada, ajustada a um modelo e, em seguida, treinada sequencialmente, ou seja, cada modelo tenta compensar os pontos fracos de seu antecessor. A cada iteração, as regras fracas de cada classificador individual são combinadas para formar uma regra de previsão forte.

Mais sobre aprendizado em conjunto

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 de conjuntos refere-se a um grupo (ou conjunto) de aprendizes básicos, ou modelos, que trabalham coletivamente para alcançar uma melhor previsão final. 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 são frequentemente ilustrados utilizando decision trees, pois esse algoritmo pode ser propenso ao overfitting (alta variância e baixo viés) quando não foi podado e também pode se prestar ao underfitting (baixa variância e alto viés) quando é muito pequeno, como um toco de decisão, que é uma decision tree com um nível. Lembre-se, quando um algoritmo se adapta ou não ao seu conjunto de dados de treinamento, ele não pode generalizar bem para novos conjuntos de dados, portanto métodos de conjunto são usados para contornar 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.

As mais recentes tendências em IA, trazidas a você por especialistas

Receba insights selecionados sobre as notícias mais importantes (e intrigantes) sobre IA. Inscreva-se no nosso boletim informativo semanal Think. Consulte a Declaração de privacidade da IBM.

Agradecemos a você! Você se inscreveu.

Sua assinatura será entregue em inglês. Você encontrará um link para cancelar a assinatura em cada boletim informativo. Você pode gerenciar suas assinaturas ou cancelar a assinatura aqui. Consulte nossa Declaração de privacidade da IBM para obter mais informações.

Bagging vs. boosting

Bagging e boosting são dois tipos principais de métodos de aprendizado em conjunto. Conforme destacado nesse estudo, a principal diferença entre esses métodos de aprendizado é a maneira como eles 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 mal classificados 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 entre bagging e boosting está na forma como são usados. Por exemplo, os métodos de bagging são normalmente usados em aprendizes fracos que apresentam alta variação e baixa polarização, enquanto os métodos de boosting são aproveitados quando se observa baixa variação e alto viés. Embora o bagging possa ser usado para evitar o overfitting, os métodos de boosting podem ser mais propensos a isso, embora realmente dependa do conjunto de dados. No entanto, o ajuste de parâmetros pode ajudar a evitar o problema.

Consequentemente, o bagging e o boosting também têm diferentes aplicações no mundo real. O bagging foi aproveitado para processos de aprovação de empréstimos e genômica estatística, enquanto o boosting foi mais utilizado em aplicativos de reconhecimento de imagens e mecanismos de pesquisa.

AI Academy

Coloque a IA para trabalhar no serviço ao cliente

Veja como a IA generativa pode encantar os clientes com uma experiência mais integrada e aumentar a produtividade da organização nessas três áreas importantes: autoatendimento, agentes humanos e operações da central de contato.

Tipos de boosting

Os métodos de boosting se concentram na combinação iterativa de aprendizes fracos para construir um aprendiz forte que possa prever resultados mais precisos. Como lembrete, um aprendiz fraco classifica os dados um pouco melhor do que a adivinhação aleatória. Essa abordagem pode oferecer resultados robustos para problemas de previsão e pode até superar redes neurais e máquinas de vetores de suporte para tarefas como recuperação de imagens

Os algoritmos de boosting podem diferir na forma como criam e agregam aprendizes fracos durante o processo sequencial. Três tipos populares de métodos de boosting são:

  • Boosting adaptativo ou AdaBoost: Yoav Freund e Robert Schapire são creditados com a criação do algoritmo AdaBoost. Esse método opera iterativamente, identificando pontos de dados classificados incorretamente e ajustando seus pesos para minimizar o erro de treinamento. O modelo continua otimizado de forma sequencial até produzir o preditor mais forte.

  • Gradient boosting: com base no trabalho de Leo Breiman, Jerome H. Friedman desenvolveu o gradient boosting, que funciona adicionando sequencialmente preditores a um conjunto, com cada um corrigindo os erros de seu antecessor. No entanto, em vez de alterar os pesos dos pontos de dados como o AdaBoost, o gradient boosting treina nos erros residuais do preditor anterior. O nome, gradient boosting, é utilizado pois combina o algoritmo de gradiente descendente e o método de boosting.

  • Gradient boosting extremo, ou XGBoost: o XGBoost é uma implementação do gradient boosting projetada para velocidade e escala computacional. O XGBoost aproveita vários núcleos na CPU, possibilitando que o aprendizado ocorra em paralelo durante o treinamento.

Benefícios e desafios do boosting

Há uma série de vantagens e desafios importantes que o método de boosting 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 utilizado com várias opções de ajuste de hiperparâmetro para melhorar o ajuste. Nenhum pré-processamento de dados é necessário, e algoritmos de boosting têm rotinas incorporadas para lidar com dados ausentes. No Python, a biblioteca scikit-learn de métodos em conjunto (também conhecida como sklearn.ensemble) facilita a implementação dos métodos populares de boosting, incluindo AdaBoost, XGBoost etc.

  • Redução de viés: os algoritmos de boosting combinam vários aprendizes fracos em um método sequencial, melhorando iterativamente as observações. Essa abordagem pode ajudar a reduzir o alto viés, comumente observado em árvores de decisão superficiais e modelos de regressão logística.

  • Eficiência computacional: como os algoritmos de boosting selecionam somente funcionalidades que aumentam seu poder preditivo durante o treinamento, isso pode ajudar a reduzir a dimensionalidade e aumentar a eficiência computacional.

Os principais desafios do boosting são:

  •  Overfitting: há alguma disputa na pesquisa sobre se o boosting pode ajudar a reduzir o overfitting ou agravá-lo. Nós o incluímos em desafios porque, nos casos em que ocorre, as previsões não podem ser generalizadas para novos conjuntos de dados.

  •  Computação intensa: o treinamento sequencial de boosting é difícil de escalar. Como cada estimador é construído sobre seus antecessores, os modelos de boosting podem ser computacionalmente caros, embora o XGBoost procure lidar com os problemas de escalabilidade observados em outros tipos de métodos de boosting. Os algoritmos de boosting podem ser mais lentos de treinar quando comparados ao bagging, pois um grande número de parâmetros também pode influenciar o comportamento do modelo.

Aplicações do boosting

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

  • Saúde: o boosting é utilizado para reduzir erros em previsões de dados médicos, como previsão de fatores de risco cardiovasculares e taxas de sobrevida de pacientes com câncer. Por exemplo, pesquisas mostram que os métodos em conjunto melhoram consideravelmente a precisão na identificação de pacientes que poderiam se beneficiar do tratamento preventivo de doenças cardiovasculares, evitando o tratamento desnecessário de outras pessoas. Da mesma forma, outro estudo descobriu que a aplicação do boosting a múltiplas plataformas genômicas pode melhorar a previsão do tempo de sobrevivência ao câncer.

 

  • TI: as árvores de regressão com gradient boosting são usadas em mecanismos de pesquisa para classificação de páginas, enquanto o algoritmo de boosting Viola-Jones é utilizado para recuperação de imagens. Conforme observado por Cornell, os classificadores de boosting permitem que os cálculos sejam interrompidos mais cedo, quando está claro o caminho que uma previsão está tomando. Isso significa que um mecanismo de pesquisa pode interromper a avaliação de páginas com classificação inferior, enquanto os scanners de imagens só consideram as imagens que realmente contêm o objeto desejado.

  • Finanças: o boosting é utilizado com modelos de deep learning para automatizar tarefas críticas, incluindo detecção de fraude, análise de preços e muito mais. Por exemplo, os métodos de boosting na detecção de fraude de cartões de crédito e a análise de preços de produtos financeiros melhoram a precisão da análise de conjuntos de dados maciços para minimizar as perdas 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 a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

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