Aprendizado supervisionado

As tarefas do aprendizado supervisionado são bem definidas e podem ser aplicadas a uma infinidade de cenários, como a identificação de spam ou a previsão de precipitação.

Conceitos básicos de aprendizado supervisionado

O machine learning supervisionado tem como base os conceitos principais a seguir:

  • Dados
  • Modelo
  • Treinamento
  • Avaliando
  • Inferência

Dados

Os dados são a força motriz do ML. Os dados vêm na forma de palavras e números armazenados em tabelas ou como valores de pixels e formas de onda capturados em arquivos de imagem e áudio. Armazenamos dados relacionados em conjuntos de dados. Por exemplo, podemos ter um conjunto de dados do seguinte:

  • Imagens de gatos
  • Preços de imóveis
  • Informações sobre a previsão do tempo

Os conjuntos de dados são compostos de exemplos individuais que contêm recursos e um rótulo. Você pode pensar em um exemplo como análogo a uma única linha em uma planilha. Os atributos são os valores que um modelo supervisionado usa para prever o rótulo. O rótulo é a “resposta” ou o valor que queremos que o modelo preveja. Em um modelo de previsão de chuva, os atributos podem ser latitude, longitude, temperatura, umidade, cobertura de nuvens, direção do vento e pressão atmosférica. O rótulo seria quantidade de chuva.

Já aqueles que contêm recursos e um rótulo são chamados de exemplos rotulados.

Dois exemplos rotulados

Imagem do marcador de posição.

Por outro lado, os exemplos não rotulados contêm atributos, mas nenhum rótulo. Depois de criado, o modelo prevê o rótulo com base nos atributos.

Dois exemplos sem rótulo

Imagem do marcador de posição.

Características do conjunto de dados

Um conjunto de dados é caracterizado por seu tamanho e diversidade. O tamanho indica o número de exemplos. Diversidade indica o intervalo que esses exemplos abrangem. Bons conjuntos de dados são grandes e altamente diversificados.

Alguns conjuntos de dados são grandes e diversificados. No entanto, alguns conjuntos de dados são grandes, mas têm baixa diversidade, e alguns são pequenos, mas altamente diversificados. Em outras palavras, um conjunto de dados grande não garante diversidade suficiente, e um conjunto de dados altamente diverso não garante exemplos suficientes.

Por exemplo, um conjunto de dados pode conter 100 anos de dados, mas apenas para o mês de julho. O uso desse conjunto de dados para prever a precipitação em janeiro produziria previsões ruins. Por outro lado, um conjunto de dados pode cobrir apenas alguns anos, mas conter todos os meses. Esse conjunto de dados pode produzir previsões ruins porque não contém anos suficientes para explicar a variabilidade.

Teste seu conhecimento

Quais atributos de um conjunto de dados seriam ideais para uso em ML?
Tamanho grande / alta diversidade
Um grande número de exemplos que abrangem diversos casos de uso é essencial para que um sistema de machine learning entenda os padrões subjacentes nos dados. Um modelo treinado com esse tipo de conjunto de dados tem mais chances de fazer boas previsões com base em dados novos.
Tamanho grande / baixa diversidade
A qualidade dos modelos de machine learning depende dos exemplos usados no treinamento. Um modelo vai produzir previsões mais ruins usando dados novos com os quais nunca foi treinado.
Tamanho pequeno / alta diversidade
A maioria dos modelos não consegue encontrar padrões confiáveis em um pequeno conjunto de dados. As previsões não terão a confiança fornecida por um conjunto de dados maior.
Tamanho pequeno / baixa diversidade
Quando o conjunto de dados é pequeno e não tem muita variação, o machine learning não beneficia você.

Um conjunto de dados também pode ser caracterizado pelo número de seus atributos. Por exemplo, alguns conjuntos de dados meteorológicos podem conter centenas de atributos, desde imagens de satélite até valores de cobertura de nuvem. Outros conjuntos de dados podem conter apenas três ou quatro atributos, como umidade, pressão atmosférica e temperatura. Conjuntos de dados com mais recursos podem ajudar um modelo a descobrir padrões adicionais e fazer previsões melhores. No entanto, conjuntos de dados com mais recursos nem sempre produzem modelos que fazem previsões melhores, porque alguns recursos podem não ter relação causal com o rótulo.

