Ajustar hiperparâmetros do modelo

Este artigo descreve como utilizar o componente Otimizar Hiperparâmetros de Modelo no estruturador do Azure Machine Learning. O objetivo é determinar os hiperparâmetros ideais para um modelo de machine learning. O componente cria e testa vários modelos através de diferentes combinações de definições. Compara as métricas em todos os modelos para obter as combinações de definições.

Os termos parâmetro e hiperparâmetros podem ser confusos. Os parâmetros do modelo são o que define no painel direito do componente. Basicamente, este componente efetua uma varrimento de parâmetros sobre as definições de parâmetros especificadas. Aprende um conjunto ideal de hiperparâmetros, que podem ser diferentes para cada árvore de decisões, conjunto de dados ou método de regressão específico. Por vezes, o processo de localização da configuração ideal é denominado otimização.

O componente suporta o seguinte método para encontrar as definições ideais para um modelo: preparação e otimização integradas. Neste método, vai configurar um conjunto de parâmetros a utilizar. Em seguida, deixe o componente iterar em múltiplas combinações. O componente mede a precisão até encontrar um modelo "melhor". Com a maioria dos componentes de aprendizagem, pode escolher os parâmetros que devem ser alterados durante o processo de preparação e que devem permanecer fixos.

Dependendo do tempo que pretende que o processo de otimização seja executado, poderá decidir testar exaustivamente todas as combinações. Em alternativa, pode encurtar o processo ao estabelecer uma grelha de combinações de parâmetros e testar um subconjunto aleatório da grelha de parâmetros.

Este método gera um modelo preparado que pode guardar para reutilização.

Dica

Pode efetuar uma tarefa relacionada. Antes de começar a otimizar, aplique a seleção de funcionalidades para determinar as colunas ou variáveis que têm o valor de informações mais elevado.

Como configurar Hiperparâmetros do Modelo de Otimização

Aprender os hiperparâmetros ideais para um modelo de machine learning requer uma utilização considerável dos pipelines.

Preparar um modelo com uma varredura de parâmetros

Esta secção descreve como executar uma varrimento de parâmetros básica, que prepara um modelo com o componente Otimizar Hiperparâmetros do Modelo.

  1. Adicione o componente Otimizar Hiperparâmetros do Modelo ao pipeline no estruturador.

  2. Ligue um modelo não preparado à entrada mais à esquerda.

    Nota

    Os Hiperparâmetros de Modelo de Otimização só podem ser ligados a componentes de algoritmos de machine learning incorporados e não podem suportar um modelo personalizado incorporado em Criar Modelo Python.

  3. Adicione o conjunto de dados que pretende utilizar para preparação e ligue-o à entrada intermédia dos Hiperparâmetros do Modelo de Otimização.

    Opcionalmente, se tiver um conjunto de dados etiquetado, pode ligá-lo à porta de entrada mais à direita (conjunto de dados de validação opcional). Isto permite-lhe medir a precisão durante a preparação e otimização.

  4. No painel direito de Otimizar Hiperparâmetros de Modelo, escolha um valor para Modo de varrimento de parâmetros. Esta opção controla a forma como os parâmetros são selecionados.

    • Grelha inteira: quando seleciona esta opção, o componente percorre uma grelha predefinida pelo sistema para experimentar diferentes combinações e identificar o melhor formando. Esta opção é útil quando não sabe quais são as melhores definições de parâmetros e quer experimentar todas as combinações possíveis de valores.

    • Varrimento aleatório: quando seleciona esta opção, o componente seleciona aleatoriamente valores de parâmetros num intervalo definido pelo sistema. Tem de especificar o número máximo de execuções que pretende que o componente execute. Esta opção é útil quando quer aumentar o desempenho do modelo ao utilizar as métricas à sua escolha, mas ainda assim conservar recursos de computação.

  5. Para a coluna Etiqueta, abra o seletor de colunas para escolher uma única coluna de etiqueta.

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

    • Número máximo de execuções em varrimento aleatório: se escolher uma varredura aleatória, pode especificar quantas vezes o modelo deve ser preparado, utilizando uma combinação aleatória de valores de parâmetros.
  7. Em Classificação, selecione uma única métrica a utilizar para classificar os modelos.

    Quando executa um varrimento de parâmetros, o componente calcula todas as métricas aplicáveis para o tipo de modelo e devolve-as no relatório De varrer resultados . O componente utiliza métricas separadas para modelos de regressão e classificação.

    No entanto, a métrica que escolher determina a forma como os modelos são classificados. Apenas o modelo de topo, conforme classificado pela métrica escolhida, é apresentado como um modelo preparado para utilizar para classificação.

  8. Em Sementes aleatórias, introduza um número inteiro como um estado pseudo-gerador de números aleatórios utilizado para selecionar aleatoriamente valores de parâmetros num intervalo predefinido. Este parâmetro só é eficaz se o modo de varrimento de parâmetros for Varrimento aleatório.

  9. Submeta o pipeline.

