Ajustar os hiperparâmetros de modelo

Realizar uma limpeza no parâmetro em um modelo para determinar as configurações de parâmetro ideais

Categoria: Machine Learning/treinar

Observação

Aplica-se a: Machine Learning Studio (clássico)

Esse conteúdo pertence apenas ao estúdio (clássico). Módulos de arrastar e soltar semelhantes foram adicionados ao designer de Azure Machine Learning. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo ajustar hiperparâmetros de modelo no Azure Machine Learning Studio (clássico) para determinar os hiperparâmetros ideais para um determinado modelo de aprendizado de máquina. O módulo cria e testa vários modelos, usando diferentes combinações de configurações e compara as métricas sobre todos os modelos para obter a combinação de configurações.

O parâmetro de termos e hiperparâmetro podem ser confusos. Os parâmetros do modelo são o que você definiu no painel Propriedades. Basicamente, esse módulo executa uma varredura de parâmetro sobre as configurações de parâmetro especificadas e aprende um conjunto ideal de hiperparâmetros, que podem ser diferentes para cada árvore de decisão, conjunto de linhas ou método de regressão específico. O processo de encontrar a configuração ideal às vezes é chamado de ajuste.

O módulo dá suporte a dois métodos para localizar as configurações ideais para um modelo:

  • Treinamento e ajuste integrados: você configura um conjunto de parâmetros a serem usados e, em seguida, permite que o módulo Itere em várias combinações, medindo a precisão até encontrar um modelo "melhor". Com a maioria dos módulos do aprendiz, você pode escolher quais 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 exaustivamente todas as combinações ou pode encurtar o processo estabelecendo uma grade de combinações de parâmetros e testando um subconjunto aleatório da grade de parâmetros.

  • Validação cruzada com ajuste: com essa opção, você divide seus dados em um certo número de dobras e, em seguida, cria e testa modelos em cada dobra. Esse método fornece a melhor precisão e pode ajudar a encontrar problemas com o conjunto de os. no entanto, leva mais tempo para treinar.

Os dois métodos geram um modelo treinado que você pode salvar para reutilização.

  • Se você estiver criando um modelo de clustering, use o cluster de varredura para determinar automaticamente o número ideal de clusters e outros parâmetros.

  • Antes de ajustar, aplique a seleção de recursos para determinar as colunas ou variáveis que têm o maior valor de informações. Para obter mais informações, consulte Feature Selection.

Como configurar hiperparâmetros de modelo de ajuste

Em geral, aprender os hiperparâmetros ideais para um determinado modelo de aprendizado de máquina requer experimentação considerável. Esse módulo dá suporte ao processo de ajuste inicial e à validação cruzada para precisão do modelo de teste:

Treinar um modelo usando uma varredura de parâmetro

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

  1. Adicione o módulo ajustar hiperparâmetros de modelo ao seu experimento no estúdio (clássico).

  2. Conecte um modelo não treinado (um modelo no formato iLearner ) à entrada mais à esquerda.

  3. Defina a opção criar modo de instrutor como intervalo de parâmetros e use o construtor de intervalo para especificar um intervalo de valores a serem usados na varredura de parâmetro.

    Quase todos os módulos de classificação e regressão dão suporte a uma varredura de parâmetro integrada. Para os aprendizes que não dão suporte à configuração de um intervalo de parâmetros, somente os valores de parâmetro disponíveis podem ser testados.

    Você pode definir manualmente o valor para um ou mais parâmetros e, em seguida, varrer os parâmetros restantes. Isso pode economizar algum tempo.

  4. Adicione o conjunto de dados que você deseja usar para treinamento e conecte-o à entrada intermediária de hiperparâmetros de modelo de ajuste.

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

  5. No painel Propriedades de ajustar hiperparâmetros de modelo, escolha um valor para o modo de limpeza de parâmetro. Esta opção controla como os parâmetros são selecionados.

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

    Você também pode reduzir o tamanho da grade e executar uma limpeza de grade aleatória . A pesquisa mostrou que esse método produz os mesmos resultados, mas é computacionalmente mais eficiente.

    • Varredura aleatória: quando você seleciona essa opção, o módulo seleciona os valores de parâmetro aleatoriamente em um intervalo definido pelo sistema. Você deve especificar o número máximo de execuções que deseja que o módulo execute. Essa 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.
  6. Para a coluna de rótulo, inicie o seletor de coluna para escolher uma única coluna de rótulo.

  7. Escolha uma única métrica a ser usada ao classificar os modelos.

    Quando você executa uma varredura de parâmetro, todas as métricas aplicáveis para o tipo de modelo são calculadas e retornadas no relatório de resultados de varredura . Métricas separadas são usadas para modelos de regressão e classificação.

    No entanto, a métrica escolhida determina como os modelos são classificados. Somente o modelo superior, conforme classificado pela métrica escolhida, é a saída como um modelo treinado a ser usado para pontuação.

  8. Para semente aleatória, digite um número a ser usado ao inicializar a limpeza de parâmetro.

    Se você estiver treinando um modelo que dá suporte a uma varredura de parâmetro integrada, também poderá definir um intervalo de valores de semente a ser usado e iterar em sementes aleatória também. Isso pode ser útil para evitar a tendência introduzida pela seleção de semente.

  9. Execute o experimento.

