Minha IBM Efetue login Inscreva-se

O que é aprendizado combinado?

18 de março de 2024

Autores

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

O aprendizado combinado une vários aprendizes para aprimorar o desempenho preditivo. Foi adotado como solução para problemas resultantes de conjuntos de dados limitados.

O aprendizado de conjunto é uma técnica de aprendizado de máquina que agrega dois ou mais alunos (por exemplo, modelos de regressão, redes neurais) para produzir previsões melhores. Em outras palavras, um modelo de conjunto combina vários modelos individuais para produzir previsões mais precisas do que um único modelo sozinho.1 Às vezes, as fontes podem se referir a essa técnica como aprendizado baseado em comitê. O aprendizado de conjunto baseia-se no princípio de que uma coletividade de alunos produz mais precisão geral do que um aluno individual.2 De fato as pesquisas apoiam sua eficácia com modelos de aprendizado de máquina e redes neurais convolucionais (CNNs).

Uma observação sobre a terminologia: o aluno básico, o modelo básico e, em alguns casos, o estimador básico referem-se ao modelo ou a modelos individuais utilizados nos algoritmos de conjunto. A literatura divide ainda os alunos básicos em alunos fortes e alunos fracos. Os modelos ou alunos fracos são definidos como aqueles que têm desempenho pouco melhor do que a adivinhação aleatória. Para problemas de classificação binária, os classificadores fracos são mais formalmente aqueles que atingem aproximadamente 50% de precisão. Por outro lado, os modelos ou alunos fortes alcançam um excelente desempenho preditivo, que na classificação binária é formalizado como uma precisão igual ou superior a 80%.3

Observe que algumas fontes combinam o aprendiz fraco e o aprendiz básico, dado que os métodos de conjunto, particularmente os sequenciais, efetivamente transformam os aprendizes fracos em aprendizes fortes.4

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Por que utilizar aprendizado combinado?

Compensação de viés-variância

A compensação de viés-variância é um problema bem conhecido no aprendizado de máquina e um princípio motivador por trás de muitas técnicas de regularização . Podemos defini-los como:

- Viés mede a diferença média entre os valores previstos e os valores reais. À medida que o viés aumenta, um modelo prevê com menos precisão em um conjunto de dados de treinamento. Alto viés se refere a alto erro no treinamento. A otimização significa tentativas de reduzir o viés.

- Variância mede a diferença entre as previsões em várias realizações de um determinado modelo. À medida que a variância aumenta, um modelo prevê com menos precisão em dados não vistos. Alta variância refere-se a alto erro durante o teste e a validação. A generalização refere-se a tentativas de reduzir a variação.

Portanto viés e variância representam inversamente a precisão do modelo nos dados de treinamento e teste, respectivamente.5 São dois dos três termos que compreendem a taxa de erro total de um modelo, sendo o terceiro erro irredutível. Esse terceiro termo denota o erro resultante da aleatoriedade inerente em um conjunto de dados. O erro total do modelo pode ser definido pela fórmula:6

Muitos modelos em vez de um

Qualquer algoritmo de treinamento de modelo consiste em inúmeras variáveis, como dados de treinamento, hiperparâmetros etc. que afetam o erro total do modelo consequente. Assim, até mesmo um único algoritmo de treinamento pode produzir modelos diferentes, cada um com seu próprio viés, variância e taxas de erro irredutíveis. Ao combinar vários modelos diversos, os algoritmos de conjunto podem produzir uma taxa de erro geral mais baixa, mantendo as próprias complexidades e vantagens de cada modelo individual, como um viés notavelmente baixo para um subconjunto de dados específico.7

Pesquisas sugerem que, em geral, quanto maior a diversidade entre modelos combinados, mais preciso será o modelo de conjunto resultante. O aprendizado de conjunto pode, portanto, lidar com problemas de regressão, como overfitting, sem negociar o viés do modelo. De fato, pesquisas sugerem que conjuntos compostos por diversos modelos sub-regulamentados (ou seja, modelos que superajustam seus dados de treinamento) superam modelos regularizados individuais.8 Além disso, técnicas de aprendizado de conjunto podem ajudar a resolver problemas decorrentes de dados de alta dimensão e, assim, servir efetivamente como uma alternativa à redução de dimensionalidade.

