A explorar a aprendizagem por conjuntos e o seu papel na IA e no ML
Vê como a aprendizagem por conjuntos melhora o desempenho dos modelos de IA através de técnicas como bagging, boosting e stacking, fornecendo previsões mais precisas e estáveis.

Para uma explicação visual dos conceitos abordados neste artigo, assista ao vídeo abaixo.
Inovações de IA, como motores de recomendação e sistemas de deteção de fraude, dependem de algoritmos e modelos de machine learning para fazer previsões e tomar decisões com base em dados. Estes modelos podem identificar padrões, prever tendências e ajudar a automatizar tarefas complexas.
No entanto, um único modelo pode ter dificuldade em captar todos os detalhes dos dados do mundo real. Pode ter um bom desempenho em alguns casos, mas ficar aquém noutros, como quando um modelo de deteção de fraude não identifica novos tipos de transações.
Esta limitação é algo que os engenheiros de IA enfrentam frequentemente ao criar e implementar modelos de machine learning. Alguns modelos sofrem de overfitting por aprenderem os dados de treino de forma demasiado específica, enquanto outros sofrem de underfitting por não captarem padrões importantes. A aprendizagem por conjuntos é uma técnica de IA que ajuda a resolver estes desafios ao combinar vários modelos, conhecidos como aprendizes base, num único sistema mais poderoso.
Podes pensar nisto como uma equipa de especialistas a trabalhar em conjunto para resolver um problema. Neste artigo, vamos explorar o que é a aprendizagem por conjuntos, como funciona e onde pode ser utilizada. Vamos começar!
O que é a aprendizagem por conjuntos?#
A aprendizagem por conjuntos refere-se a um conjunto de técnicas que combinam vários modelos para resolver o mesmo problema e produzir um único resultado melhorado. Pode ser aplicada tanto na aprendizagem supervisionada (em que os modelos aprendem a partir de dados etiquetados) como na aprendizagem não supervisionada (em que os modelos encontram padrões em dados não etiquetados).
Em vez de depender de um único modelo para fazer previsões, um conjunto utiliza vários modelos, cada um analisando os dados à sua maneira. Quando os seus resultados são combinados, o resultado é frequentemente mais preciso, estável e generalizável do que aquilo que qualquer modelo individual conseguiria alcançar sozinho.
Podes compará-la a um painel de analistas a resolver o mesmo problema. Cada analista ou modelo individual interpreta os dados de forma diferente.
Um pode concentrar-se nos padrões, outro nas anomalias e outro no contexto. Ao reunirem as suas perspetivas, o grupo pode tomar uma decisão mais equilibrada e fiável do que qualquer avaliação individual.
Esta abordagem também ajuda a enfrentar dois dos maiores desafios do machine learning: viés e variância. Um modelo com viés elevado é demasiado simples e ignora padrões importantes, enquanto um modelo com variância elevada é excessivamente sensível e ajusta-se demasiado aos dados de treino. Ao combinar modelos, a aprendizagem por conjuntos encontra um equilíbrio entre os dois, melhorando o desempenho do sistema em dados novos e desconhecidos.
Compreender como funciona a aprendizagem por conjuntos#
Cada modelo num conjunto é conhecido como aprendiz base ou modelo base. Estes podem ser do mesmo tipo de algoritmo ou uma combinação de algoritmos diferentes, dependendo da técnica de conjuntos utilizada.
Eis alguns exemplos comuns dos diferentes modelos utilizados na aprendizagem por conjuntos:
- Árvores de decisão: Estes modelos dividem os dados em ramos com base nos valores das características para tomar decisões. Por exemplo, em problemas de classificação, como prever se um cliente vai comprar um produto, consideram fatores como a idade, o rendimento e o histórico de navegação.
- Redes neuronais: Inspiradas na forma como o cérebro humano processa informação, constituem a arquitetura base da maioria dos modelos modernos de IA e machine learning.
- Máquinas de vetores de suporte (SVMs): Estes algoritmos classificam dados encontrando um limite de decisão ideal, chamado hiperplano, que maximiza a margem entre diferentes classes. Por outras palavras, o SVM traça a melhor linha possível para separar os grupos, deixando o maior intervalo entre eles. Por exemplo, pode ser utilizado para determinar se um email é spam ou não com base em padrões como a frequência e a estrutura das palavras.
- Modelos de regressão logística: Estimam probabilidades e são frequentemente utilizados em tarefas de classificação binária. Um exemplo típico é prever se uma transação é fraudulenta ou legítima.
Um conjunto de modelos combinado é geralmente chamado de aprendiz forte porque integra os pontos fortes dos aprendizes base (também designados modelos fracos), minimizando os seus pontos fracos. Faz isso combinando as previsões de cada modelo de forma estruturada, utilizando votação por maioria em tarefas de classificação ou médias ponderadas em tarefas de regressão para produzir um resultado final mais preciso.

