Pular para o conteúdo principal

Aprendizado semissupervisionado: como treinar modelos mais precisos com menos dados rotulados

O aprendizado semissupervisionado treina modelos com uma mistura de dados rotulados e não rotulados, reduzindo custos de rotulagem e aumentando a acurácia em tarefas como classificação de imagens, análise de texto e diagnósticos médicos.
Atualizado 4 de mai. de 2026  · 12 min lido

Rotular dados é caro, demorado, depende do domínio e a maioria dos times não tem dados suficientes.

Você sempre precisa de dados rotulados para treinar um modelo, mas rotular direito leva tempo e, muitas vezes, exige um especialista. Por exemplo, imagens médicas precisam de radiologistas e documentos jurídicos precisam de advogados. Até tarefas simples, como análise de sentimento, exigem que alguém sente e marque cada exemplo manualmente. Como resultado, a maioria dos times de ML acaba com um conjunto rotulado minúsculo e uma quantidade enorme de dados não rotulados que não conseguem usar.

O aprendizado semissupervisionado resolve isso treinando com ambos. Ele pega seu pequeno conjunto rotulado, combina com o grande conjunto não rotulado e deixa o modelo aprender os padrões.

Neste artigo, vou explicar como o aprendizado semissupervisionado funciona, cobrir as técnicas mais comuns e mostrar quando faz sentido usar.

Mas o que exatamente é Supervised Machine Learning? Leia nosso post para entender como funcionam os algoritmos essenciais de aprendizado supervisionado.

O que é aprendizado semissupervisionado?

Aprendizado semissupervisionado é uma abordagem de machine learning que treina com uma mistura de dados rotulados e não rotulados.

Como o nome sugere, ele fica entre o aprendizado supervisionado e o não supervisionado. O aprendizado supervisionado precisa de todos os exemplos com rótulo. O não supervisionado funciona sem nenhum rótulo. O semissupervisionado usa um pequeno conjunto de exemplos rotulados junto com uma coleção maior de exemplos não rotulados.

Os dados rotulados dizem ao modelo o que procurar. Os não rotulados mostram como os dados são estruturados. Combinados, dão ao modelo mais material para aprender do que cada tipo isoladamente.

Como o aprendizado semissupervisionado funciona

O processo começa com um pequeno conjunto rotulado — talvez algumas centenas de exemplos com a saída correta conhecida.

Depois você traz um conjunto não rotulado muito maior. Podem ser milhares ou até milhões de amostras sem rótulos. O modelo usa esses dados não rotulados para aprender os padrões e relações subjacentes entre os pontos de dados.

Os exemplos rotulados então guiam essa estrutura rumo às respostas certas. O modelo já entende como os dados se organizam a partir das amostras não rotuladas. Os rótulos dizem quais regiões dessa estrutura mapeiam para quais saídas.

Aqui vai um exemplo rápido.

Suponha que você está classificando e-mails como spam ou não spam. Você tem 100 e-mails rotulados e 10.000 não rotulados. Primeiro, o modelo aprende como os e-mails se agrupam com base em padrões de palavras e estrutura. Depois usa seus 100 exemplos rotulados para descobrir quais grupos são spam e quais não são. O resultado é um modelo que performa melhor do que se você tivesse treinado só com aqueles 100 e-mails rotulados.

Semissupervisionado vs. supervisionado vs. não supervisionado

Vamos passar por cada abordagem para ver onde o semissupervisionado se encaixa em relação às outras duas.

Aprendizado supervisionado

O aprendizado supervisionado treina com dados totalmente rotulados. Cada amostra do conjunto tem uma entrada e uma saída conhecida. O modelo aprende o mapeamento entre as duas.

Isso funciona bem quando você tem exemplos rotulados em quantidade suficiente. Mas “suficiente” pode significar milhares ou até milhões de amostras, dependendo da tarefa. Produzir isso é caro e, às vezes, simplesmente impossível.

Aprendizado não supervisionado

O aprendizado não supervisionado não usa rótulos. O modelo observa os dados brutos e encontra estrutura por conta própria. Exemplos clássicos são clusterização e redução de dimensionalidade.

A vantagem é que você não precisa de dados rotulados. A desvantagem é que o modelo não sabe do que você realmente se importa. Ele encontra padrões, claro, mas esses padrões podem não corresponder ao problema que você quer resolver.

Aprendizado semissupervisionado

