Supervised, Unsupervised ou Reinforcement Learning: como escolher o tipo correto de Machine Learning?

Supervised, Unsupervised ou Reinforcement Learning: como escolher o tipo correto de Machine Learning?

Supervised Learning

Uma das primeiras dificuldades que encontrei quando comecei a estudar Machine Learning
foi perceber que não existe apenas uma forma de ensinar uma máquina a aprender. Antes
de mergulharmos em algoritmos, bibliotecas Python ou modelos complexos, existe uma
decisão muito mais importante: escolher o tipo de aprendizagem adequado ao problema
que pretendemos resolver. Muitas vezes ouvimos falar em Supervised Learning, Unsupervised Learning, Reinforcement Learning, Semi-Supervised Learning ou Self-Supervised Learning. Para quem está a começar, estes conceitos podem parecer apenas mais alguns termos técnicos. No entanto, compreender as diferenças entre eles é essencial porque determina a forma como os dados serão utilizados e quais os resultados que podemos esperar obter.
Curiosamente, a resposta para escolher a abordagem correta é normalmente mais simples
do que parece. A pergunta fundamental não é qual o algoritmo mais avançado nem qual a
tecnologia mais recente. A pergunta fundamental é: que tipo de dados tenho disponível?

A importância dos dados

Quando falamos de Machine Learning, os dados são o combustível que alimenta os
modelos. A qualidade, quantidade e estrutura desses dados influenciam diretamente os resultados obtidos. Imaginemos que pretendemos prever se um cliente irá cancelar um contrato. Se possuirmos milhares de exemplos históricos onde sabemos quais os clientes que cancelaram e quais os que permaneceram, estamos perante um cenário muito diferente daquele em que apenas possuímos os dados dos clientes mas não conhecemos os resultados.
É precisamente esta diferença que determina o tipo de aprendizagem a utilizar.
Durante a primeira sessão do curso de Machine Learning que estou a frequentar, uma das
ideias que mais me marcou foi a existência de um fluxograma simples que permite escolher
a abordagem adequada. Em vez de começarmos pelos algoritmos, devemos começar pelos
dados. Supervised Learning: quando sabemos a resposta O Supervised Learning é provavelmente a forma mais intuitiva de Machine Learning. Neste caso, o algoritmo aprende através de exemplos que já possuem a resposta correta associada. Dizemos que os dados estão etiquetados ou “labelled”. Por exemplo, imaginemos uma empresa de logística que pretende prever reclamações de clientes.

Supervised Learning: quando sabemos a resposta

O Supervised Learning é provavelmente a forma mais intuitiva de Machine Learning.
Neste caso, o algoritmo aprende através de exemplos que já possuem a resposta correta
associada. Dizemos que os dados estão etiquetados ou “labelled”.
Por exemplo, imaginemos uma empresa de logística que pretende prever reclamações de
clientes.
O conjunto de dados pode conter:

  • Distância percorrida
  • Peso da encomenda
  • Tempo de entrega
  • Número de incidentes
  • Reclamação (Sim ou Não)

Neste caso, o modelo consegue observar os exemplos históricos e aprender padrões que
relacionam as características do envio com a existência de reclamações.
Foi exatamente este tipo de abordagem que utilizei recentemente num exercício prático
onde desenvolvi um modelo para prever reclamações em operações logísticas.
O algoritmo não recebe apenas os dados. Recebe também a resposta correta.
Por esse motivo, consegue comparar as suas previsões com a realidade e melhorar
progressivamente o seu desempenho.

O Supervised Learning é normalmente utilizado para dois tipos de problemas:

Classification

Quando pretendemos prever categorias.
Exemplos:

  • Spam ou não spam
  • Fraude ou não fraude
  • Reclamação ou não reclamação
  • Cliente satisfeito ou insatisfeito

Regression

Quando pretendemos prever valores numéricos.
Exemplos:

  • Consumo energético
  • Preço de uma habitação
  • Tempo de entrega
  • Produção fotovoltaica

Sempre que dispomos de dados históricos com resultados conhecidos, o Supervised
Learning é normalmente a primeira opção a considerar.

Unsupervised Learning: quando não sabemos a resposta

Mas o que acontece quando não temos etiquetas?
Imagine uma empresa que possui milhares de registos de clientes mas não sabe quais são
os perfis existentes. Não existe uma coluna chamada “tipo de cliente”. Não existe uma classificação previamente definida. Neste caso, o objetivo deixa de ser prever algo conhecido. O objetivo passa a ser descobrir padrões ocultos. É aqui que surge o Unsupervised Learning. Ao contrário do Supervised Learning, os dados não possuem respostas associadas. O algoritmo procura autonomamente grupos, estruturas ou relações existentes nos dados. Uma das aplicações mais comuns é a segmentação de clientes.

