O que são dados de treinamento? Como é usado no aprendizado de máquina
Publicados: 2021-07-30Os modelos de aprendizado de máquina são tão bons quanto os dados em que são treinados.
Sem dados de treinamento de alta qualidade, mesmo os mais eficientes aprendizado de máquina algoritmos não funcionarão.
A necessidade de dados de qualidade, precisos, completos e relevantes começa no início do processo de treinamento. Somente se o algoritmo for alimentado com bons dados de treinamento, ele poderá facilmente pegar os recursos e encontrar os relacionamentos que precisa prever no futuro.
Mais precisamente, dados de treinamento de qualidade são o aspecto mais significativo do aprendizado de máquina (e inteligência artificial) do que qualquer outro. Se você introduzir os algoritmos de aprendizado de máquina (ML) aos dados certos, estará configurando-os para precisão e sucesso.
O que são dados de treinamento?
Os dados de treinamento são o conjunto de dados inicial usado para treinar algoritmos de aprendizado de máquina. Os modelos criam e refinam suas regras usando esses dados. É um conjunto de amostras de dados usado para ajustar os parâmetros de um modelo de aprendizado de máquina para treiná-lo por exemplo.
Os dados de treinamento também são conhecidos como conjunto de dados de treinamento, conjunto de aprendizado e conjunto de treinamento. É um componente essencial de todos os modelos de aprendizado de máquina e os ajuda a fazer previsões precisas ou executar uma tarefa desejada.
Simplificando, os dados de treinamento criam o modelo de aprendizado de máquina. Ele ensina como é a saída esperada. O modelo analisa o conjunto de dados repetidamente para entender profundamente suas características e se ajustar para um melhor desempenho.
Em um sentido mais amplo, os dados de treinamento podem ser classificados em duas categorias: dados rotulados e dados não rotulados .
O que são dados rotulados?
Dados rotulados são um grupo de amostras de dados marcadas com um ou mais rótulos significativos. Também são chamados de dados anotados e seus rótulos identificam características, propriedades, classificações ou objetos contidos específicos.
Por exemplo, as imagens de frutas podem ser marcadas como maçãs, bananas ou uvas .
Os dados de treinamento rotulados são usados em aprendizado supervisionado. Ele permite que os modelos de ML aprendam as características associadas a rótulos específicos, que podem ser usados para classificar pontos de dados mais recentes. No exemplo acima, isso significa que um modelo pode usar dados de imagem rotulados para entender os recursos de frutas específicas e usar essas informações para agrupar novas imagens.
A rotulagem ou anotação de dados é um processo demorado, pois os humanos precisam marcar ou rotular os pontos de dados. A coleta de dados rotulados é desafiadora e cara. Não é fácil armazenar dados rotulados quando comparados a dados não rotulados.
O que são dados não rotulados?
Como esperado, dados não rotulados são o oposto de dados rotulados. São dados brutos ou dados que não estão marcados com nenhum rótulo para identificar classificações, características ou propriedades. É usado em aprendizado de máquina não supervisionado, e os modelos de ML precisam encontrar padrões ou semelhanças nos dados para chegar a conclusões.
Voltando ao exemplo anterior de maçãs , bananas e uvas , em dados de treinamento não rotulados, as imagens dessas frutas não serão rotuladas. O modelo terá que avaliar cada imagem observando suas características, como cor e forma.
Após analisar um número considerável de imagens, o modelo será capaz de diferenciar novas imagens (novos dados) nos tipos de frutas maçãs , bananas ou uvas . Claro, o modelo não saberia que a fruta em particular é chamada de maçã. Em vez disso, ele conhece as características necessárias para identificá-lo.
Existem modelos híbridos que usam uma combinação de aprendizado de máquina supervisionado e não supervisionado.
Como os dados de treinamento são usados no aprendizado de máquina
Ao contrário dos algoritmos de aprendizado de máquina, os algoritmos de programação tradicionais seguem um conjunto de instruções para aceitar dados de entrada e fornecer saída. Eles não dependem de dados históricos e todas as ações que realizam são baseadas em regras. Isso também significa que eles não melhoram com o tempo, o que não é o caso do aprendizado de máquina.
Para modelos de aprendizado de máquina, os dados históricos são forragens. Assim como os humanos confiam em experiências passadas para tomar melhores decisões, os modelos de ML analisam seu conjunto de dados de treinamento com observações anteriores para fazer previsões.
As previsões podem incluir a classificação de imagens como no caso de reconhecimento de imagem, ou compreensão do contexto de uma frase como no processamento de linguagem natural (NLP).
Pense em um cientista de dados como professor, no algoritmo de aprendizado de máquina como aluno e no conjunto de dados de treinamento como a coleção de todos os livros didáticos.
A aspiração do professor é que o aluno tenha um bom desempenho nas provas e também no mundo real. No caso de algoritmos de ML, os testes são como exames. Os livros didáticos (conjunto de dados de treinamento) contêm vários exemplos do tipo de perguntas que serão feitas no exame.
Dica: confira a análise de big data para saber como o big data é coletado, estruturado, limpo e analisado.
É claro que não conterá todos os exemplos de perguntas que serão feitas no exame, nem todos os exemplos incluídos no livro didático serão solicitados no exame. Os livros didáticos podem ajudar a preparar o aluno, ensinando-lhe o que esperar e como responder.
Nenhum livro pode ser totalmente completo. Com o passar do tempo, o tipo de perguntas feitas mudará e, portanto, as informações contidas nos livros didáticos precisam ser alteradas. No caso de algoritmos de ML, o conjunto de treinamento deve ser atualizado periodicamente para incluir novas informações.
Em suma, os dados de treinamento são um livro-texto que ajuda os cientistas de dados a dar aos algoritmos de ML uma ideia do que esperar. Embora o conjunto de dados de treinamento não contenha todos os exemplos possíveis, ele tornará os algoritmos capazes de fazer previsões.
Dados de treinamento x dados de teste x dados de validação
Os dados de treinamento são usados no treinamento do modelo, ou em outras palavras, são os dados usados para ajustar o modelo. Pelo contrário, os dados de teste são usados para avaliar o desempenho ou a precisão do modelo. É uma amostra de dados usada para fazer uma avaliação imparcial do ajuste do modelo final nos dados de treinamento.
Um conjunto de dados de treinamento é um conjunto de dados inicial que ensina os modelos de ML a identificar padrões desejados ou executar uma tarefa específica. Um conjunto de dados de teste é usado para avaliar a eficácia do treinamento ou a precisão do modelo.
Depois que um algoritmo de ML é treinado em um conjunto de dados específico e você o testa no mesmo conjunto de dados, é mais provável que ele tenha alta precisão porque o modelo sabe o que esperar. Se o conjunto de dados de treinamento contiver todos os valores possíveis que o modelo poderá encontrar no futuro, tudo bem.
Mas isso nunca é o caso. Um conjunto de dados de treinamento nunca pode ser abrangente e não pode ensinar tudo o que um modelo pode encontrar no mundo real. Portanto, um conjunto de dados de teste, contendo pontos de dados não vistos , é usado para avaliar a precisão do modelo.
Depois, há dados de validação . Este é um conjunto de dados usado para avaliação frequente durante a fase de treinamento. Embora o modelo veja esse conjunto de dados ocasionalmente, ele não aprende com ele. O conjunto de validação também é chamado de conjunto de desenvolvimento ou conjunto de desenvolvimento. Ele ajuda a proteger os modelos de overfitting e underfitting.
Embora os dados de validação sejam separados dos dados de treinamento, os cientistas de dados podem reservar uma parte dos dados de treinamento para validação. Mas é claro que isso significa automaticamente que os dados de validação foram mantidos durante o treinamento.
Dica: Se você tiver uma quantidade limitada de dados, uma técnica chamada validação cruzada pode ser usada para estimar o desempenho do modelo. Esse método envolve particionar aleatoriamente os dados de treinamento em vários subconjuntos e reservar um para avaliação.
Muitos usam os termos "dados de teste" e "dados de validação" de forma intercambiável. A principal diferença entre os dois é que os dados de validação são usados para validar o modelo durante o treinamento, enquanto o conjunto de teste é usado para testar o modelo após a conclusão do treinamento.

