Preparação de dados e engenharia de atributos em ML

O aprendizado de máquina nos ajuda a encontrar padrões nos dados, padrões que usamos para fazer previsões sobre novos pontos de dados. Para fazer essas previsões corretamente, precisamos criar o conjunto de dados e transformá-los corretamente. Este curso abrange essas duas etapas principais. Também veremos como as considerações de treinamento/disponibilização atuam nessas etapas.

Um projeto de machine learning organizado em cinco etapas. 1. Definir um problema de ML e propor uma solução. 2. Crie o conjunto de dados. 3. Transformar dados.
4. Treinar um modelo. 5. Usar o modelo para fazer predições.  Neste curso, abordaremos a construção de um conjunto de dados e a transformação de dados.

Pré-requisitos

Este curso pressupõe que você:

Por que aprender sobre a preparação de dados e a engenharia de atributos?

Pense na engenharia de atributos como ajuda para que o modelo entenda o conjunto de dados da mesma maneira que você. Os alunos geralmente vêm para um curso de machine learning focado na criação do modelo, mas acabam gastando muito mais tempo se concentrando nos dados.

Para a pergunta a seguir, clique na seta desejada para verificar sua resposta:

Se você precisasse priorizar a melhoria de uma das áreas abaixo no projeto de machine learning, qual teria mais impacto?
A qualidade e o tamanho dos seus dados
Os dados superam todos. É verdade que, ao atualizar o algoritmo de aprendizado ou a arquitetura de modelo, é possível aprender diferentes tipos de padrões, mas se os dados estiverem corrompidos, você acabará criando funções que se encaixam na configuração errada. A qualidade e o tamanho do conjunto de dados são muito mais importantes do que qualquer algoritmo brilhante que você usa.
Como usar o algoritmo de otimização mais recente
Você certamente notaria alguns ganhos ao enviar otimizadores, mas não teria um impacto tão significativo em seu modelo quanto outro item da lista.
Uma rede mais profunda
Uma rede mais profunda pode melhorar o modelo, mas o impacto não será tão significativo quanto o de outro item da lista.
Uma função de perda mais inteligente
Quase! Uma função de perda melhor pode dar uma grande chance, mas ela ainda é a segunda opção em relação a outro item da lista.

Por que é importante coletar um bom conjunto de dados?

Google Tradutor

"...um dos nossos avanços de qualidade mais impactantes desde a tradução neural neural foi identificar o melhor subconjunto dos dados de treinamento a serem usados"

- engenheiro de software, Google Tradutor

A equipe do Google Tradutor tem mais dados de treinamento do que pode usar. Em vez de ajustar o modelo, a equipe conquistou ganhos melhores com o uso dos melhores recursos de dados.

 

 

 

"...na maioria das vezes, quando tentei depurar manualmente erros interessantes, eles poderiam ser rastreados para problemas com os dados de treinamento." - Engenheiro de software, Google Tradutor

Erros "interessantes" normalmente são causados pelos dados. Os dados com defeito podem fazer com que o modelo aprenda os padrões incorretos, independentemente das técnicas de modelagem que você usa.

 

 

Projeto de retinopatia diabética do cérebro

O projeto de retinopatia diabética do Google Brain empregava uma arquitetura de rede neural, conhecida como Inception, para detectar doenças classificando imagens. A equipe não ajustou os modelos. Em vez disso, eles conseguiram criar um conjunto de dados de 120.000 exemplos rotulados por oftalmologistas. Saiba mais em https://research.google.com/pubs/pub43022.html.