Fig. 1. Um exemplo de aprendizagem por conjuntos (Fonte)
Quando utilizar a aprendizagem por conjuntos#
Antes de analisarmos as várias técnicas de aprendizagem por conjuntos, vamos parar um momento para compreender quando este tipo de abordagem deve ser utilizado num projeto de machine learning ou IA.
A aprendizagem por conjuntos é mais impactante quando um único modelo tem dificuldade em fazer previsões precisas ou consistentes. Também pode ser utilizada em situações em que os dados são complexos, ruidosos ou imprevisíveis.
Eis alguns casos comuns em que os métodos de conjuntos são particularmente eficazes:
- Baixa precisão do modelo: Quando as previsões de um modelo não são suficientemente fiáveis, combinar vários modelos pode melhorar significativamente a precisão e o desempenho. Por exemplo, na avaliação de crédito ou no diagnóstico médico, até pequenas melhorias na precisão das previsões podem fazer uma grande diferença.
- Dados ruidosos ou inconsistentes: Se um conjunto de dados contiver valores atípicos, erros ou flutuações aleatórias, a aprendizagem por conjuntos ajuda a suavizar essas irregularidades através da média ou votação entre vários modelos.
- Necessidade de robustez: Os modelos de conjuntos são menos sensíveis a pequenas alterações nos dados, tornando-se mais estáveis e fiáveis em ambientes de produção onde as entradas do mundo real podem variar.
- Tarefas de previsão complexas: Em tarefas como reconhecimento de imagens, deteção de fraude ou previsão de séries temporais, os conjuntos captam uma gama mais ampla de padrões e relações do que um único modelo conseguiria captar sozinho.
Também é mais simples de treinar, mais fácil de interpretar e mais rápido de manter. Antes de utilizar um conjunto, é importante ponderar o benefício de uma maior precisão face ao tempo, poder computacional e complexidade adicionais necessários.
Uma visão geral das técnicas de aprendizagem por conjuntos#
De seguida, vamos analisar as principais formas de aplicar a aprendizagem por conjuntos em projetos de machine learning. Existem várias técnicas fundamentais utilizadas para combinar modelos, cada uma melhorando o desempenho à sua maneira. Os métodos de conjuntos mais comuns são bagging, boosting, stacking e blending.
Bagging#
Bagging, abreviatura de agregação bootstrap, é um método de aprendizagem por conjuntos que ajuda a melhorar a estabilidade e a precisão do modelo ao treinar várias versões do mesmo modelo em diferentes partes dos dados.
Cada subconjunto é criado através de um processo chamado amostragem bootstrap, em que os pontos de dados são selecionados aleatoriamente com reposição. Isto significa que, depois de um ponto de dados ser escolhido, é devolvido ao conjunto antes de o seguinte ser selecionado, pelo que o mesmo ponto pode aparecer mais do que uma vez, enquanto outros podem ficar de fora. Esta aleatoriedade garante que cada modelo é treinado numa versão ligeiramente diferente do conjunto de dados.
Durante a inferência, todos os modelos treinados são executados em paralelo para fazer previsões sobre dados novos e desconhecidos. Cada modelo produz o seu próprio resultado com base no que aprendeu, e essas previsões individuais são então combinadas para formar o resultado final.
Em tarefas de regressão, como prever preços de casas ou vendas, isto normalmente significa calcular a média dos resultados de todos os modelos para obter uma estimativa mais suave. Em tarefas de classificação, como identificar se uma transação é fraudulenta ou não, o conjunto utiliza frequentemente uma votação por maioria para decidir a classe final.
Bagging em ação: o algoritmo Random Forest#
Um bom exemplo de aplicação do bagging são as árvores de decisão, que podem facilmente sofrer de overfitting quando treinadas num único conjunto de dados. Ao treinar muitas árvores com amostras ligeiramente diferentes e combinar os seus resultados, o bagging reduz o overfitting e melhora a fiabilidade.
Considera o algoritmo Random Forest. É um conjunto de árvores de decisão em que cada árvore é treinada num subconjunto aleatório do conjunto de dados de treino, bem como num subconjunto aleatório de características.
Esta aleatoriedade das características ajuda a garantir que as árvores estão menos correlacionadas e que o modelo global é mais estável e preciso. Um algoritmo Random Forest pode ser utilizado para classificar imagens, detetar fraude, prever a perda de clientes, prever vendas ou estimar preços de imóveis.