Resultados do ajuste de hiperparâmetro

Quando o treinamento for concluído:

  • Para exibir um conjunto de métricas de precisão para o melhor modelo, clique com o botão direito do mouse no módulo, selecione resultados da varredura e, em seguida, selecione Visualizar.

    Todas as métricas de precisão aplicáveis ao tipo de modelo são saída, mas a métrica que você selecionou para classificação determina qual modelo é considerado "melhor". As métricas são geradas somente para o modelo de classificação superior.

  • Para exibir as configurações derivadas do modelo "melhor", clique com o botão direito do mouse no módulo, selecione melhor modelo treinado e clique em Visualizar. O relatório inclui as configurações de parâmetro e os pesos de recursos para as colunas de entrada.

  • Para usar o modelo de pontuação em outros experimentos, sem a necessidade de repetir o processo de ajuste, clique com o botão direito do mouse na saída do modelo e selecione salvar como modelo treinado.

Executar validação cruzada com uma varredura de parâmetro

Esta seção descreve como combinar uma varredura de parâmetro com validação cruzada. Esse processo leva mais tempo, mas você pode especificar o número de dobras e obter a quantidade máxima de informações sobre o conjunto de dados e os modelos possíveis.

  1. Adicione a partição e o módulo de exemplo ao seu experimento e conecte os dados de treinamento.

  2. Escolha a opção atribuir a dobras e especifique um número de dobras para dividir os dados. Se você não especificar um número, serão usadas 10 dobras por padrão. As linhas são divididas aleatoriamente nessas dobras, sem substituição.

  3. Para balancear a amostragem em alguma coluna, defina a divisão de sobreratificação como true e, em seguida, selecione a coluna Strata. Por exemplo, se você tiver um conjunto de conjuntos de um desbalanceado, talvez queira dividir o conjunto de um, de modo que cada dobra obtenha o mesmo número de casos minoritários.

  4. Adicione o módulo ajustar hiperparâmetros de modelo ao seu experimento.

  5. Conecte um dos módulos de Machine Learning nesta categoria à entrada à esquerda dos hiperparâmetros de modelo de ajuste.

  6. No painel Propriedades do aprendiz, defina a opção criar modo de instrutor como intervalo de parâmetros e use o Construtor de intervalo para especificar um intervalo de valores a serem usados na varredura de parâmetro.

    Você não precisa especificar um intervalo para todos os valores. Você pode definir manualmente o valor para alguns parâmetros e, em seguida, varrer os parâmetros restantes. Isso pode economizar algum tempo.

    Para obter uma lista de aprendizes que não dão suporte a essa opção, consulte a seção observações técnicas .

  7. Conecte a saída da partição e do exemplo à entrada de conjunto de dados de treinamento rotulada dos hiperparâmetros de modelo de ajuste.

  8. Opcionalmente, você pode conectar um conjunto de dados de validação à entrada mais à direita dos hiperparâmetros de modelo de ajuste. Para validação cruzada, você precisa apenas de um conjunto de um de treinamento.

  9. No painel Propriedades de ajustar hiperparâmetros de modelo, indique se você deseja executar uma varredura aleatória ou uma limpeza de grade. Uma varredura de grade é exaustiva, mas consome mais tempo. Uma pesquisa de parâmetros aleatórios pode obter bons resultados sem levar muito tempo.

    Número máximo de execuções em varredura aleatória: se você escolher uma varredura aleatória, poderá especificar quantas vezes o modelo deve ser treinado, usando uma combinação aleatória de valores de parâmetro.

    Número máximo de execuções em grade aleatória: essa opção também controla o número de iterações em uma amostragem aleatória de valores de parâmetro, mas os valores não são gerados aleatoriamente do intervalo especificado; em vez disso, uma matriz é criada de todas as combinações possíveis de valores de parâmetro e uma amostragem aleatória é feita pela matriz. Esse método é mais eficiente e menos propenso a sobreamostragens regionais ou a subamostragem.

    Dica

    Para obter uma discussão mais detalhada sobre essas opções, consulte a seção observações técnicas .

  10. Escolha uma única coluna de rótulo.

  11. Escolha uma única métrica a ser usada para classificar o modelo. Muitas métricas são computadas, portanto, selecione a mais importante para usar na ordenação dos resultados.

  12. Para semente aleatória, digite um número a ser usado ao inicializar a limpeza de parâmetro.

    Se você estiver treinando um modelo que dá suporte a uma varredura de parâmetro integrada, também poderá definir um intervalo de valores de semente a ser usado e iterar em sementes aleatória também. Isso é opcional, mas pode ser útil para evitar a tendência introduzida pela seleção de semente.

  13. Adicione o módulo modelo de validação cruzada . Conecte a saída da partição e do exemplo à entrada do conjunto de dados e conecte a saída dos hiperparâmetros do modelo de ajuste à entrada do modelo não treinado .

  14. Execute o experimento.

