Ajustar hiperparâmetros do modelo

Executa uma varredura de parâmetros num modelo para determinar as definições ideais de parâmetros

Categoria: Machine Learning / Train

Nota

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

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo Tune Model Hyperparameters no Azure Machine Learning Studio (clássico), para determinar os hiperparmetros ideais para um determinado modelo de aprendizagem automática. O módulo constrói e testa vários modelos, utilizando diferentes combinações de configurações, e compara métricas sobre todos os modelos para obter a combinação de configurações.

O parâmetro de termos e o hiperparímetro podem ser confusos. Os parâmetros do modelo são o que se define no painel de propriedades. Basicamente, este módulo executa uma varredura de parâmetros sobre as definições de parâmetros especificados, e aprende um conjunto ideal de hiperparímetros, que pode ser diferente para cada decisão específica, conjunto de dados ou método de regressão. O processo de encontrar a configuração ideal é por vezes chamado de sintonização.

O módulo suporta dois métodos para encontrar as definições ideais para um modelo:

  • Comboio e melodia integrados: Configura um conjunto de parâmetros para utilizar e, em seguida, deixe o módulo iterar sobre várias combinações, medindo a precisão até encontrar um modelo "melhor". Com a maioria dos módulos de aprendizagem, pode escolher quais os parâmetros que devem ser alterados durante o processo de treino, e que devem permanecer fixos.

    Dependendo do tempo de funcionamento do processo de afinação, poderá decidir testar exaustivamente todas as combinações, ou pode encurtar o processo estabelecendo uma grelha de combinações de parâmetros e testando um subconjunto aleatório da grelha de parâmetros.

  • Validação cruzada com afinação: Com esta opção, divide os seus dados em algumas dobras e, em seguida, constrói e testa modelos em cada dobra. Este método fornece a melhor precisão e pode ajudar a encontrar problemas com o conjunto de dados; no entanto, demora mais tempo a treinar.

Ambos os métodos geram um modelo treinado que pode guardar para reutilização.

  • Se estiver a construir um modelo de agrupamento, utilize o Clustering sweep para determinar automaticamente o número ideal de aglomerados e outros parâmetros.

  • Antes de sintonizar, aplique a seleção de funcionalidades para determinar as colunas ou variáveis que têm o maior valor de informação. Para mais informações, consulte a Seleção de Recursos.

Como configurar hiperparmetros de modelo de sintonização

Geralmente, aprender os hiperparmetros ideais para um determinado modelo de aprendizagem automática requer uma experimentação considerável. Este módulo suporta tanto o processo inicial de afinação, como a validação cruzada para testar a precisão do modelo:

Treine um modelo usando uma varredura de parâmetros

Esta secção descreve como executar uma varredura de parâmetros básicos, que treina um modelo utilizando o módulo Tune Model Hyperparameters.

  1. Adicione o módulo Tune Model Hyperparameters à sua experiência no Studio (clássico).

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

  3. Desa esta qual seja a opção de modo de formação para a gama de parâmetros e utilize o Range Builder para especificar uma gama de valores a utilizar na varredura de parâmetros.

    Quase todos os módulos de classificação e regressão suportam uma varredura integrada de parâmetros. Para os alunos que não suportam configurar uma gama de parâmetros, apenas os valores dos parâmetros disponíveis podem ser testados.

    Pode definir manualmente o valor para um ou mais parâmetros e, em seguida, varrer os parâmetros restantes. Isto pode poupar algum tempo.

  4. Adicione o conjunto de dados que pretende utilizar para treinar e conecte-o à entrada média dos Hiperparametros tune Model.

    Opcionalmente, se tiver um conjunto de dados marcado, pode conectá-lo à porta de entrada mais à direita (Conjunto de dados de validação opcional). Isto permite medir a precisão durante o treino e a sintonização.

  5. No painel de propriedades dos hiperparmetros tune model,escolha um valor para o modo de varrimento do parâmetro. Esta opção controla a forma como os parâmetros são selecionados.

    • Grelha inteira: Ao selecionar esta opção, o módulo roda sobre uma grelha predefinida pelo sistema, para experimentar diferentes combinações e identificar o melhor aprendiz. Esta opção é útil para casos em que não sabe quais são as melhores definições de parâmetros e quer experimentar toda a combinação possível de valores.

    Também pode reduzir o tamanho da grelha e executar uma varredura de grelha aleatória. A investigação demonstrou que este método produz os mesmos resultados, mas é mais eficiente computacionalmente.

    • Varredura aleatória: Quando selecionar esta opção, o módulo selecionará aleatoriamente os valores dos parâmetros sobre um intervalo definido pelo sistema. Tem de especificar o número máximo de execuções que pretende que o módulo execute. Esta opção é útil para casos em que pretende aumentar o desempenho do modelo utilizando as métricas da sua escolha, mas ainda conservar recursos informáticos.
  6. Para a coluna Label, lance o seletor de colunas para escolher uma única coluna de etiqueta.

  7. Escolha uma única métrica para utilizar ao classificar os modelos.

    Quando se faz uma varredura de parâmetros, todas as métricas aplicáveis para o tipo de modelo são calculadas e são devolvidas no relatório de resultados do Sweep. Métricas separadas são usadas para modelos de regressão e classificação.

    No entanto, a métrica que escolhe determina como os modelos estão classificados. Apenas o modelo de topo, classificado pela métrica escolhida, é a saída como um modelo treinado para usar para pontuar.

  8. Para sementes aleatórias, escreva um número a utilizar ao rubricar a varredura do parâmetro.

    Se estiver a treinar um modelo que suporte uma varredura integrada de parâmetros, também pode definir uma gama de valores de sementes para usar e iterar sobre as sementes aleatórias também. Isto pode ser útil para evitar o enviesamento introduzido pela seleção de sementes.

  9. Execute a experimentação.