Tipos de modelos combinados

A literatura categoriza amplamente os métodos de aprendizado combinado no aprendizado de máquina em dois grupos: paralelos e sequenciais.

- Métodos paralelos treinam cada aprendiz básico separado dos outros. Então, de acordo com seu nome, os conjuntos paralelos treinam os aprendizes básicos em paralelo e independentes uns dos outros.

- Os métodos sequenciais treinam outro aprendiz de base para minimizar os erros cometidos pelo modelo anterior treinado na etapa anterior. Em outras palavras, os métodos sequenciais constroem modelos de base sequencialmente em estágios.9

Os métodos paralelos são divididos em métodos homogêneos e heterogêneos. Os conjuntos paralelos homogêneos utilizam o mesmo algoritmo de aprendizado de base para produzir todos os aprendizes de base componentes. Conjuntos paralelos heterogêneos utilizam algoritmos diferentes para produzir aprendizes de base.10

Votação

Como os métodos combinados combinam os aprendizes básicos em um aprendiz final? Algumas técnicas, como empilhamento, utilizam algoritmos separados de aprendizado de máquina para treinar um aprendiz combinado a partir dos aprendizes de base. Mas um método comum para consolidar as previsões básicas do aprendiz é a votação e, mais precisamente, a votação por maioria.

A votação da maioria considera a previsão de cada aprendiz base para uma determinada instância de dados e gera uma previsão final determinada por qualquer que seja a previsão da maioria dos aprendizes. Por exemplo, em um problema de classificação binária, a votação da maioria recebe previsões de cada classificador base para uma determinada instância de dados e usa a previsão da maioria como previsão final. A votação por maioria ponderada é uma extensão dessa técnica que dá maior peso às previsões de certos aprendizes em detrimento de outras.11

Técnicas de aprendizado combinado

Talvez as três técnicas de aprendizado combinado mais populares sejam bagging, boosting e stacking. Na verdade, esses conjuntos exemplificam as distinções entre os tipos sequenciais, paralelos, homogêneos e heterogêneos de métodos combinados.

Observe que essa visão geral não é completa: há vários métodos combinados adicionais, como mistura e conjuntos de média ponderada. Isto é apenas para pesquisar alguns dos métodos mais proeminentes na literatura.

Bagging

Bagging é um método paralelo homogêneo, também conhecido como agregação de bootstrap. Utiliza replicas modificadas de um determinado conjunto de dados de treinamento para treinar vários aprendizes básicos com o mesmo algoritmo de treinamento.12 O módulo combinado do Scikit-learn em Python contém funções para implementar bagging, como a BaggingClassifier.

Mais especificamente, o bagging utiliza uma técnica chamada bootstrapping para derivar vários novos conjuntos de dados de um conjunto de dados de treinamento inicial a fim de treinar vários alunos básicos. Como funciona? Digamos que um conjunto de dados de treinamento contenha n exemplos de treinamento. A bootstrapping copia n instâncias de dados desse conjunto para outro conjunto de dados de subamostra com algumas instâncias iniciais aparecendo mais de uma vez e outras totalmente excluídas. Esses são exemplos de bootstrapping. A repetição desse processo x vezes produz x iterations do conjunto de dados original, cada uma contendo n amostras do conjunto inicial. Cada iteração do conjunto inicial é então utilizada para treinar um aluno básico separado com o mesmo algoritmo de aprendizado.13

A floresta aleatória é uma extensão do bagging que denota especificamente o uso do bagging para construir conjuntos de árvores de decisão aleatórias. Isso difere das árvores de decisão padrão, pois a última analisa amostras de todos os recursos para identificar o melhor para divisão. Por outro lado, as florestas aleatórias fazem a amostragem iterativa de subconjuntos aleatórios de recursos para criar um nó de decisão.14

Empilhamento