Resultados da validação cruzada

Quando a validação cruzada estiver concluída:

  • Para exibir os resultados da avaliação, clique com o botão direito do mouse no módulo, selecione resultados da avaliação por dobra e, em seguida, selecione Visualizar.

    As métricas de precisão são calculadas a partir da passagem de validação cruzada e podem variar um pouco dependendo de quantas dobras você selecionou.

  • Para ver como o conjunto de resultados foi dividido e como o modelo "melhor" classificaria cada linha no conjunto de resultados, clique com o botão direito do mouse no módulo, selecione resultados pontuados e, em seguida, selecione Visualizar.

  • Se você salvar esse conjunto de um para reutilização posterior, as atribuições de dobra serão preservadas. Por exemplo, o datsaet salvo pode ser assim:

    Atribuições de dobra Class Idade (primeira coluna de recurso)
    2 0 35
    1 1 17
    3 0 62
  • Para obter as configurações de parâmetro para o modelo "melhor", clique com o botão direito do mouse em ajustar hiperparâmetros de modelo

Exemplos

Para obter exemplos de como esse módulo é usado, consulte a Galeria de ia do Azure:

Observações técnicas

Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.

Como funciona uma varredura de parâmetro

Esta seção descreve como a varredura de parâmetro funciona em geral e como as opções neste módulo interagem.

Quando você configura uma varredura de parâmetro, define o escopo da sua pesquisa, para usar um número finito de parâmetros selecionados aleatoriamente ou uma pesquisa exaustiva sobre um espaço de parâmetro que você define.

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

    Você especifica um intervalo de valores para 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 números anteriormente escolhidos em Random não são removidos do pool de números disponíveis. Assim, a possibilidade de qualquer valor selecionado permanecerá a mesma em todos os passos.

  • Varredura de grade: essa opção cria uma matriz, ou grade, que inclui cada combinação dos parâmetros no intervalo de valores especificado. Quando você inicia o ajuste com esse módulo, vários modelos são treinados usando combinações desses parâmetros.

  • Grade inteira: a opção de usar a grade inteira significa apenas que: cada combinação é testada. Essa opção pode ser considerada a mais completa, mas requer mais tempo.

  • Grade aleatória: se você selecionar essa opção, a matriz de todas as combinações será calculada e os valores serão amostrados da matriz, além do número de iterações que você especificou.

    Pesquisas recentes mostraram que as varreduras aleatórias podem ter um desempenho melhor do que as varreduras em grade.