O aprendizado semissupervisionado combina o melhor dos dois mundos. Você dá ao modelo um pequeno conjunto rotulado para definir a tarefa e um grande conjunto não rotulado para aprender a estrutura dos dados.

Os dados rotulados apontam o caminho. Os dados não rotulados mostram como as amostras se relacionam entre si. Essa combinação costuma superar o supervisionado usando o mesmo pequeno conjunto rotulado, porque o modelo detecta padrões que passariam batido sem os dados não rotulados.

Aqui vai uma comparação rápida entre os três:

Tabela de comparação de abordagens de machine learning

Tabela de comparação de abordagens de machine learning

Resumindo: se rotular leva tempo demais e você tem muitos dados não rotulados, vale considerar o semissupervisionado. Agora vou mostrar algumas técnicas comuns.

Técnicas comuns de aprendizado semissupervisionado

Há algumas formas de implementar o aprendizado semissupervisionado. Cada técnica lida de um jeito com a divisão entre rotulados e não rotulados, então vamos ver as mais usadas.

Auto-treinamento (self-training)

Essa é a abordagem mais simples. Você treina um modelo com seus dados rotulados e, em seguida, usa-o para prever rótulos para as amostras não rotuladas. As previsões mais confiáveis são adicionadas ao conjunto rotulado como pseudo-rótulos, e você re-treina o modelo no conjunto expandido.

Você repete o processo até o modelo parar de melhorar ou até acabarem os dados não rotulados. É fácil de implementar, mas se o modelo errar no começo, esse erro passa a fazer parte do seu conjunto de treino.

Co-treinamento (co-training)

O co-treinamento usa dois modelos em vez de um. Cada modelo é treinado em uma “visão” diferente dos dados. Pense nisso como subconjuntos distintos de features.

Por exemplo, suponha que você está classificando páginas da web. Um modelo pode olhar para o texto da página, enquanto o outro olha para os textos âncora dos links que apontam para ela. Cada modelo rotula amostras não rotuladas para o outro, e eles se ensinam mutuamente ao longo de várias rodadas.

A ideia é que os pontos fortes de um cubram as fraquezas do outro. Se cada visão tiver informação suficiente sozinha, o co-treinamento pode superar o auto-treinamento porque os erros de um modelo são corrigidos pelo outro.

Propagação de rótulos

Essa abordagem constrói um grafo em que cada ponto de dados é um nó, e arestas conectam pontos semelhantes. Os rótulos então “se espalham” dos nós rotulados para seus vizinhos.

A suposição é que pontos de dados semelhantes devem compartilhar o mesmo rótulo. Se uma amostra rotulada está próxima de um aglomerado de amostras não rotuladas, é provável que essas amostras pertençam à mesma classe. Os rótulos se propagam pelo grafo até que todo nó tenha um.

Funciona bem quando seus dados têm uma estrutura de clusters clara, mas pode falhar quando as fronteiras entre classes são difusas.

Redes neurais semissupervisionadas

Deep learning tem seu próprio conjunto de técnicas semissupervisionadas. Aqui vão duas das mais comuns:

  • Regularização por consistência: força o modelo a produzir a mesma saída para uma entrada mesmo após pequenas perturbações, como ruído ou aumentos (augmentations). A ideia é que um bom modelo não deve mudar a previsão só porque você alterou levemente a entrada
  • Pseudo-rotulagem em redes neurais: funciona como o auto-treinamento, mas em nível de batch. O modelo gera rótulos para amostras não rotuladas durante o treino e os usa junto com os rótulos reais na função de perda.

Métodos como FixMatch e MixMatch combinam essas ideias e têm apresentado bons resultados em benchmarks com pouquíssimos exemplos rotulados.

Por que o aprendizado semissupervisionado importa

Você deve se importar com aprendizado semissupervisionado por um motivo: custo.

Rotular dados exige dados, especialistas, tempo e dinheiro. O semissupervisionado reduz custos extraindo mais valor de menos rótulos.

Depois, vem o desempenho. Um modelo treinado com 500 amostras rotuladas e 50.000 não rotuladas geralmente supera o mesmo modelo treinado só com aquelas 500 rotuladas. Os dados não rotulados dão ao modelo uma visão mais completa de como os dados se distribuem, o que leva a previsões melhores.