Fig. 2. Uma análise do algoritmo Random Forest (Fonte)
Boosting#
Boosting é outra técnica de aprendizagem por conjuntos que se concentra em melhorar aprendizes fracos (modelos), treinando-os sequencialmente, um após outro, em vez de em paralelo. O conceito central do boosting é que cada novo modelo aprende com os erros dos anteriores, melhorando gradualmente o desempenho do modelo global.
Ao contrário do bagging, que reduz a variância através da média de modelos independentes, o boosting reduz o viés fazendo com que cada novo modelo preste mais atenção aos casos difíceis com que os modelos anteriores tiveram dificuldades.
Como os modelos de boosting são treinados sequencialmente, a forma como as suas previsões são combinadas no final difere ligeiramente da de outros métodos de conjuntos. Cada modelo contribui para a previsão final proporcionalmente ao seu desempenho durante o treino, recebendo os modelos mais precisos um peso maior.
Em tarefas de regressão, o resultado final é normalmente uma soma ponderada de todas as previsões dos modelos. Em tarefas de classificação, o algoritmo combina os votos ponderados dos modelos para decidir a classe final. Esta abordagem ajuda o boosting a criar um modelo global forte, atribuindo maior peso aos modelos mais precisos e continuando a aprender com os restantes.
Eis alguns tipos comuns de algoritmos de boosting:
- AdaBoost (Boosting adaptativo): Este método começa por treinar um modelo simples, como uma pequena árvore de decisão, e depois aumenta o peso dos pontos de dados classificados incorretamente. Estes pesos fazem com que o modelo seguinte se concentre mais nos exemplos difíceis. Ao longo de várias iterações, os modelos desenvolvem-se com base uns nos outros, e as suas previsões combinadas formam um resultado mais forte e preciso. Por exemplo, o AdaBoost pode melhorar a precisão da deteção de spam ou do reconhecimento facial.
- Gradient Boosting: Em vez de voltar a ponderar as amostras, o Gradient Boosting treina cada novo modelo para corrigir os erros residuais, ou seja, as diferenças entre os valores reais e previstos, produzidos pelos modelos anteriores. Esta abordagem iterativa é eficaz tanto em tarefas de regressão como de classificação, como a previsão de vendas e a avaliação de crédito.
- XGBoost (Boosting extremo por gradiente): Esta versão avançada do gradient boosting melhora tanto a velocidade como a precisão. Utiliza regularização, que penaliza ligeiramente os modelos excessivamente complexos durante o treino para que se concentrem em padrões relevantes em vez de memorizarem os dados. Embora os modelos continuem a ser treinados sequencialmente, o XGBoost acelera o processo através da paralelização durante a construção das árvores. Pode avaliar muitos pontos de divisão possíveis ao mesmo tempo em diferentes núcleos de CPU. Isto torna o treino muito mais rápido, sobretudo em conjuntos de dados grandes, mantendo um elevado desempenho preditivo.