Stacking, ou generalização empilhada,15 é um método paralelo heterogêneo que exemplifica o que é conhecido como meta-aprendizado. O meta-aprendizado consiste em treinar um meta-aprendiz a partir da produção de vários aprendizes básicos. O stacking treina especificamente vários aprendizes de base a partir do mesmo conjunto de dados com um algoritmo de treinamento diferente para cada aprendiz. Cada aprendiz de base faz previsões em um conjunto de dados não visto. Essas primeiras previsões de modelo são então compiladas e utilizadas para treinar um modelo final, o metamodelo.16

Observe a importância da utilização de um conjunto de dados diferente daqueles utilizados para treinar os aprendizes base a fim de treinar o meta-aprendiz. A utilização do mesmo conjunto de dados para treinar os aprendizes base e o meta-aprendizes pode resultar em overfitting. Isso pode exigir a exclusão de instâncias de dados dos dados de treinamento do aprendiz base para servir como seus dados do conjunto de teste, que por sua vez se tornam dados de treinamento para o meta-aprendiz. A literatura frequentemente recomenda técnicas como validação cruzada para garantir que esses conjuntos de dados não se sobreponham.17

Assim como o bagging, o módulo sklearn.ensemble do Python oferece várias funções para implementar técnicas de stacking.

Impulsionamento

Os algoritmos de reforço são um método de conjunto sequencial. O Boosting tem muitas variações, mas todas elas seguem o mesmo procedimento geral. O Boosting treina um aluno em um conjunto de dados inicial, d. O aluno resultante geralmente é fraco, classificando erroneamente muitas amostras no conjunto de dados. Da mesma forma que o bagging, o boosting coleta amostras de instâncias do conjunto de dados inicial para criar um novo conjunto de dados (d2). No entanto, ao contrário do bagging, o boosting prioriza as instâncias de dados com classificação incorreta do primeiro modelo ou aluno. Um novo aluno é treinado nesse novo conjunto de dados d2. Em seguida, um terceiro conjunto de dados (d3) é compilado a partir de d1 e d2, priorizando as amostras classificadas incorretamente pelo segundo aluno e as instâncias em que d1 e d2 discordam. O processo se repete n vezes para produzir n alunos. Em seguida, o Boosting combina e pondera todos os alunos para produzir as previsões finais.18

Os algoritmos de reforço diferem muito na forma como priorizam instâncias de dados previstos erroneamente ao criar um novo conjunto de dados. Dois dos métodos de boost mais proeminentes podem ilustrar isso:

- Erros do modelo de pesos do reforço adaptativo (AdaBoost). Ou seja, ao criar uma nova iteração de um conjunto de dados para treinar o próximo aprendiz, o AdaBoost adiciona pesos às amostras com classificação incorreta do aprendiz anterior, fazendo o próximo aprendiz priorizar essas amostras com classificação incorreta.

- O boosting em gradiente utiliza erros residuais no treinamento de novos aprendizes. Em vez de pesar amostras classificadas incorretamente, o aumento de gradiente utiliza erros residuais de um modelo anterior para definir previsões de metas para o próximo modelo. Dessa forma, ele tenta fechar a lacuna de erro deixada por um modelo.19

Infelizmente, o sklearn não contém funções predefinidas para implementar o boosting. A biblioteca de código aberto Extreme Gradient Boosting (XGBoost), no entanto, apresenta código para implementar o aumento de gradiente em Python.

Pesquisa recente

Dadas as dificuldades para adquirir conjuntos de dados grandes, de uso justo e rotulados para treinar aprendizes, o aprendizado combinado tem sido utilizado em muitas aplicações na tentativa de melhorar o desempenho do aprendiz com menos dados. Por exemplo, vários estudos recentes apresentam resultados promissores com o aprimoramento da generalização do modelo usando métodos combinados para tarefas de visão computacional, como o treinamento de vários modelos com diferentes representações de um conjunto de dados20 ou a combinação de vários modelos tendenciosos.21

Apesar da capacidade dos métodos combinados de melhorar a generalização, podem sofrer de imparcialidade. No aprendizado de máquina, a justiça denota tentativas de aliviar o viés algorítmico (muitas vezes contra grupos sociais) em sistemas automáticos, geralmente resultando de aprendizes treinados com dados sensíveis. Alguns estudos propõem métricas, pré-processamento e técnicas de pós-processamento para melhorar a equidade em modelos de conjunto.22 Os esforços contínuos para melhorar práticas éticas e justas em IA ainda são uma área muito necessária para pesquisas futuras.

Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Soluções relacionadas

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
Notas de rodapé