Resultados da afinação do hiperparímetro

Quando o treino estiver completo:

  • Para visualizar um conjunto de métricas de precisão para o melhor modelo, clique com o botão direito no módulo, selecione Varrer os resultadose, em seguida, selecione Visualize.

    Todas as métricas de precisão aplicáveis ao tipo de modelo são de saída, mas a métrica que selecionou para o ranking determina qual o modelo considerado "o melhor". As métricas são geradas apenas para o modelo de topo.

  • Para ver as definições derivadas para o modelo "melhor", clique com o botão direito no módulo, selecione O melhor modelo treinadoe, em seguida, clique em Visualizar. O relatório inclui definições de parâmetros e pesos de característica para as colunas de entrada.

  • Para utilizar o modelo para pontuar noutras experiências, sem ter de repetir o processo de afinação, clique com o botão direito na saída do modelo e selecione Save as Trained Model.

Realizar validação cruzada com uma varredura de parâmetros

Esta secção descreve como combinar uma varredura de parâmetros com validação cruzada. Este processo demora mais tempo, mas pode especificar o número de dobras e obter a quantidade máxima de informação sobre o seu conjunto de dados e os modelos possíveis.

  1. Adicione o módulo de partição e amostra à sua experiência e conecte os dados de treino.

  2. Escolha a opção Atribuir a Dobras e especifique alguns números de dobras para dividir os dados em. Se não especificar um número, por predefinição são utilizadas 10 dobras. As linhas são repartidas aleatoriamente nestas dobras, sem substituição.

  3. Para equilibrar a amostragem em alguma coluna, deslobreça a divisão estratificada para TRUE, e, em seguida, selecione a coluna de estratos. Por exemplo, se tiver um conjunto de dados desequilibrado, pode querer dividir o conjunto de dados de modo a que cada dobra obtenha o mesmo número de casos minoritários.

  4. Adicione o módulo De Hiperparametros Tune Model à sua experiência.

  5. Ligue um dos módulos de aprendizagem automática desta categoria à entrada à esquerda dos Hiperparmetros Tune Model.

  6. No painel de propriedades para o aprendiz, desa estale a opção de modo de formação Create para a Gama de Parâmetros e utilize o Range Builder para especificar uma gama de valores a utilizar na varredura de parâmetros.

    Não é preciso especificar um intervalo para todos os valores. Pode definir manualmente o valor para alguns parâmetros e, em seguida, varrer os parâmetros restantes. Isto pode poupar algum tempo.

    Para obter uma lista de alunos que não suportam esta opção, consulte a secção Notas Técnicas.

  7. Ligue a saída da Partição e da Amostra à entrada de conjunto de dados de treino rotulado dos Hiperparímetros tune Model.

  8. Opcionalmente, pode ligar um conjunto de dados de validação à entrada mais à direita dos Hiperparametros tune Model. Para validação cruzada, só precisa de um conjunto de dados de treino.

  9. No painel de propriedades dos Hiperparímetros tune model, indique se deseja fazer uma varredura aleatória ou uma varredura de grelha. Uma varredura de grelha é exaustiva, mas mais morosa. Uma pesquisa de parâmetros aleatórios pode obter bons resultados sem demorar tanto tempo.

    Número máximo de corridas em varredura aleatória: Se escolher uma varredura aleatória, pode especificar quantas vezes o modelo deve ser treinado, utilizando uma combinação aleatória de valores de parâmetros.

    Número máximo de execuções em grelha aleatória: Esta opção também controla o número de iterações sobre uma amostragem aleatória de valores de parâmetros, mas os valores não são gerados aleatoriamente a partir da gama especificada; em vez disso, uma matriz é criada de todas as combinações possíveis de valores de parâmetros e uma amostragem aleatória é tomada sobre a matriz. Este método é mais eficiente e menos propenso a sobresmaltados regionais ou a uma subamplagem.

    Dica

    Para uma discussão mais aprofundada sobre estas opções, consulte a secção de notas técnicas.

  10. Escolha uma única coluna de etiqueta.

  11. Escolha uma única métrica para utilizar no ranking do modelo. Muitas métricas são calculadas, por isso selecione a mais importante para usar na encomenda dos resultados.

  12. Para sementes aleatórias, escreva um número a utilizar ao rubricar a varredura do parâmetro.

    Se estiver a treinar um modelo que suporte uma varredura integrada de parâmetros, também pode definir uma gama de valores de sementes para usar e iterar sobre as sementes aleatórias também. Isto é opcional, mas pode ser útil para evitar o enviesamento introduzido pela seleção de sementes.

  13. Adicione o módulo modelo de validação cruzada. Ligue a saída da Partição e da Amostra à entrada do Conjunto de Dados e ligue a saída dos Hiperparmetros do Modelo de Sintonização à entrada do modelo destreinada.

  14. Execute a experimentação.