E tem a realidade da maioria dos conjuntos de dados. Dados não rotulados estão em todo lugar. Toda empresa tem logs, imagens, documentos e gravações que ninguém tem tempo de rotular. O semissupervisionado permite transformar esses dados em algo útil.

Aplicações do aprendizado semissupervisionado

O aprendizado semissupervisionado aparece em domínios onde é difícil obter rótulos.

Classificação de imagens é um dos casos de uso mais comuns. Rotular milhares de imagens é tedioso, mas coletar imagens não rotuladas é fácil. Métodos semissupervisionados permitem treinar classificadores precisos com apenas algumas centenas de imagens rotuladas.

Classificação de texto segue a mesma lógica. Você pode ter milhões de avaliações de clientes ou tickets de suporte, mas só um pequeno lote com rótulos manuais. O semissupervisionado ajuda a construir classificadores que generalizam para todo o conjunto.

Reconhecimento de fala é outra área interessante. Transcrever áudio manualmente dá muito trabalho, mas há abundância de áudio bruto. As gravações não rotuladas ajudam o modelo a aprender padrões acústicos, enquanto as amostras transcritas ensinam os mapeamentos corretos.

Análise de dados médicos é um ótimo caso específico de domínio. Conseguir que um médico rotule exames ou prontuários é caro e lento, pois eles têm outras prioridades. Mas hospitais têm enormes quantidades de dados clínicos não rotulados. Métodos semissupervisionados ajudam a construir modelos diagnósticos sem precisar de um conjunto totalmente rotulado.

Vantagens do aprendizado semissupervisionado

Veja por que o semissupervisionado é uma boa opção para muitos projetos:

  • Exige menos dados rotulados: você consegue bons resultados com uma fração dos rótulos que uma abordagem totalmente supervisionada exigiria
  • Melhora a generalização: os dados não rotulados expõem o modelo a uma gama maior de exemplos, ajudando a performar melhor em dados não vistos
  • É econômico: quando rotular é caro ou demorado — o que é comum — o semissupervisionado economiza tempo e orçamento, aproveitando melhor o que você já tem

Então, se você tem mais dados do que rótulos, é hora de considerar o aprendizado semissupervisionado.

Limitações do aprendizado semissupervisionado

O aprendizado semissupervisionado tem alguns trade-offs que você precisa conhecer.

  • A qualidade dos dados não rotulados importa: se seus dados não rotulados não vêm da mesma distribuição dos rotulados, o modelo aprende padrões errados
  • Pseudo-rótulos errados: em métodos como auto-treinamento, uma previsão confiante porém incorreta é tratada como verdade. O modelo treina nesse rótulo ruim, reforça o erro e piora previsões futuras
  • É mais complexo que o supervisionado: há mais hiperparâmetros para ajustar, mais decisões de design e mais pontos de falha. Um modelo supervisionado é mais simples de construir e explicar. Métodos semissupervisionados adicionam complexidade que nem sempre compensa — especialmente se seu conjunto rotulado já for grande o suficiente

Nada disso é impeditivo — só pontos de atenção antes de começar.

Aprendizado semissupervisionado na prática (exemplo em Python)

Vamos ver o semissupervisionado em ação com um exemplo simples em Python usando o algoritmo LabelSpreading do scikit-learn.

Vou criar um conjunto de dados, rotular só uma pequena parte e deixar o modelo descobrir o resto.

Preparando os dados

Primeiro, vou gerar um conjunto de dados e mascarar a maior parte dos rótulos para simular um cenário semissupervisionado:

import numpy as np
from sklearn.datasets import make_moons
from sklearn.semi_supervised import LabelSpreading
from sklearn.metrics import accuracy_score

# Generate a dataset with 500 samples
X, y_true = make_moons(n_samples=500, noise=0.2, random_state=42)

# Keep only 10%, mask the rest as -1
rng = np.random.RandomState(42)
labeled_idx = rng.choice(500, size=50, replace=False)
y_train = np.full(500, -1)  # -1 means unlabeled in scikit-learn
y_train[labeled_idx] = y_true[labeled_idx]

print(f"Labeled samples: {np.sum(y_train != -1)}")
print(f"Unlabeled samples: {np.sum(y_train == -1)}")

Número de amostras rotuladas e não rotuladas

Número de amostras rotuladas e não rotuladas

No scikit-learn, -1 marca uma amostra como não rotulada. De 500 amostras, só 50 têm rótulos. O modelo precisa inferir as outras 450.

