Ajustar os hiperparâmetros de modelo
Este artigo descreve como usar o componente 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 componente 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.
Ostermos e condiões doparâmetro do hiperparâmetropodem ser confusos. Osparâmetrosdo modelo são o quais você definiu no painel direito do componente. Basicamente, este componente executa uma varredura do parâmetro sobre as configurações do parâmetro especificadas. Ele aprende um desempenho de fluxo otimizado do conjunto dehiperparâ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 deajuste.
O componente 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 serem usados. Em seguida, permita que o componente Itere sobre várias combinações. O componente mede a precisão até localizar um modelo "melhor". Com a maioria dos componentes 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 componente Ajustar os Hiperparâmetros de Modelo.
Adicione o componente Ajustar os Hiperparâmetros de Modelo ao pipeline no designer.
Conecte um modelo não treinado à entrada à esquerda.
Observação
Os Ajustes dos Hiperparâmetros de Modelosó podem ser conectados aos componentes de algoritmos de aprendizado de máquina internos e não podem dar suporte ao modelo personalizado criado em Criar Modelo do Python.
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.
No painel à direita de ajustar os hiperparâmetros de modelo, escolha um valor para omodo 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 componente 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 componente 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 componente 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.
ParaRótulos de Coluna,abra o seletor da coluna para escolher um único rótuo de coluna.
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.
ParaClassificação, escolha uma única métrica a ser usada para classificar os modelos.
Sempre que você executa uma varredura de parâmetro, o componente calcula todas as métricas aplicáveis para o tipo de modelo e as retorna no relatório deresultados de varredura. O componente 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.
Para Semente aleatória, insira um número inteiro como um estado de gerador de número pseudoaleatório usado para selecionar aleatoriamente valores de parâmetro em um intervalo predefinido. Esse parâmetro só será eficaz se o modo de limpeza de parâmetro for de varredura aleatória.
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 componente e selecionar Visualizar ou clicar com o botão direito do mouse na porta de saída à esquerda do componente a ser visualizado.
OsResultados da varreduraincluem 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 componente Treinar modelo. Escolha o ícone Registrar conjunto de dados para salvá-lo como um componente 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 componente 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 componente 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 Únicamé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.
APrecisãoé a proporção dos resultados verdadeiros com os resultados positivos.
Recall é a fração de todos os resultados corretos sobre todos os resultados.
APontuaçã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 oerroindica a distância do valor previsto do true value. Muitas vezes é abreviado comoMAE.
Erro ao quadrado da média raizmede a média dos quadrados dos erros e, em seguida, usa a raiz desse valor. Muitas vezes é abreviado comoRMSE.
Erro absoluto relativorepresenta o erro como uma porcentagem do valor verdadeiro.
Erro quadrado relativo (RSE) normalize-o dividindo pelo erro quadrado total dos valores previstos.
OCoeficiente 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 der2 ,R2 ou r-quadrado.
Os componentes 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 componentes disponíveis no Azure Machine Learning.