Um momento
Todos os artigos
IA 12 min de leitura

O Que É Aprendizado de Máquina? Como Computadores Aprendem com Exemplos

Uma introdução simples e sem jargões ao aprendizado de máquina, o jeito como computadores aprendem com exemplos em vez de seguir regras. Veja os três tipos principais, como um modelo aprende, por que ele pode decorar e como avaliá-lo.

nbkhope
Nesta página

Como o seu banco percebe que um pagamento pode ser fraude antes de você? Como um aplicativo de música adivinha qual canção você vai querer ouvir em seguida? Como um site de imóveis estima quanto vale um apartamento?

Ninguém sentou e escreveu regras para cada pagamento, música ou imóvel possível. Em vez disso, esses computadores aprenderam com exemplos. Isso é aprendizado de máquina (em inglês, machine learning), e é o motor por trás da maior parte da tecnologia "inteligente" que você usa todo dia.

Este artigo explica o aprendizado de máquina em linguagem simples, com imagens e exemplos fáceis. Não precisa saber matemática nem programação, só ter curiosidade.

A grande ideia: aprender com exemplos

Um software tradicional segue instruções escritas por uma pessoa: "Se acontecer isto, faça aquilo." Isso funciona bem quando as regras são claras, como calcular um imposto ou ordenar uma lista.

Mas alguns problemas são bagunçados demais para regras. O que exatamente faz um apartamento valer R$ 650 mil e não R$ 580 mil? O tamanho, o número de quartos, o bairro, o estado de conservação, a vista... e o jeito como tudo isso se combina é complicado. Escrever tudo à mão seria quase impossível.

O aprendizado de máquina segue outro caminho. Você dá ao computador muitos exemplos em que a resposta já é conhecida, e ele descobre os padrões sozinho:

Aprendizado de máquina em uma imagem. Exemplos (vendas de imóveis com tamanho, quartos e bairro, mais o preço de cada um) entram no treinamento, em que o computador procura padrões que ligam tudo. O resultado é um modelo, uma receita para estimar preços. Um imóvel novo, com 3 quartos e perto de um parque, entra no modelo, e sai uma previsão de cerca de R$ 650 mil

Três palavras-chave aqui:

  • Dados (ou exemplos): os casos do passado com que o computador aprende.
  • Treinamento: o processo de encontrar padrões nesses dados.
  • Modelo: o que o computador obtém no final, uma espécie de receita que transforma informações novas numa previsão.

O termo "aprendizado de máquina" vem de 1959, quando um pesquisador da IBM chamado Arthur Samuel o usou para descrever um programa de damas que melhorava jogando contra si mesmo.

O modelo mais simples: traçar uma reta

Vamos ver o treinamento em ação com o modelo mais simples que existe. Imagine que você tem uma pizzaria e quer dar preço a uma pizza nova, maior. Estes são os seus preços atuais (inventados para o exemplo):

Um exemplo inventado de preço de pizza por tamanho, com tamanhos de 20 a 40 cm e preços de cerca de R$ 30 a R$ 74. Uma reta azul passa pelo meio dos pontos. Seguindo a reta até uma pizza nova de 45 cm, a previsão é de cerca de R$ 89,73

Treinar, aqui, é encontrar a reta que fica o mais perto possível de todos os pontos. O computador testa inclinações e alturas diferentes e fica com a que tem o menor erro total. (É um cálculo de verdade, o mesmo que as planilhas fazem quando você adiciona uma "linha de tendência".)

Com a reta pronta, o modelo consegue fazer previsões para tamanhos que nunca viu, como uma pizza de 45 cm. Esse é todo o propósito do aprendizado de máquina: aprender com o passado, prever o novo.

Modelos reais trabalham com muito mais informações do que uma só (tamanho, sabor, bairro, dia da semana...) e com formas muito mais complicadas do que uma reta. Mas a ideia é exatamente a mesma.

Três jeitos de as máquinas aprenderem

O aprendizado de máquina tem três tipos principais, dependendo dos exemplos que você tem:

Os três principais jeitos de as máquinas aprenderem. Supervisionado, aprender com respostas: fotos marcadas "gato" ou "cão", usado em filtros de spam e para estimar preços. Não supervisionado, achar grupos sozinho: sem marcações, só dados, usado para grupos de clientes e compras estranhas. Por reforço, tentativa e recompensa: mais um por jogada boa e menos um por ruim, usado em jogos, robôs e no ajuste de chatbots

1. Aprendizado supervisionado: aprender com as respostas