Modelo

No aprendizado supervisionado, um modelo é a coleção complexa de números que definem a relação matemática de padrões específicos de recursos de entrada para valores específicos de rótulo de saída. O modelo descobre esses padrões por meio do treinamento.

Treinamento

Antes que um modelo supervisionado possa fazer previsões, ele precisa ser treinado Para treinar um modelo, fornecemos a ele um conjunto de dados com exemplos rotulados. O objetivo do modelo é descobrir a melhor solução para prever os rótulos dos atributos. O modelo encontra a melhor solução comparando o valor previsto com o valor real do rótulo. Com base na diferença entre os valores previstos e reais, definidos como perda, o modelo atualiza gradualmente a solução. Em outras palavras, o modelo aprende a relação matemática entre os atributos e o rótulo para fazer as melhores previsões sobre dados não vistos.

Por exemplo, se o modelo previu 1.15 inches de chuva, mas o valor real foi .75 inches, o modelo modifica a solução para que a previsão esteja mais próxima de .75 inches. Depois que o modelo analisa cada exemplo no conjunto de dados (em alguns casos, várias vezes), ele chega a uma solução que faz as melhores previsões, em média, para cada um dos exemplos.

Veja a seguir como treinar um modelo:

  1. O modelo recebe um único exemplo rotulado e fornece uma previsão.

    Imagem de um modelo fazendo uma previsão.

    Figura 1. Um modelo de ML fazendo uma previsão com base em um exemplo rotulado.

     

  2. O modelo compara o valor previsto com o valor real e atualiza a solução.

    Uma imagem de um modelo comparando a previsão com o valor real.

    Figura 2. Um modelo de ML atualizando o valor previsto.

     

  3. O modelo repete esse processo para cada exemplo rotulado no conjunto de dados.

    Uma imagem de um modelo repetindo o processo de previsão em relação ao valor real.

    Figura 3. Um modelo de ML atualizando as previsões para cada exemplo rotulado no conjunto de dados de treinamento.

     

Dessa forma, o modelo aprende gradualmente a relação correta entre os recursos e o rótulo. Essa compreensão gradual também é o motivo pelo qual conjuntos de dados grandes e diversos produzem um modelo melhor. O modelo viu mais dados com uma gama maior de valores e refinou sua compreensão da relação entre os recursos e o rótulo.

Durante o treinamento, os profissionais de ML podem fazer ajustes sutis nas configurações e recursos que o modelo usa para fazer previsões. Por exemplo, certos atributos têm mais poder de previsão do que outros. Portanto, os profissionais de ML podem selecionar quais recursos o modelo usa durante o treinamento. Por exemplo, suponha que um conjunto de dados meteorológicos contenha time_of_day como um atributo. Nesse caso, um profissional de ML pode adicionar ou remover time_of_day durante o treinamento para ver se o modelo faz previsões melhores com ou sem ele.

Avaliando

Avaliamos um modelo treinado para determinar se ele aprendeu bem. Quando avaliamos um modelo, usamos um conjunto de dados rotulado, mas fornecemos apenas os recursos desse conjunto. Em seguida, comparamos as previsões do modelo com os valores verdadeiros do rótulo.

Uma imagem que mostra um modelo treinado com as previsões comparadas com valores reais.

Figura 4. Avaliar um modelo de ML comparando as previsões dele com os valores reais.

 

Dependendo das previsões do modelo, é possível fazer mais treinamentos e avaliações antes de implantá-lo em um aplicativo real.

Teste seu conhecimento

Por que um modelo precisa ser treinado antes de fazer previsões?
Um modelo precisa ser treinado para aprender a relação matemática entre os atributos e o rótulo em um conjunto de dados.
O modelo não precisa ser treinado. Os modelos estão disponíveis na maioria dos computadores.
Um modelo precisa ser treinado para não exigir dados para fazer uma previsão.

Inferência

Quando estivermos satisfeitos com os resultados da avaliação, o modelo poderá ser usado para fazer previsões, chamadas de inferências, em exemplos não rotulados. No exemplo do app meteorológico, daríamos ao modelo as condições climáticas atuais, como temperatura, pressão atmosférica e umidade relativa, e preveria a quantidade de chuva.