O tamanho e a qualidade de um conjunto de dados

"Lixeira, entrada de lixo"

O ditado anterior se aplica ao machine learning. Afinal, o modelo é tão bom quanto seus dados. Mas como medir e melhorar a qualidade do conjunto de dados? E de quantos dados você precisa para ter resultados úteis? As respostas dependem do tipo de problema que você está resolvendo.

O tamanho de um conjunto de dados

Como regra geral, seu modelo precisa treinar em pelo menos uma ordem de magnitude mais exemplos do que parâmetros treináveis. Modelos simples em grandes conjuntos de dados geralmente superam os modelos sofisticados em conjuntos de dados pequenos. O Google teve ótimos resultados ao treinar modelos simples de regressão linear em grandes conjuntos de dados.

O que conta como "muito" de dados? Depende do projeto. Considere o tamanho relativo desses conjuntos de dados:

Conjunto de dados Tamanho (número de exemplos)
Conjunto de dados de flores Iris 150 (conjunto total)
MovieLens (o conjunto de dados de 20 milhões) 20.000.263 (conjunto total)
Resposta inteligente do Gmail 238.000.000 (conjunto de treinamento)
Ngram do Google Livros 468.000.000.000 (conjunto total)
Google Tradutor trilhões

Como você pode ver, os conjuntos de dados têm vários tamanhos.

A qualidade de um conjunto de dados

Não é necessário ter muitos dados se eles forem ruins. A qualidade também é importante. Mas o que é contabilizado como "qualidade"? É um termo complexo. Considere adotar uma abordagem empírica e escolher a opção que gera o melhor resultado. Com essa mentalidade, um conjunto de dados de qualidade é aquele que permite que você tenha sucesso com o problema de negócios que você quer. Em outras palavras, os dados serão bons se realizarem a tarefa pretendida.

No entanto, ao coletar dados, é útil ter uma definição de qualidade mais concreta. Alguns aspectos da qualidade tendem a corresponder a modelos com melhor desempenho:

  • confiabilidade
  • representação de recurso
  • minimização do desvio

Confiabilidade

A confiabilidade se refere ao grau em que você pode confiar em seus dados. Um modelo treinado em um conjunto de dados confiável tem mais chances de gerar previsões úteis do que um modelo treinado com dados não confiáveis. Para medir a confiabilidade, você precisa determinar o seguinte:

  • Quão comuns são os erros de rótulo? Por exemplo, se seus dados forem rotulados por humanos, às vezes eles cometem erros.
  • Tem algum ruído? Por exemplo, as medições de GPS variam. Um pouco de ruído é o suficiente. Você nunca vai limpar seu conjunto de dados de todo ruído. Também é possível coletar mais exemplos.
  • Os dados estão filtrados corretamente para seu problema? Por exemplo, o seu conjunto de dados deve incluir consultas de pesquisa de bots? Se você está criando um sistema de detecção de spam, provavelmente a resposta é sim, mas se estiver tentando melhorar os resultados da pesquisa para pessoas, não.

Por que os dados não são confiáveis? Lembre-se do Curso intensivo de machine learning que muitos exemplos em conjuntos de dados não são confiáveis devido a um ou mais dos seguintes motivos:

  • Valores omitidos. Por exemplo, uma pessoa se esqueceu de inserir um valor para a idade da casa.
  • Exemplos duplicados. Por exemplo, um servidor fez upload dos mesmos registros duas vezes por engano.
  • Rótulos inválidos. Por exemplo, uma pessoa rotulou incorretamente uma foto de um carvalho como bordo.
  • Valores de recursos inválidos. Por exemplo, alguém digitou um dígito extra ou um termômetro que ficou de fora.

O Google Tradutor se concentrou na escolha do melhor subconjunto dos dados, ou seja, alguns dados tinham rótulos de qualidade superior ao de outras partes.

Representação de atributos

Lembre-se de que o Curso intensivo de machine learning representa a representação de mapeamento de dados em atributos úteis. Considere as seguintes perguntas:

  • Como os dados são exibidos para o modelo?
  • É necessário normalizar valores numéricos?
  • Como lidar com outliers?

A seção Transforme seus dados deste curso se concentrará na representação de atributos.

Treinamento x Previsão

Digamos que você consiga ótimos resultados off-line. Depois, no experimento ativo, os resultados não serão mantidos. O que pode estar acontecendo?

Esse problema sugere o treinamento/exibição de desvio, ou seja, resultados diferentes são calculados para suas métricas no momento do treinamento, em vez de no momento da veiculação. As causas de distorção podem ser sutis, mas têm efeitos mortais nos resultados. Sempre considere quais dados estão disponíveis para seu modelo no momento da previsão. Durante o treinamento, use apenas os recursos que estarão disponíveis na disponibilização e verifique se o conjunto de treinamento representa o tráfego de exibição.