Treinando e prevendo

Agora vou treinar um LabelSpreading e ver quão bem ele rotula os dados não rotulados:

model = LabelSpreading(kernel="knn", n_neighbors=7)
model.fit(X, y_train)

y_pred = model.transduction_

# Check accuracy on the originally unlabeled samples
unlabeled_mask = y_train == -1
accuracy = accuracy_score(y_true[unlabeled_mask], y_pred[unlabeled_mask])
print(f"Accuracy on unlabeled samples: {accuracy:.2%}")

Acurácia nas amostras não rotuladas

Acurácia nas amostras não rotuladas

O modelo rotulou corretamente a maioria das amostras não rotuladas usando só 10% dos dados como exemplos rotulados. Essa é a ideia central.

Visualizando os resultados

A acurácia é alta — quase 96% — mas vamos inspecionar visualmente quais amostras foram classificadas errado:

Rótulos verdadeiros e preditos

Rótulos verdadeiros e preditos

Os rótulos preditos praticamente coincidem com os verdadeiros, mesmo o modelo tendo visto apenas 50 exemplos rotulados de 500. Você pode ver os incorretos em vermelho no gráfico da direita.

Erros comuns no aprendizado semissupervisionado

Você viu como o semissupervisionado pode ser poderoso, mas ele não é perfeito para todo cenário. Aqui estão os erros mais comuns e como evitá-los.

  • Assumir que dados não rotulados sempre ajudam: não ajudam. Se os dados não rotulados vêm de uma distribuição diferente da dos rotulados, o modelo aprende padrões que não se aplicam à sua tarefa. Garanta que os dados rotulados e não rotulados venham da mesma fonte e representem o mesmo problema
  • Má inicialização do modelo: métodos semissupervisionados partem de um modelo supervisionado inicial. Se esse primeiro modelo for fraco — treinado com poucos exemplos ou hiperparâmetros ruins — todos os passos seguintes herdam esses problemas. Comece com a melhor base supervisionada possível antes de adicionar dados não rotulados
  • Excesso de confiança em pseudo-rótulos: pseudo-rótulos são tão bons quanto o modelo que os gerou. Se você confiar em todos, os erros se acumulam ao longo das rodadas de treino. Defina um limiar de confiança alto e use apenas os pseudo-rótulos dos quais o modelo tem certeza. Descarte o restante
  • Ignorar a distribuição dos dados: métodos semissupervisionados assumem que a estrutura dos dados não rotulados diz algo útil sobre os rótulos. Se seus dados não tiverem clusters claros ou fronteiras suaves de decisão, essa suposição cai por terra

Para evitar esses quatro erros, comece com uma base supervisionada forte, adicione dados não rotulados gradualmente e verifique se a performance realmente melhora a cada etapa.

Quando usar aprendizado semissupervisionado

O aprendizado semissupervisionado faz sentido em três cenários:

  • Quando os dados rotulados são limitados: se você tem um conjunto rotulado pequeno e obter mais rótulos é caro ou lento, o semissupervisionado ajuda a extrair aquele ganho extra de acurácia
  • Quando há abundância de dados não rotulados: você precisa de muitos dados não rotulados para isso funcionar. Se tiver apenas um pequeno conjunto não rotulado, o modelo não aprenderá estrutura suficiente para fazer diferença. Quanto maior a distância entre o tamanho do seu conjunto rotulado e o não rotulado, mais os métodos semissupervisionados podem ajudar
  • Quando seus dados têm uma estrutura clara: o semissupervisionado funciona melhor quando pontos semelhantes compartilham o mesmo rótulo. Se seus dados formam clusters ou têm fronteiras suaves entre classes, os não rotulados tornarão esses padrões mais evidentes. Se as classes estiverem misturadas, sem separação clara, os não rotulados acrescentam pouco.

Se as três condições se aplicarem, vale a pena testar o semissupervisionado.

Conclusão

Em bom português: o aprendizado semissupervisionado permite treinar modelos melhores sem precisar rotular tudo. Você pega um conjunto rotulado pequeno, combina com um grande conjunto não rotulado e deixa o modelo aprender com ambos.

Os benefícios são claros: menos tempo rotulando, ida ao mercado mais rápida, custos menores e desempenho melhor do que treinar só com poucos rótulos. E em áreas como medicina, jurídico e PLN — onde rotular exige especialistas — isso faz muita diferença.

