Validar um modelo de machine learning - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Validar um modelo de machine learning

Depois de treinar um modelo, avalie-o para determinar se o desempenho e a precisão permitem atingir seus objetivos de negócios. Você pode gerar vários modelos usando métodos diferentes e avaliar cada um deles. Por exemplo, é possível aplicar diferentes regras de negócios para cada modelo e, em seguida, aplicar várias medidas para determinar a adequação de cada um. Você pode ponderar se o modelo precisa ser mais sensível do que específico (ou vice-versa).

Para avaliar o modelo, use dados históricos (offline) ou dados ativos:

  • Testes offline: envie solicitações ao modelo para inferências usando dados históricos, não ativos.

    Implante seu modelo treinado em um endpoint alfa e use os dados históricos para enviar solicitações de inferência a ele. Para enviar as solicitações, use um notebook Jupyter em sua instância de SageMaker notebook da Amazon e a AWS SDK for Python (Boto) biblioteca Python de alto nível fornecida pela. SageMaker

  • Teste on-line com dados ao vivo — SageMaker suporta testes A/B para modelos em produção usando variantes de produção. As variantes de produção são modelos que usam o mesmo código de inferência e são implantados no mesmo SageMaker endpoint. Configure as variantes de produção para que uma pequena parte do tráfego ao vivo seja direcionada para o modelo a ser validado. Por exemplo, você pode optar por enviar 10% do tráfego a uma variante do modelo para avaliação. Depois de satisfeito com o desempenho do modelo, você pode rotear 100% do tráfego para o modelo atualizado. Para obter um exemplo de testes de modelos em produção, consulte Variantes de produção.

Para obter mais informações, consulte artigos e livros sobre como avaliar modelos, por exemplo, Evaluating Machine Learning Models.

As opções para avaliação de modelo offline incluem:

  • Validação usando um conjunto de holdouts: os profissionais de machine learning geralmente reservam uma parte dos dados como um “conjunto de holdouts”. Eles não usam esses dados para treinamento de modelo.

    Com essa abordagem, você avalia o quanto seu modelo fornece inferências sobre o conjunto de holdouts. Em seguida, você avalia a eficácia com que o modelo generaliza o que aprendeu no treinamento inicial, em vez de usar a memória do modelo. Essa abordagem para validação fornece uma ideia da frequência com que o modelo é capaz de inferir a resposta correta.

     

    De algum modo, essa abordagem é semelhante a dar aula para alunos do ensino fundamental. Primeiramente, você fornece um conjunto de exemplos para que eles aprendam. Depois, testa a capacidade deles de inferir a partir do que aprenderam. Com dever de casa e testes, você apresenta problemas que não foram incluídos na aprendizagem inicial e determina se eles são capazes de inferir com eficácia. Alunos com memórias perfeitas podem decorar os problemas, em vez de aprender as regras.

     

    Normalmente, o conjunto de dados de holdout representa de 20 a 30% dos dados de treinamento.

     

  • Validação k-fold: nesta abordagem de validação, você divide o conjunto de dados de exemplo em k partes. Trata cada uma dessas partes como um conjunto de holdouts definido para k execuções de treinamento e usa as outras k-1 partes como o treinamento definido para a execução em questão. Para produzir k modelos, você usa um processo semelhante e agrega os modelos para gerar o modelo final. O valor k está geralmente no intervalo de 5 a 10.