Glossário

XGBoost

Descobre o XGBoost, o poderoso, rápido e versátil algoritmo de aprendizagem automática para previsões precisas em tarefas de classificação e regressão.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O XGBoost, abreviatura de Extreme Gradient Boosting (reforço de gradiente extremo), é um algoritmo de aprendizagem automática (ML) de código aberto, potente e amplamente utilizado, concebido para velocidade e desempenho. Pertence à família de frameworks de gradient boosting, que são métodos de conjunto que constroem modelos sequencialmente, com novos modelos a corrigir os erros dos anteriores. O XGBoost melhora o gradient boosting tradicional, incorporando técnicas avançadas de regularização (como a regularização L1 e L2) para evitar o sobreajuste e otimizar os recursos computacionais para uma formação e previsão mais rápidas. Isto torna-o altamente eficaz tanto para tarefas de classificação como de regressão, particularmente com dados estruturados ou tabulares.

Compreender o Gradient Boosting

No seu núcleo, o XGBoost é uma implementação optimizada do gradient boosting, uma técnica desenvolvida significativamente por Jerome H. Friedman. O gradient boosting constrói um conjunto de aprendizes fracos, tipicamente árvores de decisão, de uma forma faseada. Cada nova árvore tenta prever os erros residuais (a diferença entre os valores reais e os valores previstos) feitos pelo conjunto de árvores anteriores. O XGBoost aperfeiçoa este processo com várias inovações chave que melhoram significativamente a eficiência e a precisão do modelo.

Principais caraterísticas e melhorias

O XGBoost introduz várias melhorias em relação aos algoritmos padrão de gradiente boosting:

  • Regularização: Incorpora os termos de regularização L1 (Lasso) e L2 (Ridge) na função objetivo, o que ajuda a evitar o ajuste excessivo e melhora a generalização do modelo.
  • Processamento Paralelo: Concebido para ser eficiente, o XGBoost pode utilizar GPUs multi-core para um cálculo mais rápido durante o treino.
  • Manipulação de valores em falta: Tem uma rotina integrada para lidar com valores de dados em falta, aprendendo a melhor estratégia de imputação a partir dos próprios dados.
  • Poda de árvore: Utiliza técnicas de poda de árvores mais avançadas (como a poda de profundidade com um parâmetro "max_depth" e a pós-poda com base no ganho) em comparação com o gradient boosting padrão.
  • Validação cruzada incorporada: Permite que os utilizadores executem a validação cruzada em cada iteração do processo de boosting, facilitando a obtenção do número ideal de rondas de boosting.
  • Consciência de cache: Otimiza o uso do hardware por estar ciente das hierarquias de cache.
  • Flexibilidade: Suporta funções personalizadas de objetivo e avaliação, fornecendo adaptabilidade para várias tarefas além da classificação e regressão padrão. Isto ajuda a afinar eficazmente os hiperparâmetros.

Comparação com outros algoritmos

Embora o XGBoost seja altamente eficaz para dados tabulares, ele difere de outros algoritmos populares:

  • LightGBM: Outra estrutura de aumento de gradiente conhecida pela velocidade, especialmente em conjuntos de dados muito grandes. O LightGBM usa uma estratégia única de crescimento de árvore em forma de folha, que pode ser mais rápida, mas às vezes mais propensa a sobreajuste em conjuntos de dados menores em comparação com o crescimento em forma de nível do XGBoost.
  • CatBoost: Destaca-se particularmente com conjuntos de dados que contêm muitas caraterísticas categóricas devido ao seu tratamento sofisticado de tais variáveis. Frequentemente requer menos ajuste de hiperparâmetros para dados categóricos em comparação com o XGBoost.
  • Modelosde aprendizagem profunda (DL): Algoritmos como as Redes Neuronais Convolucionais (CNN) ou modelos como Ultralytics YOLO são concebidos principalmente para dados não estruturados, como imagens ou texto, destacando-se em tarefas como a visão computacional( CV)(deteção de objectos, segmentação de imagens). O XGBoost, por outro lado, é tipicamente superior para conjuntos de dados estruturados e tabulares, normalmente encontrados na análise de negócios.

Aplicações no mundo real

O desempenho e a robustez do XGBoost tornam-no adequado para uma vasta gama de aplicações de modelação preditiva:

  • Serviços financeiros: Utilizado extensivamente para avaliação do risco de crédito, deteção de fraude e estratégias de negociação algorítmica. Por exemplo, os bancos utilizam o XGBoost para criar modelos que prevêem a probabilidade de incumprimento de empréstimos com base nos dados de candidatura dos clientes. Vê mais sobre a IA nas finanças.
  • Retalho e comércio eletrónico: Aplica-se na previsão da análise do comportamento do cliente, na rotatividade de clientes, na previsão de vendas e na criação de motores de recomendação. Por exemplo, um retalhista online pode utilizar o XGBoost para prever quais os clientes que provavelmente responderão a uma campanha de marketing específica.
  • Cuidados de saúde: Utilizada para prever os resultados dos pacientes, o risco de doença com base em dados clínicos e otimizar as operações hospitalares. Lê mais sobre a IA nos cuidados de saúde.
  • Fabrico: Utilizada para manutenção preditiva (previsão de falhas no equipamento), análise de controlo de qualidade e otimização dos processos de produção. Explora a IA no fabrico.
  • Ciência de dados competitiva: O XGBoost é um algoritmo favorito em competições de ciência de dados, como as hospedadas no Kaggle, devido à sua alta precisão e eficiência.

O XGBoost continua a ser uma ferramenta altamente relevante e poderosa no panorama da aprendizagem automática, favorecida pela sua velocidade, precisão e capacidade de lidar eficazmente com conjuntos de dados tabulares complexos. O seu desenvolvimento continua através da biblioteca oficial do XGBoost e integra-se bem com bibliotecas de ML populares, como o Scikit-learn, e plataformas como o Ultralytics HUB para gerir o ciclo de vida do ML de ponta a ponta.

Lê tudo