Machine learning, ou aprendizado de máquina, é o campo em que a máquina descobre as regras sozinha, a partir de exemplos, em vez de recebê-las escritas por alguém. Essa frase parece vaga até você olhar o que muda na prática, e o que muda é a ordem das peças.

Este texto percorre a mecânica: a inversão que define o campo, onde ele fica em relação à inteligência artificial e ao deep learning, os três tipos de aprendizado, como um modelo é treinado, o que dá errado e quais métricas realmente dizem se funcionou.

A inversão que define o campo

Em programação tradicional, você escreve as regras. O programa recebe regras mais dados e devolve respostas. Para detectar spam assim, alguém precisa listar: se contém certa palavra, se vem de certo domínio, se tem excesso de links. A lista nunca fica pronta, porque quem manda spam muda o texto na semana seguinte.

Machine learning troca a ordem. O sistema recebe dados mais respostas e devolve as regras. Você entrega milhares de mensagens já marcadas como spam ou não spam, e o algoritmo encontra sozinho os padrões que separam os dois grupos. Ninguém escreve a regra, e ninguém consegue enumerá-la depois: ela existe como um conjunto de pesos ajustados.

Daí saem as duas consequências que importam para quem decide. A primeira é que sem dado rotulado não há aprendizado: o insumo é histórico com resposta conhecida, e ele costuma ser o gargalo real do projeto. A segunda é que o modelo aprende o que está nos dados, inclusive o que não deveria. Histórico enviesado produz modelo enviesado, com a aparência de neutralidade que um número carrega.

IA, machine learning e deep learning

Os três termos aparecem como sinônimos e não são. Eles são círculos concêntricos:

Termo O que abrange
Inteligência artificial O campo inteiro: qualquer técnica que faça a máquina executar tarefas associadas à inteligência humana, incluindo sistemas de regras escritas à mão, sem aprendizado nenhum
Machine learning O subconjunto em que o comportamento é aprendido a partir de dados, e não programado
Deep learning O subconjunto do machine learning que usa redes neurais com muitas camadas, capazes de aprender representações direto de dado bruto como imagem, áudio e texto

Todo deep learning é machine learning, e todo machine learning é IA. O contrário não vale: um sistema especialista dos anos 1980, com regras escritas por humanos, é IA e não é machine learning. Se você quer o quadro completo do campo maior, ele está em o que é inteligência artificial, e o detalhamento das redes profundas em o que é deep learning.

Vale situar o que dominou a conversa recente: os modelos de linguagem por trás dos assistentes atuais são deep learning. São redes neurais muito grandes, treinadas em volumes enormes de texto para prever a próxima palavra, e é dessa tarefa simples repetida em escala que emerge o resto. Continuam sendo, na base, a mesma inversão descrita acima.

Os três tipos de aprendizado

A diferença entre eles está no que acompanha os dados na hora do treino:

  • Supervisionado. Cada exemplo vem com a resposta certa. É o mais usado em empresa, e cobre duas tarefas: classificação, quando a resposta é uma categoria (é spam ou não), e regressão, quando é um número (quanto este imóvel vale). Previsão de cancelamento de cliente, aprovação de crédito e análise preditiva em geral caem aqui.
  • Não supervisionado. Os dados não vêm com resposta. O algoritmo procura estrutura sozinho: agrupa clientes com comportamento parecido, reduz dimensões, encontra o que destoa do padrão. Serve para descobrir segmentos que ninguém tinha definido, e para detecção de anomalia.
  • Por reforço. Não há resposta certa, há recompensa. O sistema tenta, recebe pontuação e ajusta a estratégia para maximizar o resultado ao longo do tempo. Foi assim que, em 2015, um algoritmo do DeepMind aprendeu a jogar Atari partindo de zero: começa errando o básico e, depois de horas jogando, encontra estratégias que os projetistas não previram.

Um erro comum é escolher a técnica antes de olhar o dado disponível. O tipo de aprendizado é consequência do que existe: com histórico rotulado, supervisionado; sem rótulo, não supervisionado; com um ambiente onde é barato tentar e medir, reforço.

Como um modelo é treinado

O ciclo é sempre o mesmo, e nenhuma etapa é dispensável:

  1. Preparar os dados. Limpar, tratar valores ausentes e escolher as variáveis que entram, chamadas de atributos ou features. Costuma consumir a maior parte do tempo do projeto, e é onde a qualidade se decide.
  2. Separar os conjuntos. Uma parte para treinar, uma para validar durante os ajustes e uma para o teste final, que o modelo nunca viu. Sem essa separação, não existe medida honesta de desempenho.
  3. Treinar. O algoritmo ajusta seus parâmetros para reduzir o erro entre a resposta que produz e a resposta conhecida.
  4. Avaliar. Medir no conjunto de teste, com uma métrica escolhida antes, e não a que der o número mais bonito depois.
  5. Monitorar em produção. O mundo muda e o modelo não. Desempenho cai com o tempo à medida que os dados novos deixam de parecer com os de treino, o que exige retreino periódico.

O último item é o mais esquecido, e o que transforma um bom projeto em um sistema que apodrece em silêncio. Modelo em produção sem monitoramento continua respondendo com a mesma confiança de sempre enquanto acerta cada vez menos.

Quando o modelo não aprende

Existem duas formas simétricas de falhar, e reconhecê-las é o básico do diagnóstico:

O que acontece Como se manifesta
Overfitting O modelo decora o conjunto de treino, inclusive o ruído Acerta quase tudo no treino e erra feio em dado novo
Underfitting O modelo é simples demais para o padrão existente Vai mal no treino e mal no teste, de forma parecida

O primeiro é o mais perigoso porque se disfarça de sucesso: os números da apresentação ficam ótimos, e o sistema quebra quando encontra o mundo real. Os dois têm tratamento conhecido, detalhado em o que é overfitting e em o que é underfitting.

As métricas, e por que a acurácia engana

A métrica mais intuitiva é a acurácia: a proporção de acertos sobre o total. E ela é péssima quando as classes são desbalanceadas, que é o caso da maioria dos problemas úteis.

Imagine detectar uma fraude que ocorre em 1% das transações. Um modelo que responde “não é fraude” para absolutamente tudo tem 99% de acurácia e não serve para nada. O número está certo e a conclusão está errada, que é a pior combinação possível num relatório.

Por isso se olha a matriz de confusão, que separa os quatro casos: verdadeiro positivo, falso positivo, verdadeiro negativo e falso negativo. Dela saem as métricas que importam:

Métrica Responde Cálculo
Precisão Dos que apontei como positivos, quantos eram mesmo? VP / (VP + FP)
Recall (sensibilidade) Dos positivos que existiam, quantos eu encontrei? VP / (VP + FN)
F1 Um número só, equilibrando as duas Média harmônica de precisão e recall

As duas primeiras se opõem, e escolher entre elas é decisão de negócio, não de técnica. Num exame que detecta doença grave, o falso negativo é o erro caro: manda para casa quem está doente. Ali se prioriza recall, aceitando alarmes falsos. Num filtro de spam, o falso positivo é o caro: joga fora o e-mail do cliente. Ali se prioriza precisão.

Definir qual erro dói mais antes de treinar é o que separa um projeto conduzido de um projeto que persegue o número mais alto que aparecer.

Quando machine learning resolve

Machine learning vale quando quatro condições aparecem juntas. Falhando uma, o custo raramente se paga:

  1. Existe padrão nos dados. Se o fenômeno é aleatório, nenhum algoritmo encontra o que não está lá.
  2. A regra é difícil de escrever à mão. Reconhecer um rosto é difícil de descrever e fácil de exemplificar. Calcular imposto é o oposto, e pede código comum.
  3. Há volume histórico com resposta conhecida. Poucas dezenas de exemplos não sustentam aprendizado.
  4. Errar às vezes é aceitável. Todo modelo erra. Se o processo exige acerto garantido, o lugar dele é apoiando a decisão, não decidindo.

O item três costuma ser o que derruba a ideia, e o diagnóstico honesto no começo evita meses gastos. Por isso a pergunta sobre dado disponível pertence à definição de escopo do produto, e não à fase de implementação. Muito problema apresentado como caso de machine learning se resolve com uma consulta bem feita ao banco, e sai mais barato e mais explicável.

Perguntas frequentes

O que é machine learning?

É o campo em que a máquina descobre as regras sozinha, a partir de exemplos, em vez de recebê-las escritas por alguém. Em programação tradicional o sistema recebe regras mais dados e devolve respostas. Em machine learning ele recebe dados mais respostas conhecidas e devolve as regras, na forma de um conjunto de parâmetros ajustados durante o treino.

Qual a diferença entre inteligência artificial, machine learning e deep learning?

São círculos concêntricos. Inteligência artificial é o campo inteiro e inclui até sistemas de regras escritas à mão, sem aprendizado. Machine learning é o subconjunto em que o comportamento é aprendido de dados. Deep learning é o subconjunto do machine learning que usa redes neurais de muitas camadas, capazes de aprender direto de dado bruto como imagem, áudio e texto. Todo deep learning é machine learning, e todo machine learning é IA, mas o contrário não vale.

Quais são os tipos de aprendizado de máquina?

Três. No supervisionado, cada exemplo vem com a resposta certa, e ele cobre classificação, quando a resposta é uma categoria, e regressão, quando é um número. No não supervisionado, os dados não têm resposta e o algoritmo procura estrutura sozinho, agrupando ou detectando anomalias. No aprendizado por reforço não há resposta certa, há recompensa: o sistema tenta, recebe pontuação e ajusta a estratégia.

Qual a diferença entre aprendizado supervisionado e não supervisionado?

A presença do rótulo. No supervisionado, cada exemplo do treino vem acompanhado da resposta correta, e o modelo aprende a reproduzi-la em casos novos. No não supervisionado não existe resposta: o algoritmo encontra sozinho a estrutura dos dados, agrupando registros parecidos ou identificando o que destoa do padrão. A escolha não é preferência, é consequência do dado disponível.

Como um modelo de machine learning é treinado?

Prepara-se os dados, limpando e escolhendo as variáveis que entram. Separa-se em três conjuntos: treino, validação e teste, este último nunca visto pelo modelo. Treina-se, ajustando parâmetros para reduzir o erro entre a resposta produzida e a conhecida. Avalia-se no conjunto de teste com uma métrica definida antes. E monitora-se em produção, porque o desempenho cai com o tempo à medida que os dados novos deixam de parecer com os de treino.

O que é overfitting e underfitting?

São as duas formas simétricas de falhar. No overfitting o modelo decora o conjunto de treino, inclusive o ruído: acerta quase tudo no treino e erra feio em dado novo. No underfitting o modelo é simples demais para o padrão existente e vai mal nos dois. O overfitting é o mais perigoso porque se disfarça de sucesso, com números ótimos na apresentação e quebra no mundo real.

Por que a acurácia é uma métrica enganosa?

Porque falha quando as classes são desbalanceadas, que é o caso da maioria dos problemas úteis. Num sistema de detecção de fraude que ocorre em 1% das transações, um modelo que responde não é fraude para absolutamente tudo tem 99% de acurácia e não serve para nada. O número está certo e a conclusão está errada.

Qual a diferença entre precisão e recall?

Precisão responde: dos casos que apontei como positivos, quantos eram mesmo? É VP dividido por VP mais FP. Recall, ou sensibilidade, responde: dos positivos que existiam, quantos eu encontrei? É VP dividido por VP mais FN. As duas se opõem, e escolher entre elas é decisão de negócio. Em exame de doença grave o falso negativo é o erro caro, então prioriza-se recall. Em filtro de spam o falso positivo é o caro, então prioriza-se precisão.

Quando vale a pena usar machine learning?

Quando quatro condições aparecem juntas: existe padrão nos dados, a regra é difícil de escrever à mão mas fácil de exemplificar, há volume histórico com resposta conhecida, e errar às vezes é aceitável. Falhando uma delas, o custo raramente se paga. A terceira condição é a que mais derruba projetos, e diagnosticá-la no começo evita meses gastos.

Preciso de muitos dados para usar machine learning?

Sim, e esse costuma ser o gargalo real. O insumo do aprendizado supervisionado é histórico com resposta conhecida, e poucas dezenas de exemplos não sustentam um modelo. Vale lembrar também que o modelo aprende o que está nos dados, inclusive o que não deveria: histórico enviesado produz modelo enviesado, com a aparência de neutralidade que um número carrega.