Fig. 3. Exemplo de um classificador baseado em árvore de decisão (DTB) treinado com uma abordagem de boosting para prever o risco de diabetes. (Fonte)
Stacking#
Stacking, também chamado generalização empilhada, vai um passo mais além ao utilizar as previsões de vários modelos como entrada para um modelo final conhecido como meta-aprendiz. Podes pensar nisto como um grupo de especialistas que partilham as suas opiniões, seguido de um decisor final que aprende a ponderar essas opiniões para tomar a melhor decisão possível.
Por exemplo, um modelo pode ser excelente a detetar fraude, enquanto outro é melhor a prever a perda de clientes. O meta-aprendiz analisa o desempenho de cada um e utiliza os seus pontos fortes em conjunto para fazer uma previsão final mais precisa.
Blending#
O blending funciona de forma semelhante ao stacking, pois também combina as previsões de vários modelos para tomar uma decisão final, mas utiliza uma abordagem mais simples e rápida. Em vez de utilizar validação cruzada (um método que divide os dados em várias partes e as alterna entre treino e teste para tornar o modelo mais fiável), como faz o stacking, o blending reserva uma pequena parte dos dados, chamada conjunto de validação.
Os modelos base são treinados nos dados restantes e fazem depois previsões sobre o conjunto de validação, que nunca viram. Isto produz duas informações essenciais: as respostas reais, ou etiquetas verdadeiras, e as previsões feitas por cada modelo base.
Estas previsões são então transmitidas a outro modelo chamado modelo de blending ou meta-modelo. Este modelo final analisa a precisão das previsões de cada modelo base e aprende a combiná-las da melhor forma possível.
Como o blending depende de uma única divisão entre treino e teste, em vez de repetir o processo várias vezes, é mais rápido e fácil de configurar. A desvantagem é que tem um pouco menos de informação para aprender, o que pode torná-lo ligeiramente menos preciso.
Avaliação de algoritmos de conjuntos#
Uma parte importante da aprendizagem por conjuntos é avaliar o desempenho de um modelo em dados que nunca viu. Por mais avançada que seja uma técnica, é necessário testá-la para garantir que consegue generalizar, ou seja, fazer previsões precisas sobre exemplos novos do mundo real, em vez de simplesmente memorizar os dados de treino.
Eis algumas métricas de desempenho comuns utilizadas para avaliar modelos de IA:
- Precisão: Esta métrica mede a proporção de previsões corretas entre todas as previsões feitas pelo modelo. Dá uma visão rápida do desempenho global.
- Precisão positiva: Indica quantas das amostras previstas como positivas são realmente positivas. Uma precisão positiva elevada significa que o modelo comete poucos erros de falsos positivos.
- Revocação: Esta medida centra-se no número de casos positivos reais corretamente identificados pelo modelo. É especialmente importante em áreas como os cuidados de saúde, onde não detetar um caso positivo, como um diagnóstico de doença, pode ter consequências graves.
Aplicações da aprendizagem por conjuntos no mundo real#
Até agora, explorámos como funciona a aprendizagem por conjuntos e as técnicas que lhe estão subjacentes. Vejamos agora onde esta abordagem está a causar impacto.
Eis algumas áreas importantes em que a aprendizagem por conjuntos é normalmente aplicada:
- Análise de dados e previsão: Nos negócios e na análise de dados, os modelos de conjuntos ajudam as organizações a fazer previsões melhores ao combinar conhecimentos de vários modelos. Isto conduz a previsões de vendas mais precisas, a um planeamento da procura mais inteligente e a uma compreensão mais clara do comportamento dos clientes.
- Classificação binária: Tarefas como deteção de spam, prevenção de fraude e diagnóstico médico exigem frequentemente distinguir entre dois resultados possíveis. Os modelos de conjuntos ajudam a reduzir falsos positivos e falsos negativos, o que é especialmente crucial em áreas como a cibersegurança e os cuidados de saúde.
- Problemas de regressão: Ao prever valores contínuos, como preços de casas, receitas de vendas ou risco de crédito, os métodos de conjuntos captam relações complexas nos dados. Isto resulta em previsões mais precisas que apoiam melhores decisões financeiras e operacionais.
Ir além dos dados estruturados com a aprendizagem por conjuntos#
Embora a aprendizagem por conjuntos seja mais utilizada com dados estruturados ou tabulares, como folhas de cálculo que contêm informações numéricas ou categóricas, também pode ser aplicada a dados não estruturados, como texto, imagens, áudio e vídeo.
Estes tipos de dados são mais complexos e difíceis de interpretar pelos modelos, mas os métodos de conjuntos ajudam a melhorar a precisão e a fiabilidade. Por exemplo, na visão computacional, os conjuntos podem melhorar tarefas como a classificação de imagens e a deteção de objetos.
Ao combinar as previsões de vários modelos de visão, como redes neurais convolucionais (CNNs), o sistema pode reconhecer objetos com maior precisão e lidar com variações de iluminação, ângulo ou fundo que poderiam confundir um único modelo.
Uma análise do ensemble de modelos Ultralytics YOLOv5#
Um exemplo interessante da utilização da aprendizagem por conjuntos em visão computacional ocorre quando um engenheiro combina vários modelos de deteção de objetos para melhorar a precisão. Imagina um engenheiro a trabalhar num sistema de monitorização de segurança para um estaleiro de construção, onde a iluminação, os ângulos e os tamanhos dos objetos mudam constantemente.
Um único modelo pode não detetar um trabalhador nas sombras ou confundir maquinaria em movimento. Ao utilizar um conjunto de modelos, cada um com pontos fortes diferentes, o sistema torna-se mais fiável e menos propenso a cometer esses erros.
Em particular, modelos como o Ultralytics YOLOv5 combinam muito bem com ensembles de modelos. Os engenheiros podem combinar diferentes variantes do YOLOv5, como YOLOv5x e YOLOv5l6, para fazer previsões em conjunto. Cada modelo analisa a mesma imagem e produz as suas próprias deteções, que são depois calculadas em média para gerar um resultado final mais forte e preciso.

