logo

Hiperparâmetros em aprendizado de máquina

Hiperparâmetros em aprendizado de máquina são aqueles parâmetros definidos explicitamente pelo usuário para controlar o processo de aprendizado. Esses hiperparâmetros são utilizados para melhorar o aprendizado do modelo, e seus valores são definidos antes de iniciar o processo de aprendizado do modelo.

Hiperparâmetros em aprendizado de máquina

Neste tópico, vamos discutir um dos conceitos mais importantes do aprendizado de máquina, ou seja, hiperparâmetros, seus exemplos, ajuste de hiperparâmetros, categorias de hiperparâmetros, como o hiperparâmetro é diferente do parâmetro no aprendizado de máquina? Mas antes de começar, vamos primeiro entender o hiperparâmetro.

O que são hiperparâmetros?

Em Machine Learning/Deep Learning, um modelo é representado por seus parâmetros. Em contraste, um processo de treinamento envolve a seleção dos melhores/ótimos hiperparâmetros que são usados ​​pelos algoritmos de aprendizagem para fornecer o melhor resultado. Então, quais são esses hiperparâmetros? A resposta é, ' Hiperparâmetros são definidos como parâmetros explicitamente definidos pelo usuário para controlar o processo de aprendizagem.

Aqui, o prefixo 'hiper' sugere que os parâmetros são parâmetros de nível superior usados ​​no controle do processo de aprendizagem. O valor do hiperparâmetro é selecionado e definido pelo engenheiro de aprendizado de máquina antes que o algoritmo de aprendizado comece a treinar o modelo. Portanto, estes são externos ao modelo e seus valores não podem ser alterados durante o processo de treinamento .

Sintaxe do git pull

Alguns exemplos de hiperparâmetros em aprendizado de máquina

  • O algoritmo k em kNN ou K-Nearest Neighbor
  • Taxa de aprendizagem para treinar uma rede neural
  • Proporção de divisão trem-teste
  • Tamanho do batch
  • Número de épocas
  • Ramos na árvore de decisão
  • Número de clusters no algoritmo de cluster

Diferença entre parâmetro e hiperparâmetro?

Sempre há uma grande confusão entre Parâmetros e hiperparâmetros ou hiperparâmetros de modelo. Então, para esclarecer essa confusão, vamos entender a diferença entre os dois e como eles se relacionam.

Parâmetros do modelo:

Os parâmetros do modelo são variáveis ​​de configuração internas ao modelo e um modelo as aprende por conta própria. Por exemplo , W Pesos ou Coeficientes de variáveis ​​independentes no modelo de regressão Linear . ou Pesos ou coeficientes de variáveis ​​independentes em SVM, peso e vieses de uma rede neural, centroide de cluster em cluster. Alguns pontos-chave para parâmetros do modelo são os seguintes:

  • Eles são usados ​​pelo modelo para fazer previsões.
  • Eles são aprendidos pelo modelo a partir dos próprios dados
  • Geralmente, eles não são definidos manualmente.
  • Eles são parte do modelo e a chave para um algoritmo de aprendizado de máquina.

Hiperparâmetros do modelo:

Hiperparâmetros são aqueles parâmetros definidos explicitamente pelo usuário para controlar o processo de aprendizagem. Alguns pontos-chave para parâmetros do modelo são os seguintes:

  • Geralmente são definidos manualmente pelo engenheiro de aprendizado de máquina.
  • Não é possível saber o melhor valor exato dos hiperparâmetros para um determinado problema. O melhor valor pode ser determinado pela regra prática ou por tentativa e erro.
  • Alguns exemplos de hiperparâmetros são a taxa de aprendizagem para treinar uma rede neural, K no algoritmo KNN,

Categorias de hiperparâmetros

Em termos gerais, os hiperparâmetros podem ser divididos em duas categorias, que são fornecidas abaixo:

    Hiperparâmetro para otimização Hiperparâmetro para modelos específicos

Hiperparâmetro para otimização

O processo de seleção dos melhores hiperparâmetros a serem usados ​​é conhecido como ajuste de hiperparâmetros, e o processo de ajuste também é conhecido como otimização de hiperparâmetros. Parâmetros de otimização são usados ​​para otimizar o modelo.

Hiperparâmetros em aprendizado de máquina

Alguns dos parâmetros de otimização populares são fornecidos abaixo:

    Taxa de Aprendizagem:A taxa de aprendizagem é o hiperparâmetro em algoritmos de otimização que controla o quanto o modelo precisa mudar em resposta ao erro estimado para cada vez que os pesos do modelo são atualizados. É um dos parâmetros cruciais na construção de uma rede neural e também determina a frequência de verificação cruzada com os parâmetros do modelo. Selecionar a taxa de aprendizagem otimizada é uma tarefa desafiadora porque se a taxa de aprendizagem for muito menor, poderá retardar o processo de treinamento. Por outro lado, se a taxa de aprendizagem for muito grande, poderá não otimizar o modelo adequadamente.

Nota: A taxa de aprendizagem é um hiperparâmetro crucial para otimizar o modelo, portanto, se houver necessidade de ajustar apenas um único hiperparâmetro, sugere-se ajustar a taxa de aprendizagem.

    Tamanho do batch:Para aumentar a velocidade do processo de aprendizagem, o conjunto de treinamento é dividido em diferentes subconjuntos, conhecidos como lote. Número de épocas: Uma época pode ser definida como o ciclo completo de treinamento do modelo de aprendizado de máquina. Epoch representa um processo de aprendizagem iterativo. O número de épocas varia de modelo para modelo, e vários modelos são criados com mais de uma época. Para determinar o número correto de épocas, um erro de validação é levado em consideração. O número de épocas é aumentado até que haja uma redução no erro de validação. Se não houver melhoria no erro de redução para as épocas consecutivas, então indica parar de aumentar o número de épocas.

Hiperparâmetro para modelos específicos

Os hiperparâmetros envolvidos na estrutura do modelo são conhecidos como hiperparâmetros para modelos específicos. Eles são fornecidos abaixo:

    Várias unidades ocultas:As unidades ocultas fazem parte das redes neurais, que se referem aos componentes que compõem as camadas de processadores entre as unidades de entrada e saída em uma rede neural.

É importante especificar o hiperparâmetro do número de unidades ocultas para a rede neural. Deve estar entre o tamanho da camada de entrada e o tamanho da camada de saída. Mais especificamente, o número de unidades ocultas deve ser 2/3 do tamanho da camada de entrada, mais o tamanho da camada de saída.

Para funções complexas, é necessário especificar o número de unidades ocultas, mas não deve ajustar demais o modelo.

    Número de camadas:Uma rede neural é composta de componentes dispostos verticalmente, chamados de camadas. Existem principalmente camadas de entrada, camadas ocultas e camadas de saída . Uma rede neural de 3 camadas oferece melhor desempenho do que uma rede de 2 camadas. Para uma rede neural convolucional, um número maior de camadas cria um modelo melhor.

Conclusão

Hiperparâmetros são os parâmetros definidos explicitamente para controlar o processo de aprendizagem antes de aplicar um algoritmo de aprendizado de máquina a um conjunto de dados. Eles são usados ​​para especificar a capacidade de aprendizagem e a complexidade do modelo. Alguns dos hiperparâmetros são utilizados para a otimização dos modelos, como tamanho do lote, taxa de aprendizado, etc., e alguns são específicos dos modelos, como número de camadas ocultas, etc.