Por exemplo, um modelo pode descobrir automaticamente:

  • Clientes sensíveis ao preço
  • Clientes premium
  • Clientes ocasionais
  • Clientes muito ativos

Sem que ninguém tenha definido previamente essas categorias. O algoritmo limita-se a analisar semelhanças e diferenças. É por isso que esta abordagem é frequentemente utilizada em marketing, análise de comportamento, deteção de anomalias e descoberta de conhecimento.

Semi-Supervised Learning: quando temos apenas algumas respostas

Na prática, muitas organizações enfrentam um problema intermédio. Possuem alguns dados etiquetados, mas a maioria não está classificada. Foi precisamente este cenário que encontrei num dos exercícios do curso.

O conjunto de dados continha 1000 operações logísticas. No entanto, apenas cerca de 300 possuíam informação sobre reclamações. Os restantes registos não tinham essa informação.
Eliminar todos os dados não etiquetados significaria desperdiçar uma enorme quantidade
de informação. É aqui que surge o Semi-Supervised Learning.

Esta abordagem combina os dois mundos:

  • Dados etiquetados
  • Dados não etiquetados

O modelo utiliza os exemplos conhecidos para aprender e posteriormente tenta aproveitar
a informação existente nos restantes registos. Em muitos cenários empresariais esta abordagem permite obter melhores resultados sem necessidade de realizar um processo manual de etiquetagem extremamente dispendioso.

Self-Supervised Learning: a tecnologia por trás do ChatGPT

Nos últimos anos surgiu uma abordagem que ganhou enorme relevância graças aos
grandes modelos de linguagem. O Self-Supervised Learning resolve um problema fundamental. Como treinar modelos gigantes quando não existem milhões de etiquetas produzidas por humanos?

A solução consiste em gerar automaticamente tarefas de aprendizagem. Por exemplo, durante o treino de um modelo de linguagem podemos remover uma palavra de uma frase:
A capital de Portugal é ____.

O modelo tenta prever a palavra em falta. A própria frase fornece a resposta correta.
Não foi necessária qualquer intervenção humana. Ao repetir este processo milhares de milhões de vezes, os modelos conseguem aprender relações extremamente complexas entre palavras, conceitos e contextos.Grande parte dos avanços recentes em Inteligência Artificial Generativa resulta desta abordagem.

Reinforcement Learning: aprender através da experiência

Existe ainda uma quinta abordagem muito diferente das restantes. O Reinforcement Learning não aprende através de exemplos históricos. Também não aprende apenas através da observação dos dados. Aprende através da interação com um ambiente. Podemos imaginar um robô que tenta deslocar-se num armazém. Sempre que toma uma boa decisão recebe uma recompensa. Sempre que toma uma má decisão recebe uma penalização. Ao longo do tempo aprende quais as ações que produzem melhores resultados. Esta abordagem é frequentemente utilizada em:

  • Robótica
  • Veículos autónomos
  • Jogos
  • Sistemas de controlo industrial
  • Otimização de processos

Embora seja uma das áreas mais fascinantes da Inteligência Artificial, também é uma das
mais complexas.

Como escolher a abordagem correta?

Sempre que me deparo com um novo problema de Machine Learning, tento responder a
quatro perguntas simples:

  1. Tenho dados disponíveis?
  2. Todos os dados possuem etiquetas?
  3. Apenas alguns possuem etiquetas?
  4. Pretendo descobrir padrões ou prever resultados?

Na maioria dos casos, estas perguntas são suficientes para identificar o caminho adequado. Curiosamente, a escolha do algoritmo costuma ser muito menos importante do que a escolha da estratégia de aprendizagem correta.

Conclusão

Uma das maiores lições que retirei das primeiras sessões de Machine Learning foi perceber que a tecnologia não começa pelos algoritmos. Começa pelos dados. Antes de escolher Random Forest, Redes Neuronais ou Transformers, é necessário compreender a natureza do problema que estamos a tentar resolver. Se conhecemos as respostas, utilizamos Supervised Learning. Se não conhecemos as respostas, recorremos ao Unsupervised Learning. Se possuímos apenas algumas respostas, podemos explorar o Semi-Supervised Learning. Se pretendemos que o próprio modelo crie tarefas de aprendizagem, entramos no domínio
do Self-Supervised Learning. E se o sistema tiver de aprender através da experiência, então estamos perante Reinforcement Learning. Compreender estas diferenças é um dos primeiros passos para transformar dados em conhecimento e conhecimento em decisões.