Controlando o tamanho e a complexidade do treinamento

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

  • Limitar o número de iterações usadas para testar um modelo
  • Limitar o espaço de parâmetro
  • Limitar o número de iterações e o espaço de parâmetro

Recomendamos que você faça experiências com as configurações para determinar o método de treinamento mais eficiente em um determinado conjunto de dado e modelo.

Escolhendo uma métrica de avaliação

Um relatório que contém a precisão de cada modelo é apresentado no final para que você possa examinar os resultados da métrica. Um conjunto uniforme de métricas é usado para todos os modelos de classificação e um conjunto diferente de métricas é usado para 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 achar que a melhor métrica varia, dependendo do problema de sua empresa, e o custo de falsos positivos e falsos negativos.

Para obter mais informações, consulte como avaliar o desempenho do modelo no Azure Machine Learning

Métricas usadas para classificação

  • Precisão A proporção de resultados verdadeiros para casos totais.

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

  • Cancelar A fração de todos os resultados corretos em todos os resultados.

  • Pontuação F Uma medida que equilibra precisão e RECALL.

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

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

  • Perda de log de treinamento A melhoria fornecida pelo modelo em uma previsão aleatória.

Métricas usadas para regressão

  • Erro de média absoluta Calcula a média de todos os erros no modelo, em que o erro significa a distância do valor previsto a partir do valor verdadeiro. Geralmente abreviado como Mae.

  • Raiz do erro de quadrado médio Mede a média dos quadrados dos erros e, em seguida, usa a raiz desse valor. Abreviado frequentemente como RMSE

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

  • Erro de quadrado relativo Normaliza o erro total quadrado dividindo pelo erro quadrado total dos valores previstos.

  • Coeficiente de determinação Um único número que indica quão bem os dados se ajustam a um modelo. Um valor de 1 significa que o modelo corresponde exatamente aos dados; um valor de 0 significa que os dados são aleatórios ou não podem se ajustar ao modelo. Geralmente chamado de r 2, r 2 ou r-quadrado.

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

Quase todos os aprendizes no Azure Machine Learning dão suporte à validação cruzada com uma varredura de parâmetro integrada, que permite escolher os parâmetros a serem experimentados. Se o aprendiz não der suporte à definição de um intervalo de valores, você ainda poderá usá-lo em validação cruzada. Nesse caso, um intervalo de valores permitidos é selecionado para a varredura.

Os aprendizes a seguir não dão suporte à definição de um intervalo de valores para usar em uma varredura de parâmetro:

Entradas esperadas

Nome Tipo Descrição
Modelo não treinado Interface ILearner Modelo não treinado para varredura de parâmetro
Conjunto de dados de treinamento Tabela de Dados Conjunto de dados de entrada para treinamento
Conjunto de dados de validação Tabela de Dados Conjunto de dados de entrada para validação (para o modo Treinar/testar validação) Esta entrada é opcional.

Parâmetros do módulo

Name Intervalo Type Padrão Descrição
Especifique o modo de varredura de parâmetro Lista Métodos de varredura Varredura aleatória Varre toda a grade no espaço de parâmetro ou varre usando um número limitado de execuções de exemplo
Número máximo de execuções de varredura aleatória [1;10000] Integer 5 Execute o número máximo de execuções usando varredura aleatória
Propagação aleatória any Integer 0 Forneça um valor para propagar o gerador de número aleatório
Coluna de rótulo any ColumnSelection Coluna de rótulo
Métrica para medir o desempenho de classificação Lista Tipo de métrica de classificação binária Precisão Selecione a métrica usada para avaliar modelos de classificação
Métrica para medir o desempenho de regressão Lista Tipo de RegressionMetric Erro de média absoluta Selecione a métrica usada para avaliar modelos de regressão

Saídas

Nome Tipo Descrição
Resultados da varredura Tabela de Dados Métrica de resultados para execuções de varredura de parâmetro
Melhor modelo treinado Interface ILearner Modelo com melhor desempenho no conjunto de dados de treinamento

Consulte também

Lista de módulos a-Z
Trem
Modelo de validação cruzada