Os exemplos vêm com as respostas certas, como um aluno estudando com o gabarito. "Este e-mail é spam. Este não é." "Este apartamento foi vendido por R$ 500 mil." É de longe o tipo mais comum, e faz dois tipos principais de trabalho:

  • Classificação: escolher uma categoria. Spam ou não? Gato ou cão? Fraude ou normal?
  • Regressão: prever um número. Qual preço? Quantos minutos? Quanta chuva?

2. Aprendizado não supervisionado: achar padrões sozinho

Aqui não há resposta nenhuma, só dados. O trabalho do computador é encontrar alguma estrutura por conta própria, como grupos de coisas parecidas. Uma loja pode não ter ideia de como os seus clientes se dividem naturalmente, então deixa o computador procurar:

Aprendizado não supervisionado com os 90 clientes de uma loja (dados inventados), posicionados por visitas por mês e gasto por visita. Antes: só pontos cinza. Depois: o computador encontrou 3 grupos, em três cores, com um X no centro de cada grupo, que pessoas depois chamaram de quem gasta muito de vez em quando, clientes frequentes de compras pequenas e quem quase não aparece

Ninguém disse ao computador que havia três tipos de clientes. Ele encontrou os grupos, e depois pessoas olharam para eles e deram nomes. (É um resultado real de um método popular chamado k-means, ou agrupamento por k-médias, rodado com dados inventados.) A mesma ideia ajuda a identificar atividades incomuns, como um cartão de crédito de repente sendo usado de um jeito estranho.

3. Aprendizado por reforço: aprender por tentativa e recompensa

Aqui o computador aprende fazendo. Ele tenta ações, ganha uma recompensa quando as coisas vão bem e uma penalidade quando não vão, e aos poucos descobre o que funciona. É como adestrar um cachorro com petiscos.

O aprendizado por reforço ensinou computadores a jogar Go e xadrez em nível sobre-humano, ajuda robôs a aprender a andar e pegar objetos, e é uma das etapas usadas para deixar os chatbots de IA mais úteis, recompensando as respostas que as pessoas preferem.

A maior armadilha: decorar em vez de aprender

Imagine um aluno que decora as respostas de todos os simulados, mas nunca entende a matéria. Ele gabarita os simulados e depois vai mal na prova de verdade, porque as perguntas são diferentes.

Modelos de aprendizado de máquina podem fazer exatamente a mesma coisa. Isso se chama sobreajuste (em inglês, overfitting), e é uma das ideias mais importantes da área. Veja três modelos aprendendo com os mesmos 12 pontos de exemplo:

Três modelos aprendendo com os mesmos 12 pontos de exemplo inventados, com o padrão real mostrado como uma onda tracejada. Simples demais: uma reta que não pega o padrão. Na medida: uma curva suave que segue a tendência real. Complicado demais: uma curva maluca, cheia de zigue-zagues, que passa perto de cada ponto, mas dispara para longe entre eles e nas pontas
  • Simples demais: uma reta não consegue fazer curvas, então não pega o padrão real em forma de onda. Isso se chama subajuste (underfitting).
  • Na medida: um modelo com uma curvatura suave segue a tendência real e ignora o ruído aleatório.
  • Complicado demais: um modelo com muita liberdade se dobra todo para passar perto de cada ponto, ruído incluído. Ele "decorou" os exemplos, e os palpites dele entre os pontos são malucos.

Veja como isso aparece nos números. Medimos o erro médio de cada modelo nos 12 exemplos com que ele aprendeu e em 100 pontos novos, que ele nunca viu:

Um gráfico de linhas do erro médio conforme o modelo fica mais complicado, com os mesmos dados inventados. O erro nos exemplos com que aprendeu só diminui, de 0,47 para 0,16. O erro em dados novos, nunca vistos, cai de 0,55 para cerca de 0,35 na zona "na medida" e depois dispara até 0,92 no modelo mais complicado

A linha azul (os simulados) melhora sempre, conforme o modelo fica mais complicado. A linha laranja (a prova de verdade) melhora no começo e depois piora muito. Ir bem nos exemplos do treino prova muito pouco.

Como saber se um modelo é bom?

A medida óbvia é a taxa de acerto (acurácia): em quantos por cento das vezes ele acerta? Mas ela pode enganar feio, principalmente quando você procura algo raro.

1.000 pagamentos com cartão mostrados como quadradinhos, e só 1 deles é fraude. Um modelo preguiçoso que sempre diz "não é fraude" tem 99,9% de acerto, mas pega 0 das fraudes

Um "modelo" que simplesmente diz "não é fraude" toda vez acertaria 999 de cada 1.000. São 99,9% de acerto, e ele é totalmente inútil, porque nunca pega fraude nenhuma.