Se você tem uma grande quantidade de dados não rotulados, experimente o semissupervisionado. Comece com uma boa base supervisionada, escolha uma técnica que combine com a estrutura dos seus dados e meça se os não rotulados realmente ajudam. O LabelSpreading do scikit-learn é um bom primeiro experimento, mas teste também métodos como FixMatch e MixMatch.

Se você quer estar pronto para o mercado em 2026, faça nossa trilha de aprendizado Machine Learning Engineer. Ela cobre tudo, dos fundamentos a MLOps.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Cientista de dados sênior baseado na Croácia. Principal redator técnico com mais de 700 artigos publicados, gerando mais de 10 milhões de visualizações. Autor do livro Automação do aprendizado de máquina com TPOT.

FAQs

O que é aprendizado semissupervisionado?

Aprendizado semissupervisionado é uma abordagem de machine learning que treina modelos com um pequeno conjunto de dados rotulados e um grande conjunto de dados não rotulados. Os dados rotulados dizem ao modelo o que procurar, enquanto os não rotulados ajudam a entender a estrutura geral dos dados. Assim, você obtém resultados melhores do que treinando apenas com os dados rotulados.

Como o aprendizado semissupervisionado é diferente do supervisionado e do não supervisionado?

O aprendizado supervisionado usa somente dados rotulados, em que cada amostra tem uma saída conhecida. O não supervisionado usa somente dados não rotulados e encontra padrões por conta própria. O semissupervisionado usa um pequeno conjunto rotulado para definir a tarefa e um grande conjunto não rotulado para aprender a estrutura dos dados.

Quando devo usar aprendizado semissupervisionado?

Use quando você tem poucos dados rotulados, muitos dados não rotulados e seus dados têm estrutura clara, como clusters naturais ou fronteiras suaves entre classes. Se rotular for caro ou exigir especialistas — como em imagens médicas ou análise de textos jurídicos — o semissupervisionado ajuda a construir modelos precisos sem rotular tudo.

O que é auto-treinamento em aprendizado semissupervisionado?

Auto-treinamento é uma técnica em que o modelo treina primeiro com dados rotulados e depois prevê rótulos para as amostras não rotuladas. As previsões mais confiantes entram no conjunto rotulado como pseudo-rótulos e o modelo é re-treinado no conjunto expandido. O risco é que erros no começo sejam reforçados depois, então defina um limiar de confiança alto.

Tópicos

Aprenda com a DataCamp

Curso

Unsupervised Learning em Python

4 h
176.9K
Aprenda a agrupar, transformar, visualizar e extrair insights de dados não rotulados com scikit-learn e SciPy.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Introdução ao aprendizado não supervisionado

Saiba mais sobre o aprendizado não supervisionado, seus tipos - agrupamento, mineração de regras de associação e redução de dimensionalidade - e como ele se difere do aprendizado supervisionado.
Kurtis Pykes 's photo

Kurtis Pykes

9 min

blog

O que é aprendizado de máquina on-line?

Online ML: Aprende de forma adaptativa a partir de pontos de dados em tempo real, fornecendo previsões oportunas e precisas em ambientes ricos em dados.
Abid Ali Awan's photo

Abid Ali Awan

5 min

blog

O que é aprendizagem preguiçosa?

Os algoritmos de aprendizagem preguiçosa funcionam memorizando os dados de treinamento em vez de construir um modelo geral.
Abid Ali Awan's photo

Abid Ali Awan

5 min

blog

O que é um modelo generativo?

Os modelos generativos usam o aprendizado de máquina para descobrir padrões nos dados e gerar novos dados. Saiba mais sobre sua importância e aplicações em IA.
Abid Ali Awan's photo

Abid Ali Awan

11 min

blog

O que é aprendizagem incremental?

O aprendizado incremental é uma metodologia de aprendizado de máquina em que um modelo de IA aprende novas informações ao longo do tempo, mantendo e desenvolvendo o conhecimento anterior.
Abid Ali Awan's photo

Abid Ali Awan

9 min

Tutorial

Agrupamento hierárquico em R

O agrupamento é a forma mais comum de aprendizado não supervisionado, um tipo de algoritmo de aprendizado de máquina usado para fazer inferências a partir de dados não rotulados.
DataCamp Team's photo

DataCamp Team

Ver maisVer mais