Fig. 4. Deteção de objetos numa imagem com o YOLOv5. (Fonte)
Vantagens e desvantagens da aprendizagem por conjuntos#
Eis alguns benefícios importantes da utilização da aprendizagem por conjuntos:
- Resiliência a dados ruidosos: Os conjuntos são menos afetados por valores atípicos ou ruído aleatório no conjunto de dados, uma vez que dependem de vários modelos.
- Melhor generalização: Os conjuntos reduzem o overfitting, ajudando os modelos a ter um bom desempenho em dados desconhecidos, em vez de apenas memorizarem os exemplos de treino.
- Flexibilidade entre algoritmos: Podes combinar diferentes tipos de modelos, como árvores de decisão, redes neuronais e modelos lineares, para tirar partido dos seus pontos fortes únicos.
Embora a aprendizagem por conjuntos traga várias vantagens, também existem alguns desafios a considerar. Eis alguns fatores a ter em conta:
- Maior custo computacional: Treinar e manter vários modelos exige mais memória, poder de processamento e tempo do que um único modelo.
- Interpretabilidade reduzida: Como o resultado final resulta da combinação de vários modelos, pode ser difícil compreender por que motivo foi tomada uma determinada decisão. No entanto, isso depende dos modelos utilizados, pois quando utilizas modelos interpretáveis, como árvores de decisão ou máquinas de vetores de suporte, geralmente é mais fácil compreender os resultados.
- Considerações sobre o design do conjunto: Criar um conjunto implica escolher a combinação certa de modelos e garantir que funcionam bem em conjunto. No entanto, também pode ser mais simples em alguns casos, porque não precisas de ajustar os hiperparâmetros de cada modelo individual.
Principais conclusões#
A aprendizagem por conjuntos demonstra como a combinação de vários modelos pode tornar os sistemas de IA mais precisos e fiáveis. Ajuda a reduzir erros e a melhorar o desempenho em diferentes tipos de tarefas. À medida que o machine learning e a IA continuam a crescer, técnicas como esta estão a impulsionar uma adoção mais ampla e soluções de IA mais práticas e de elevado desempenho.
Junta-te à nossa comunidade em crescimento e ao nosso repositório do GitHub para saberes mais sobre IA de visão. Explora as nossas páginas de soluções para conhecer aplicações de visão computacional na agricultura e IA na logística. Consulta as nossas opções de licenciamento para começares hoje mesmo a criar o teu próprio modelo de visão computacional!