Por isso, quem constrói modelos também pergunta coisas como:

  • Das fraudes reais, quantas ele pegou? (Deixar fraude passar custa caro.)
  • Dos pagamentos que ele bloqueou, quantos eram mesmo fraude? (Alarme falso demais, e os clientes ficam irritados com o cartão bloqueado.)

Qual erro importa mais depende do trabalho. Um exame médico de triagem deve quase nunca deixar passar uma doença, mesmo que isso gere alguns alarmes falsos. Um filtro de spam deve quase nunca jogar fora um e-mail de verdade, mesmo que um pouco de spam passe.

Lixo entra, lixo sai

Um modelo só pode ser tão bom quanto os exemplos com que aprendeu (veja O Que É Rotulagem de Dados? para entender como esses exemplos ganham as respostas). Alguns problemas comuns:

  • Poucos dados: algumas dezenas de exemplos raramente mostram o padrão real.
  • Dados errados ou bagunçados: erros de digitação, exemplos marcados errado e informações faltando ensinam as lições erradas.
  • Dados que não representam a realidade: um modelo treinado só com vendas de verão vai se confundir no inverno. Um sistema de reconhecimento facial treinado principalmente com um grupo de pessoas funciona pior para outros.
  • Preconceitos do passado: se decisões antigas eram injustas, como quem conseguia um empréstimo, um modelo treinado com elas pode aprender e repetir essa injustiça.
  • O mundo muda: hábitos, preços e golpes mudam com o tempo, então modelos precisam ser conferidos e retreinados.

Aprendizado de máquina à sua volta

Onde você vêO que o modelo fazTipo
Filtro de spamSpam ou não?Supervisionado (classificação)
Estimativa de preço de imóveisPrevê um preçoSupervisionado (regressão)
Alertas de fraude do bancoMarca pagamentos incomunsSupervisionado e não supervisionado
Sugestões de músicas e vídeosPrevê do que você vai gostarSupervisionado, com base no que pessoas parecidas curtiram
Grupos de clientes de uma lojaEncontra grupos de clientes parecidosNão supervisionado
Previsão de tempo de entregaPrevê os minutos até a chegadaSupervisionado (regressão)
IA que joga e robôsAprende quais ações dão recompensaPor reforço
Chatbots de IAAprendem a linguagem com textos e depois são ajustados com feedbackVários tipos combinados

Um pequeno glossário

  • Aprendizado de máquina: computadores aprendendo padrões com exemplos, em vez de seguir regras escritas à mão.
  • Dados: os exemplos com que um modelo aprende.
  • Atributo (feature): uma informação sobre um exemplo, como o tamanho de um imóvel ou o número de quartos.
  • Rótulo (label): a resposta certa ligada a um exemplo, como "spam" ou um preço de venda.
  • Treinamento: o processo de encontrar padrões nos dados.
  • Modelo: o resultado do treinamento, que transforma informações novas em previsões.
  • Previsão: a resposta do modelo para um caso novo.
  • Aprendizado supervisionado: aprender com exemplos que trazem as respostas certas.
  • Aprendizado não supervisionado: encontrar estrutura, como grupos, em dados sem respostas.
  • Aprendizado por reforço: aprender por tentativa e erro, guiado por recompensas.
  • Classificação: prever uma categoria. Regressão: prever um número.
  • Sobreajuste (overfitting): decorar os exemplos do treino em vez de aprender o padrão geral.
  • Dados de teste: exemplos guardados à parte para ver como o modelo se sai com coisas que nunca viu.
  • Viés: padrões injustos ou desequilibrados que um modelo absorve dos dados.

Concluindo

O aprendizado de máquina é uma ideia simples com consequências enormes: em vez de dizer ao computador exatamente o que fazer, você mostra muitos exemplos e deixa que ele encontre os padrões. O aprendizado supervisionado aprende com exemplos que têm respostas, o não supervisionado encontra grupos sozinho, e o por reforço aprende por tentativa e recompensa.

A arte está nos detalhes: ter dados bons e justos, evitar modelos que decoram em vez de aprender, testar com exemplos que o modelo nunca viu e medir os erros que realmente importam. Acertando isso, o aprendizado de máquina consegue pegar fraudes, recomendar uma ótima música ou estimar um preço num piscar de olhos. E agora você sabe o que acontece nos bastidores quando ele faz isso.

Obrigado pela leitura!

Conhece alguém que vai gostar? Mande para essa pessoa.

Mais artigos

Read next

Comentários

Be kind and specific. Comments with links from new accounts appear after a moderator reviews them.

    Gostou da aula? 😆👍
    Apoie nosso trabalho com uma doação: