Ajustar os hiperparâmetros de modelo

Este artigo descreve como usar o módulo de ajustar hiperparâmetros de modelo no designer de Azure Machine Learning. A meta é determinar os hiperparâmetros de desempenho de fluxo otimizado para um modelo de machine learning. O módulo compila e testa vários modelos usando diferentes combinações de configurações. Ele compara as métricas em todos os modelos para obter as combinações de configurações.

Os termos e condiões do parâmetro do hiperparâmetro podem ser confusos. Os parâmetros do modelo são o quais você definiu no painel direito do módulo. Basicamente, este módulo executa uma varredura do parâmetro sobre as configurações do parâmetro especificadas. Ele aprende um desempenho de fluxo otimizado do conjunto de hiperparâmetros,que podem ser diferentes para cada árvore de decisão, conjunto de dados ou método de regressão específico. O processo de encontrar a configuração otimizada às vezes é chamada de ajuste.

O módulo dá suporte ao seguinte método para encontrar as configurações otimizadas para um modelo:treinamento e ajuste integrados. Neste método, você configura um conjunto de parâmetros a ser usado. Em seguida, permita que o módulo Itere sobre várias combinações. O módulo mede a precisão até localizar um modelo "melhor". Com a maioria dos módulos do aprendiz, você pode escolher quais os parâmetros devem ser alterados durante o processo de treinamento e quais devem permanecer fixos.

Dependendo de quanto tempo você deseja que o processo de ajuste seja executado, você pode decidir testar completamente todas as combinações. Ou você pode reduzir o processo estabelecendo uma grade de combinações dos parâmetros e testando um subconjunto aleatório da grade dos parâmetros.

Este método gera um modelo de treinamento que você pode salvar para reutilização.

Dica

Você pode fazer uma tarefa associada. Antes de iniciar o ajuste, aplique a seleção das funcionalidades para determinar as colunas ou variáveis que têm o maior valor de informações.

Como configurar os Hiperparâmetros do Modelo de Ajuste

Aprender os hiperparâmetros otimizados para um modelo de machine learning requer um uso considerável de pipelines.

O treinamento de um modelo usando uma varredura do parâmetro

Esta seção descreve como executar uma varredura do parâmetro básica, que treina um modelo usando o módulo ajustar os hiperparâmetros de modelo.

  1. Adicione o módulo ajustar os hiperparâmetros de modelo ao pipeline no designer.

  2. Conecte um modelo não treinado à entrada à esquerda.

    Observação

    Os Ajustes dos Hiperparâmetros de Modelo só podem ser conectados aos módulos de algoritmos de aprendizado de máquina internos e não podem dar suporte ao modelo personalizado criado em Criar Modelo do Python.

  3. Adicione o conjunto de dados que você deseja usar para o treinamento e conecte-o à entrada intermediária de Ajuste dos Hiperparâmetros de Modelo.

    Opcionalmente, se você tiver um conjunto de dados marcado, você poderá conectá-lo à porta de entrada mais à direita (Conjunto de dados de validação opcional). Isto permite que você meça a precisão durante o treinamento e o ajuste.

  4. No painel à direita de ajustar os hiperparâmetros de modelo, escolha um valor para o modo de limpeza de parâmetro. Esta opção controla como os parâmetros serão selecionados.

    • Grade inteira: quando você seleciona esta opção, o módumo executa um loop em uma grade predefinida pelo sistema, para tentar combinações diferentes e identificar o melhor aprendiz. Esta opção é útil sempre que você não sabe quais são as melhores configurações de parâmetro e deseja tentar todas as combinações de valores possíveis.

    • Varredura aleatória: sempre que você selecionar essa opção, o módulo selecionará os valores de parâmetro aleatoriamente em um intervalo definido pelo sistema. Você deve especificar o número máximo das execuções que deseja que o módulo execute. Esta opção é útil para casos em que você deseja aumentar o desempenho do modelo usando as métricas de sua escolha, mas ainda conservar recursos de computação.

  5. Para Rótulos de Coluna,abra o seletor da coluna para escolher um único rótuo de coluna.

  6. Selecione o número de execuções:

    • O número máximo de execuções na varredura aleatória:se você escolher uma varredura aleatória, poderá especificar quantas vezes o modelo de treinamento deve ser, usando uma combinação aleatória de valores de parâmetro.
  7. Para Classificação, escolha uma única métrica a ser usada para classificar os modelos.

    Sempre que você executa uma varredura de parâmetro, o módulo calcula todas as métricas aplicáveis para o tipo de modelo e as retorna no relatório de resultados de varredura. O módulo usa métricas separadas de modelos de regressão e classificação.

    No entanto, a métrica que você escolher determina como os modelos serão classificados. Somente o modelo superior, conforme a classificação pela métrica escolhida, é a saída como um modelo de treinamento a ser usado para pontuação.

  8. Para Semente aleatória,insira um número a ser usado para iniciar a limpeza do parâmetro.

  9. Envie o pipeline.