O conjunto de dados de validação dá ao modelo o primeiro gosto de dados não vistos. No entanto, nem todos os cientistas de dados realizam uma verificação inicial usando dados de validação. Eles podem pular esta parte e ir diretamente para os dados de teste.
O que é humano no loop?
Human in the loop refere-se às pessoas envolvidas na coleta e preparação de dados de treinamento.
Os dados brutos são coletados de várias fontes, incluindo dispositivos IoT, plataformas de mídia social, sites e feedback do cliente. Uma vez coletados, os indivíduos envolvidos no processo determinariam os atributos cruciais dos dados que são bons indicadores do resultado que você deseja que o modelo preveja.
Os dados são preparados limpando-os, contabilizando os valores ausentes, removendo valores discrepantes, marcando pontos de dados e carregando-os em locais adequados para treinar algoritmos de ML. Haverá também várias rodadas de verificações de qualidade; como você sabe, rótulos incorretos podem afetar significativamente a precisão do modelo.
O que torna os dados de treinamento bons?
Dados de alta qualidade se traduzem em modelos precisos de aprendizado de máquina.
Dados de baixa qualidade podem afetar significativamente a precisão dos modelos, o que pode levar a graves perdas financeiras. É quase como dar a um aluno um livro contendo informações erradas e esperar que ele se destaque no exame.
A seguir estão as quatro características principais de dados de treinamento de qualidade.
Relevante
Os dados precisam ser relevantes para a tarefa em mãos. Por exemplo, se você deseja treinar um visão computacional algoritmo para veículos autônomos, você provavelmente não precisará de imagens de frutas e vegetais. Em vez disso, você precisaria de um conjunto de dados de treinamento contendo fotos de estradas, calçadas, pedestres e veículos.
Representante
Os dados de treinamento de IA devem ter os pontos de dados ou recursos que o aplicativo é feito para prever ou classificar. É claro que o conjunto de dados nunca pode ser absoluto, mas deve ter pelo menos os atributos que o aplicativo de IA deve reconhecer.
Por exemplo, se o modelo se destina a reconhecer rostos dentro de imagens, ele deve ser alimentado com diversos dados contendo rostos de pessoas de várias etnias. Isso reduzirá o problema do viés da IA e o modelo não será preconceituoso contra uma determinada raça, gênero ou faixa etária.
Uniforme
Todos os dados devem ter o mesmo atributo e devem vir da mesma fonte.
Suponha que seu projeto de aprendizado de máquina tenha como objetivo prever a taxa de cancelamento observando as informações do cliente. Para isso, você terá um banco de dados de informações do cliente que inclui nome do cliente, endereço, número de pedidos, frequência do pedido e outras informações relevantes. Esses são dados históricos e podem ser usados como dados de treinamento.
Uma parte dos dados não pode ter informações adicionais, como idade ou sexo. Isso tornará os dados de treinamento incompletos e o modelo impreciso. Em suma, a uniformidade é um aspecto crítico da qualidade dos dados de treinamento.
Compreensivo
Novamente, os dados de treinamento nunca podem ser absolutos. Mas deve ser um grande conjunto de dados que represente a maioria dos casos de uso do modelo. Os dados de treinamento devem ter exemplos suficientes que permitirão que o modelo aprenda adequadamente. Ele deve conter amostras de dados do mundo real, pois ajudará a treinar o modelo para entender o que esperar.
Se você está pensando em dados de treinamento como valores colocados em um grande número de linhas e colunas, desculpe, você está errado. Pode ser qualquer tipo de dados, como texto, imagens, áudio ou vídeos.
O que afeta a qualidade dos dados de treinamento?
Os seres humanos são criaturas altamente sociais, mas existem alguns preconceitos que podemos ter escolhido quando crianças e exigem um esforço consciente constante para nos livrarmos. Embora desfavoráveis, tais vieses podem afetar nossas criações, e os aplicativos de aprendizado de máquina não são diferentes.
Para modelos de ML, os dados de treinamento são o único livro que eles lêem. Seu desempenho ou precisão dependerá de quão abrangente, relevante e representativo o livro é.
Dito isto, três fatores afetam a qualidade dos dados de treinamento:
Pessoas: As pessoas que treinam o modelo têm um impacto significativo em sua precisão ou desempenho. Se eles forem tendenciosos, naturalmente afetará como eles marcam os dados e, em última análise, como o modelo de ML funciona.
Processos: O processo de rotulagem de dados deve ter verificações de controle de qualidade rigorosas. Isso aumentará significativamente a qualidade dos dados de treinamento.
Ferramentas: Ferramentas incompatíveis ou desatualizadas podem prejudicar a qualidade dos dados. O uso de software robusto de rotulagem de dados pode reduzir o custo e o tempo associados ao processo.
Onde obter dados de treinamento
Existem várias maneiras de obter dados de treinamento. Sua escolha de fontes pode variar dependendo da escala do seu projeto de machine learning, do orçamento e do tempo disponível. A seguir estão as três fontes primárias para a coleta de dados.
Dados de treinamento de código aberto
A maioria dos desenvolvedores amadores de ML e pequenas empresas que não podem arcar com a coleta ou rotulagem de dados dependem de dados de treinamento de código aberto. É uma escolha fácil, pois já é coletado e gratuito. No entanto, você provavelmente terá que ajustar ou anotar novamente esses conjuntos de dados para atender às suas necessidades de treinamento. ImageNet, Kaggle e Google Dataset Search são alguns exemplos de conjuntos de dados de código aberto.
Internet e IoT
A maioria das empresas de médio porte coleta dados usando a Internet e dispositivos IoT. Câmeras, sensores e outros dispositivos inteligentes ajudam a coletar dados brutos, que serão limpos e anotados posteriormente. Esse método de coleta de dados será especificamente adaptado aos requisitos do seu projeto de aprendizado de máquina, ao contrário dos conjuntos de dados de código aberto. No entanto, limpar, padronizar e rotular os dados é um processo demorado e que consome muitos recursos.
Dados de treinamento artificiais
Como o nome sugere, os dados de treinamento artificial são dados criados artificialmente usando modelos de aprendizado de máquina. Eles também são chamados de dados sintéticos e são uma excelente opção se você precisar de dados de treinamento de boa qualidade com recursos específicos para treinar um algoritmo. Obviamente, esse método exigirá grandes quantidades de recursos computacionais e tempo suficiente.
Quantos dados de treinamento são suficientes?
Não há uma resposta específica para quantos dados de treinamento são dados de treinamento suficientes. Depende do algoritmo que você está treinando – seu resultado esperado, aplicação, complexidade e muitos outros fatores.
Suponha que você queira treinar um classificador de texto que categorize frases com base na ocorrência dos termos "gato" e "cachorro" e seus sinônimos como "gatinho", "gatinho", "gatinho", "cachorrinho" ou "cachorrinho" . Isso pode não exigir um grande conjunto de dados, pois há apenas alguns termos para corresponder e classificar.
Mas, se este fosse um classificador de imagens que categorizasse imagens como "gatos" e "cachorros", o número de pontos de dados necessários no conjunto de dados de treinamento aumentaria significativamente. Em suma, muitos fatores entram em jogo para decidir quais dados de treinamento são dados de treinamento suficientes.
A quantidade de dados necessária mudará dependendo do algoritmo usado.
Para o contexto, deep learning, um subconjunto de machine learning, requer milhões de pontos de dados para treinar as redes neurais artificiais (ANNs). Em contraste, os algoritmos de aprendizado de máquina exigem apenas milhares de pontos de dados. Mas é claro que essa é uma generalização forçada, pois a quantidade de dados necessários varia de acordo com o aplicativo.
Quanto mais você treina o modelo, mais preciso ele se torna. Portanto, é sempre melhor ter uma grande quantidade de dados como dados de treinamento.
Lixo dentro, lixo fora
A frase "garbage in, garbage out" é uma das frases mais antigas e mais usadas na ciência de dados. Mesmo com a taxa de geração de dados crescendo exponencialmente, ainda é verdade.
A chave é fornecer dados representativos de alta qualidade para algoritmos de aprendizado de máquina. Isso pode aumentar significativamente a precisão dos modelos. Dados de treinamento de boa qualidade também são cruciais para criar aplicativos de aprendizado de máquina imparciais.
Você já se perguntou do que computadores com inteligência semelhante à humana seriam capazes? O equivalente computacional da inteligência humana é conhecido como inteligência artificial geral, e ainda não concluímos se será a maior ou a mais perigosa invenção de todos os tempos.