Resultados da validação cruzada

Quando a validação cruzada estiver completa:

  • Para ver os resultados da avaliação, clique com o botão direito no módulo, selecione os resultados de avaliação por dobrae, em seguida, selecione Visualize.

    As métricas de precisão são calculadas a partir do passe de validação cruzada, e podem variar ligeiramente dependendo de quantas vezes selecionou.

  • Para ver como o conjunto de dados foi dividido, e como o modelo "melhor" marcaria cada linha no conjunto de dados, clique com o botão direito no módulo, selecione resultados de pontuaçãoe, em seguida, selecione Visualize.

  • Se guardar este conjunto de dados para posterior reutilização, as atribuições dobráveis são preservadas. Por exemplo, o datsaet salvo pode ser assim:

    Atribuições dobráveis Classe Idade (1ª coluna de recurso)
    2 0 35
    1 1 17
    3 0 62
  • Para obter as definições de parâmetro para o modelo "melhor", clique à direita Em Hiperparametros do Modelo de Sintonização

Exemplos

Por exemplo, de como este módulo é utilizado, consulte a Galeria Azure AI:

Notas técnicas

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

Como funciona uma varredura de parâmetros

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

Ao configurar uma varredura de parâmetros, define o âmbito da sua pesquisa, para utilizar um número finito de parâmetros selecionados aleatoriamente, ou uma pesquisa exaustiva sobre um espaço de parâmetro que define.

  • Varredura aleatória: Esta opção treina um modelo utilizando um conjunto de iterações.

    Especifica uma gama de valores para iterar e o módulo utiliza um subconjunto escolhido aleatoriamente desses valores. Os valores são escolhidos com substituição, o que significa que os números previamente escolhidos aleatoriamente não são removidos do conjunto de números disponíveis. Assim, a possibilidade de qualquer valor ser selecionado permanece a mesma em todos os passes.

  • Varredura da grelha: Esta opção cria uma matriz, ou grelha, que inclui todas as combinações dos parâmetros na gama de valor especifica. Quando começa a sintonizar com este módulo, vários modelos são treinados usando combinações destes parâmetros.

  • Grelha inteira: A opção de utilizar toda a grelha significa apenas isso: cada combinação é testada. Esta opção pode ser considerada a mais completa, mas requer mais tempo.

  • Grelha aleatória: Se selecionar esta opção, a matriz de todas as combinações é calculada e os valores são recolhidos a partir da matriz, sobre o número de iterações especificadas.

    Pesquisas recentes mostraram que varreduras aleatórias podem ter um desempenho melhor do que varreduras de grelha.