Os resultados do ajuste de hiperparâmetro

Ao concluir o treinamento:

  • Para exibir os resultados da varredura, você pode clicar com o botão direito do mouse no módulo e selecionar Visualizar ou clicar com o botão direito do mouse na porta de saída à esquerda do módulo a ser visualizado.

    Os Resultados da varredura incluem todas as métricas de limpeza e precisão do parâmetro que se aplicam ao tipo do modelo e a métrica que você selecionou para a classificação determina qual modelo será considerado "melhor."

  • Para salvar um instantâneo do modelo de treinamento, selecione Saídas+logs no painel direito do módulo Treinar Modelo. Selecione o ícone Registrar conjunto de dados para salvá-lo como um modelo reutilizável.

Observações técnicas

Esta seção contém os detalhes e as dicas de implementação.

Como funciona uma varredura do parâmetro

Assim que você configurar uma varredura de parâmetro, você define o escopo da pesquisa. A pesquisa pode usar um número limitado de parâmetros selecionados aleatoriamente. Ou pode ser uma pesquisa exaustiva no decurso do espaço de parâmetro que você definir.

  • Varredura aleatória: Esta opção treina um modelo usando um número definido de iterações.

    Você especifica um intervalo de valores de iteração e o módulo usa um subconjunto escolhido aleatoriamente desses valores. Os valores são escolhidos com substituição, o que significa que os números anteriormente escolhidos aleatórios não são removidos do pool de números disponíveis. Portanto, a possibilidade de cada valor selecionado permanece a mesma em todos os passos.

  • Grade inteira: A opção de usar a grade inteira significa que cada combinação será testada. Esta opção é a mais completa, mas exige mais tempo.

Controlando o comprimento e a complexidade do treinamento

A iteração por muitas combinações de configurações pode ser demorada, portanto, o módulo fornece várias maneiras de restringir o processo:

  • O limite do número de iterações usadas para testar um modelo.
  • Limite o espaço de parâmetro.
  • Limite ambos o número de iterações e o espaço de parâmetro.

Recomendamos que o pipeline com as configurações para determinar o método mais eficiente de treinamento em um determinado conjunto de dado e modelo.

Selecionando uma métrica de avaliação

No final do teste, o modelo apresenta um relatório que contém a precisão de cada modelo para que você possa revisar os resultados da métrica:

  • Um conjunto de métricas uniforme é usado para todos os modelos de classificação binária.
  • A precisão é usada de todos os modelos de classificação de várias classes.
  • Um conjunto de métricas diferente é usado para os modelos de regressão.

No entanto, durante o treinamento, você deve escolher uma Única métrica a ser usada na classificação dos modelos gerados durante o processo de ajuste. Você pode considerar que a melhor métrica varia, dependendo do problema de sua empresa e do custo de falsos positivos e falsos negativos.

As métricas usadas para classificação binária

  • Precisão é a proporção dos resultados verdadeiros positivos para o total dos casos.

  • A Precisão é a proporção dos resultados verdadeiros com os resultados positivos.

  • Recall é a fração de todos os resultados corretos sobre todos os resultados.

  • A Pontuação F é uma medida que equilibra precisão e o recall.

  • Auc é um valor que representa a área sob a curva quando os falsos positivos são exibidos no eixo x e os verdadeiros positivos são exibidos no eixo y.

  • Perda média do log é a diferença entre duas distribuições de probabilidade: o verdadeiro e no modelo.

Métricas usadas nos modelos de regressão

  • Erro de média absoluta (MAE) Calcula a média de todos os erros no modelo, onde o erro indica a distância do valor previsto do true value. Muitas vezes é abreviado como MAE.

  • Erro ao quadrado da média raiz mede a média dos quadrados dos erros e, em seguida, usa a raiz desse valor. Muitas vezes é abreviado como RMSE.

  • Erro absoluto relativo representa o erro como uma porcentagem do valor verdadeiro.

  • Erro quadrado relativo (RSE) normalize-o dividindo pelo erro quadrado total dos valores previstos.

  • O Coeficiente de determinação é um único número que indica quão bem os dados se ajustam a um modelo. Um valor de um significa que o modelo corresponde exatamente aos dados. O valor de zero significa que os dados são aleatórios ou não podem ser ajustados para o modelo. Ele é frequentemente chamado de r 2 ,R 2 ou r-quadrado.

Os módulos que não dão suporte a uma varredura de parâmetro

Praticamente todos os aprendizes no Azure Machine Learning dão suporte à validação cruzada junto com uma varredura de parâmetro integrada, que permite escolher os parâmetros com os quais o pipeline será escolhido. Se o aprendiz não der suporte à definição de um intervalo de valores, você ainda poderá usá-lo numa validação cruzada. Neste caso, um intervalo de valores permitidos é selecionado para a varredura.

Próximas etapas

Confira o conjunto de módulos disponíveis no Azure Machine Learning.