Ajustar os hiperparâmetros de modelo

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

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) somente

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

Este artigo descreve como usar o módulo Ajustar Hiperparérmetros do Modelo no Machine Learning Studio (clássico) para determinar os hiperparérmetros ideais para um determinado modelo de machine learning. O módulo cria e testa vários modelos, usando combinações diferentes de configurações e compara métricas em todos os modelos para obter a combinação de configurações.

Ostermos e condiões doparâmetro do hiperparâmetropodem ser confusos. Os parâmetros do modelo são o que você definir no painel de propriedades. Basicamente, este 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 específica, conjunto de dados ou método de regressão. O processo de encontrar a configuração otimizada às vezes é chamada deajuste.

O módulo oferece suporte a dois métodos para encontrar as configurações ideais para um modelo:

  • Treinamento e ajuste integrados: você configura um conjunto de parâmetros a ser usado 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 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 exaustivamente todas as combinações ou pode reduzir 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 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 conjuntos de dados; no entanto, leva mais tempo para treinar.

Ambos os métodos geram um modelo treinado que você pode salvar para rea uso.

  • Se você estiver criando um modelo de clustering, use o Clustering 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 valor de informações mais alto. Para obter mais informações, consulte Feature Selection.

Como configurar os Hiperparâmetros do Modelo de Ajuste

Em geral, aprender os hiperparérmetros ideais para um determinado modelo de machine learning requer experimentação considerável. Este módulo dá suporte ao processo de ajuste inicial e à validação cruzada para testar a precisão do modelo:

Treinar um modelo usando uma varredura de parâmetro

Esta seção descreve como executar uma varredura de parâmetro básico, que treina um modelo usando o módulo Ajustar Hiperparmetros do Modelo.

  1. Adicione o módulo Ajustar Hiperparérmetros de Modelo ao seu experimento no Studio (clássico).

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

  3. De acordo com a opção Criar modo de treinador como Intervalo de Parâmetros, use o Construtor de Intervalos para especificar um intervalo de valores a ser usado na varredura de parâmetros.

    Quase todos os módulos de classificação e regressão são suportados por uma varredura de parâmetro integrada. Para os alunos que não suportam a 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, limpar os parâmetros restantes. Isso pode economizar algum tempo.

  4. Adicione o conjuntos de dados que você deseja usar para treinamento e conecte-o à entrada intermediária de Ajustar Hiperparérmetros 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.

  5. No painel Propriedades de Ajustar Hiperparmetros do Modelo, escolha um valor para 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. Essa opção é útil para casos em que você não sabe quais podem ser as melhores configurações de parâmetro e deseja experimentar todas as combinações possíveis de valores.

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

    • 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. 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. Em Coluna de rótulo, iniciar 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ê executar uma varredura de parâmetro, todas as métricas aplicáveis para o tipo de modelo são calculadas e retornadas no relatório Resultados da varredura. As 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 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, digite um número a ser usado ao inicializar a varredura 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 sobre as sementes aleatórias também. Isso pode ser útil para evitar desvios introduzidos pela seleção de semente.

  9. Execute o experimento.

Os resultados do ajuste de hiperparâmetro

Ao concluir o treinamento:

  • 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 selecionada para classificação determina qual modelo é considerado "melhor". As métricas são geradas apenas para o modelo de maior classificação.

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

  • Para usar o modelo para pontuação em outros experimentos, sem precisar 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 a validação cruzada com uma varredura de parâmetro

Esta seção descreve como combinar uma varredura de parâmetros 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 seu conjuntos de dados e os modelos possíveis.

  1. Adicione o módulo Partição e 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 nas quais dividir os dados. Se você não especificar um número, por padrão 10 dobras serão usadas. As linhas são rateadas aleatoriamente nessas dobras, sem substituição.

  3. Para balancear a amostragem em alguma coluna, de definir a divisão stratified como TRUE e, em seguida, selecione a coluna de camadas. Por exemplo, se você tiver um conjuntos de dados desequilibrados, talvez queira dividir o conjuntos de dados de modo que cada dobra tenha o mesmo número de casos de maioria.

  4. Adicione o módulo Ajustar Hiperparmetros do Modelo ao seu experimento.

  5. Conexão um dos módulos de machine learning nessa categoria para a entrada à esquerda de Ajustar Hiperparmetros de Modelo.

  6. No painel Propriedades do aluno, de definido a opção Criar modo de treinador como Intervalo de Parâmetros e use o Construtor de Intervalos para especificar um intervalo de valores a ser usado na varredura de parâmetros.

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

    Para ver uma lista de alunos que não suportam essa opção, consulte a seção Notas técnicas.

  7. Conexão a saída de Partição e Exemplo para a entrada do conjuntos de dados de Treinamento rotulada de Ajustar Hiperparérmetros de Modelo.

  8. Opcionalmente, você pode conectar um conjunto de dados de validação à entrada mais à direita de Ajustar Hiperparérmetros de Modelo. Para validação cruzada, você precisa apenas de um conjunto de dados de treinamento.

  9. No painel Propriedades de Ajustar Hiperparmetros do Modelo, indique se você deseja executar uma varredura aleatória ou uma varredura de grade. Uma varredura de grade é exaustiva, mas demora mais. Uma pesquisa de parâmetro aleatória 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 . Conexão a saída de Partition e Sample à entrada do conjunto de dados e conecte a saída dos hiperparâmetros de 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 dobrae, 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 pontuadose, 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 Classe 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 do 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 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. 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 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:

  • 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.

Selecionando 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 Únicamé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 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 nos modelos de 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 r2, r2ou r-quadrado.

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

quase todos os aprendizes no 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 numa 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

Nome 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

Confira também

Lista de Módulo A-Z
Treinamento
Modelo de validação cruzada