Controlando o comprimento e a complexidade do treino

A iteração sobre muitas combinações de configurações pode ser demorado, pelo que o módulo fornece várias formas de conter o processo:

  • Limitar o número de iterações usadas para testar um modelo
  • Limitar o espaço dos parâmetros
  • Limite tanto o numer de iterações como o espaço dos parâmetros

Recomendamos que experimente as definições para determinar o método de treino mais eficiente num determinado conjunto de dados e modelo.

Escolher uma métrica de avaliação

Um relatório que contenha a precisão de cada modelo é apresentado no final para que possa rever 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 treino, deve escolher uma única métrica para utilizar no ranking dos modelos gerados durante o processo de afinação. Pode descobrir que a melhor métrica varia, dependendo do seu problema de negócio, e do custo de falsos positivos e falsos negativos.

Para mais informações, consulte Como avaliar o desempenho do modelo em Azure Machine Learning

Métricas utilizadas para a classificação

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

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

  • Lembre-se A fração de todos os resultados corretos sobre todos os resultados.

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

  • AUC Um valor que representa a área sob a curva quando falsos positivos são traçados no eixo x e verdadeiros positivos são traçados no eixo y.

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

  • Perda de registo de comboio A melhoria fornecida pelo modelo sobre uma previsão aleatória.

Métricas utilizadas para regressão

  • Erro absoluto médio Media todo o erro no modelo, onde erro significa a distância do valor previsto do valor real. Muitas vezes abreviado como MAE.

  • Raiz do erro quadrado médio Mede a média dos quadrados dos erros, e depois toma a raiz desse valor. Muitas vezes abreviado como RMSE

  • Erro absoluto relativo Representa o erro em percentagem do valor real.

  • Erro ao quadrado relativo Normaliza o erro total ao quadrado, dividindo-se pelo erro total ao quadrado dos valores previstos.

  • Coeficiente de determinação Um único número que indica o quão bem os dados se encaixam num 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 ser adequados ao modelo. Muitas vezes referido como r2, R2, ou r-squared.

Módulos que não suportam uma varredura de parâmetros

Quase todos os alunos do Azure Machine Learning apoiam a validação cruzada com uma varredura de parâmetros integrada, que permite escolher os parâmetros para experimentar. Se o aprendiz não suportar a definição de uma gama de valores, ainda pode usá-lo em validação cruzada. Neste caso, é selecionada uma gama de valores permitidos para a varredura.

Os seguintes alunos não suportam a definição de uma gama de valores a utilizar numa varredura de parâmetros:

Entradas esperadas

Nome Tipo Descrição
Modelo destreinado Interface ILearner Modelo destreinado para varredura de parâmetros
Conjunto de dados de formação Tabela de Dados Conjunto de dados de entrada para formação
Conjunto de dados de validação Tabela de Dados Conjunto de dados de entrada para validação (para o modo de validação train/test). Esta entrada é opcional.

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Descrição
Especifique o modo de varrimento do parâmetro Lista Métodos de varrimento Varredura aleatória Varra toda a grelha no espaço dos parâmetros, ou varra com um número limitado de amostras
Número máximo de corridas em varredura aleatória [1;10000] Número inteiro 5 Execute o número máximo de corridas usando varrimento aleatório
Sementes aleatórias qualquer Número inteiro 0 Fornecer um valor para semear o gerador de números aleatórios
Coluna de etiqueta qualquer Seleção de Colunas Coluna de etiqueta
Métrica para medir o desempenho para a classificação Lista Tipo métrico de classificação binária Precisão Selecione a métrica utilizada para avaliar modelos de classificação
Métrica para medir o desempenho para regressão Lista Tipo RegressãoMétrico Erro absoluto médio Selecione a métrica utilizada para avaliar modelos de regressão

Saídas

Nome Tipo Descrição
Varrer os resultados Tabela de Dados Métrica de resultados para varredura de parâmetros corre
Melhor modelo treinado Interface ILearner Modelo com melhor desempenho no conjunto de dados de treino

Ver também

Lista de Módulos A-Z
Comboio
Modelo de validação cruzada