1 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

2 Gavin Brown, “Ensemble Learning,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

3 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023. Lior Rokach, Pattern Classification Using Ensemble Methods, World Scientific Publishing Company, 2010.

4 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

5 Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, and Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023.

6 George Kyriakides and Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.

7 Zhi-Hua Zhou, Machine Learning, translated by Shaowu Liu, Springer, 2021. George Kyriakides and Konstantinos G. Margaritis, Hands-On Ensemble Learning with Python, Packt Publishing, 2019.

8 Peter Sollich and Anders Krogh, "Learning with ensembles: How overfitting can be useful," Advances in Neural Information Processing Systems, Vol. 8, 1995, https://papers.nips.cc/paper_files/paper/1995/hash/1019c8091693ef5c5f55970346633f92-Abstract.html.

9 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

10 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

11 Ibomoiye Domor Mienye and Yanxia Sun, “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects,” IEEE Access, Vol. 10, 2022, pp. 99129-99149, https://ieeexplore.ieee.org/document/9893798. Lior Rokach, “Ensemble-based Classifiers,” Artificial Intelligence Review, Vol. 33, 2010, pp. 1-39, https://link.springer.com/article/10.1007/s10462-009-9124-7.

12 M. Galar, A. Fernandez, E. Barrenechea, H. Bustince and F. Herrera, "A Review on Ensembles for the Class Imbalance Problem: Bagging-, Boosting-, and Hybrid-Based Approaches," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 42, No. 4, 2012, pp. 463-484, https://ieeexplore.ieee.org/document/5978225.

13 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

14 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

15 Robi Palikar, “Ensemble Learning,” Ensemble Machine Learning: Methods and Applications, Springer, 2012.

16 Ibomoiye Domor Mienye and Yanxia Sun, “A Survey of Ensemble Learning: Concepts, Algorithms, Applications, and Prospects,” IEEE Access, Vol. 10, 2022, pp. 99129-99149, https://ieeexplore.ieee.org/document/9893798.

17 Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012. Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

18 Robi Palikar, “Ensemble Learning,” Ensemble Machine Learning: Methods and Applications, Springer, 2012. Zhi-Hua Zhou, Ensemble Methods: Foundations and Algorithms, CRC Press, 2012.

19 Gautam Kunapuli, Ensemble Methods for Machine Learning, Manning Publications, 2023.

20 Devesh Walawalkar, Zhiqiang Shen, and Marios Savvides, "Online Ensemble Model Compression Using Knowledge Distillation," 2020, pp. 18-35, https://link.springer.com/chapter/10.1007/978-3-030-58529-7_2.

21 Xinzhe Han, Shuhui Wang, Chi Su, Qingming Huang, and Qi Tian, "Greedy Gradient Ensemble for Robust Visual Question Answering," Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 1584-1593, https://openaccess.thecvf.com/content/ICCV2021/html/Han_Greedy_Gradient_Ensemble_for_Robust_Visual_Question_Answering_ICCV_2021_paper.html.

22 Usman Gohar, Sumon Biswas, and Hridesh Rajan, "Towards Understanding Fairness and its Composition in Ensemble Machine Learning," 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), 2023, pp. 1533-1545, https://ieeexplore.ieee.org/abstract/document/10172501. Khaled Badran, Pierre-Olivier Côté, Amanda Kolopanis, Rached Bouchoucha, Antonio Collante, Diego Elias Costa, Emad Shihab, and Foutse Khomh, "Can Ensembling Preprocessing Algorithms Lead to Better Machine Learning Fairness?" Computer, Vol. 56, No. 4, 2023, pp. 71-79, https://ieeexplore.ieee.org/abstract/document/10098174. Swanand Kadhe, Anisa Halimi, Ambrish Rawat, and Nathalie Baracaldo, "FairSISA: Ensemble Post-Processing to Improve Fairness of Unlearning in LLMs," Socially Responsible Language Modelling Research Workshop, 2023, https://neurips.cc/virtual/2023/78908.