Resultados da otimização de hiperparâmetros

Quando a preparação estiver concluída:

  • Para ver os resultados de varrimento, pode clicar com o botão direito do rato no componente e, em seguida, selecionar Visualizar ou clicar com o botão direito do rato na porta de saída esquerda do componente para visualizar.

    Os resultados de Varrimento incluem todas as métricas de varrimento e precisão de parâmetros que se aplicam ao tipo de modelo e a métrica que selecionou para classificação determina que modelo é considerado "melhor".

  • Para guardar um instantâneo do modelo preparado, selecione o separador Saídas+registos no painel direito do componente Preparar modelo . Selecione o ícone Registar conjunto de dados para guardar o modelo como um componente reutilizável.

Notas técnicas

Esta secção contém detalhes e sugestões de implementação.

Como funciona uma varredura de parâmetros

Quando configura um varrimento de parâmetros, define o âmbito da sua pesquisa. A pesquisa pode utilizar um número finito de parâmetros selecionados aleatoriamente. Em alternativa, pode ser uma pesquisa exaustiva sobre um espaço de parâmetros definido por si.

  • Varrimento aleatório: esta opção prepara um modelo com um número definido de iterações.

    Especifique um intervalo de valores para iterar e o componente utiliza um subconjunto escolhido aleatoriamente desses valores. Os valores são escolhidos com substituição, o que significa que os números escolhidos aleatoriamente não são removidos do conjunto de números disponíveis. Assim, a probabilidade de qualquer valor ser selecionado permanece igual em todos os passes.

  • Grelha inteira: a opção para utilizar toda a grelha significa que todas as combinações são testadas. Esta opção é a mais completa, mas requer mais tempo.

Controlar a duração e a complexidade da preparação

A iteração em muitas combinações de definições pode ser morosa, pelo que o componente fornece várias formas de restringir o processo:

  • Limite o número de iterações utilizadas para testar um modelo.
  • Limite o espaço de parâmetros.
  • Limite o número de iterações e o espaço de parâmetros.

Recomendamos que utilize o pipeline com as definições para determinar o método de preparação mais eficiente num determinado conjunto de dados e modelo.

Escolher 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 possa rever os resultados das métricas:

  • É utilizado um conjunto uniforme de métricas para todos os modelos de classificação binária.
  • A precisão é utilizada para todos os modelos de classificação de várias classes.
  • É utilizado um conjunto diferente de métricas para modelos de regressão.

No entanto, durante a preparação, tem de escolher uma única métrica para utilizar na classificação dos modelos gerados durante o processo de otimização. Poderá constatar que a melhor métrica varia consoante o seu problema empresarial e o custo de falsos positivos e falsos negativos.

Métricas utilizadas para classificação binária

  • A precisão é a proporção de resultados verdadeiros para o total de casos.

  • Precisão é a proporção de resultados verdadeiros para resultados positivos.

  • A revocação é a fração de todos os resultados corretos em todos os resultados.

  • A classificação F é uma medida que equilibra a precisão e a revocação.

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

  • A Perda Média de Registo é a diferença entre duas distribuições de probabilidade: a verdadeira e a do modelo.

Métricas utilizadas para regressão

  • O erro absoluto médio calcula a média de todos os erros no modelo, em que o erro significa a distância do valor previsto do valor verdadeiro. É muitas vezes abreviado como MAE.

  • A raiz do erro quadrática média mede a média dos quadrados dos erros e, em seguida, utiliza a raiz desse valor. Muitas vezes, é abreviado como RMSE.

  • O erro absoluto relativo representa o erro como uma percentagem do valor verdadeiro.

  • O erro ao quadrado relativo normaliza o erro total ao quadrado ao dividir pelo erro total ao quadrado dos valores previstos.

  • O coeficiente de determinação é um único número que indica o quão bem os dados se ajustam a um modelo. Um valor de um significa que o modelo corresponde exatamente aos dados. Um valor de zero significa que os dados são aleatórios ou não podem ser adequados ao modelo. É frequentemente denominado r2, R2 ou r-quadrado.

Componentes que não suportam uma varrimento de parâmetros

Quase todos os formandos no Azure Machine Learning suportam a validação cruzada com um varrimento de parâmetros integrado, o que lhe permite escolher os parâmetros com os quais utilizar o pipeline. Se o formando não suportar a definição de um intervalo de valores, pode utilizá-lo na validação cruzada. Neste caso, é selecionado um intervalo de valores permitidos para a operação de varrimento.

Passos seguintes

Veja o conjunto de componentes disponíveis para o Azure Machine Learning.