Visão geral do aprendizado de máquina com hiperparâmetros

Para qualquer modelo, precisamos de alguns parâmetros, o que ajuda a fornecer uma base para a solução do problema / análise e avaliação do modelo. Alguns desses parâmetros devem ser aprendidos com os dados e outros temos que definir explicitamente do nosso fim. Os parâmetros que podem ser aprendidos com os dados sem serem definidos explicitamente são chamados parâmetros de modelo. O parâmetro que é definido explicitamente pelo usuário é chamado Hyperparameters. Os hiperparâmetros também são parâmetros apenas do modelo, mas o termo hiperparâmetros é usado no aprendizado de máquina, para que possam ser facilmente distinguidos e não confundidos com os parâmetros do modelo aprendidos no conjunto de dados.

O que é aprendizado de máquina com hiperparâmetros?

Para a maioria das estruturas de aprendizado de máquina, os hiperparâmetros não possuem uma definição rigorosa. Esses hiperparâmetros controlam o sistema subjacente de um modelo que guia os parâmetros (modais) primários do modelo. Vamos tentar entender os hiperparâmetros com o seguinte exemplo.

  • Afinar o violino é muito crucial quando se está na fase de aprendizado, porque naquele momento cria-se conexões entre diferentes sentidos. Orelhas, dedos e olhos estão aprendendo violino ao mesmo tempo. Agora, no começo Acostumar-se ao som do violino fora do tom cria um gosto ruim do som, o que estraga toda a experiência de se apaixonar pelo processo de aprendizado do violino.
  • É por isso que o ajuste do violino pode realmente ajudar no processo de aprendizado do violino. Da mesma forma, o hiperparâmetro é um tipo de ajuste para o modelo de Machine Learning, a fim de dar a direção certa.
  • Os hiperparâmetros são geralmente definidos antes de aplicar um algoritmo de aprendizado de máquina a um conjunto de dados.
  • Agora, a próxima tarefa é qual deve ser o hiperparâmetro e qual deve ser o seu valor. Porque é preciso saber quais cordas são necessárias para o afinação e como afinar o violino antes de afiná-lo. O mesmo se aplica aos hiperparâmetros, precisamos definir quais hiperparâmetros e qual deve ser seu valor, basicamente depende de cada tarefa e de cada conjunto de dados.
  • Para entender isso, tomemos a perspectiva da otimização do modelo.
  • Na implementação do modelo de aprendizado de máquina, a otimização de modelo desempenha um papel vital. Há um bom número de ramos do aprendizado de máquina dedicados exclusivamente à otimização do modelo de aprendizado de máquina. É geralmente percebido que, para otimizar o modelo, precisamos modificar o código para que o erro possa ser minimizado.
  • No entanto, existem elementos ocultos que afetam a otimização do aprendizado de máquina que estão fora do modelo e têm uma grande influência no comportamento do modelo. Esses elementos ocultos são chamados de hiperparâmetros, são componentes críticos para a otimização de qualquer modelo de aprendizado de máquina.
  • Os hiperparâmetros são afinadores / configurações finas que controlam o comportamento de um modelo. Esses hiperparâmetros são definidos fora do modelo, mas têm um relacionamento direto com o desempenho do modelo. Os hiperparâmetros podem ser considerados ortogonais ao modelo.
  • O critério para definir um hiperparâmetro é muito flexível e abstrato. Certamente existem alguns hiperparâmetros como o número de camadas ocultas, a taxa de aprendizado de um modelo bem estabelecido e também algumas configurações que podem ser tratadas como hiperparâmetro para um modelo específico, como controlar a capacidade do modelo.
  • Há chances do algoritmo superajustar um modelo se os algoritmos aprenderem diretamente através das configurações. Como está claro, os hiperparâmetros não são aprendidos / ajustados através do conjunto de treinamento, portanto, o conjunto de teste ou validação é usado para a seleção de hiperparâmetros. Em geral, definimos diferentes valores de hiperparâmetro, aquele que funciona melhor com um conjunto de teste ou validação é considerado nosso melhor hiperparâmetro.

Categorias de Hiperparâmetro

Para diferentes tipos de conjuntos de dados e de acordo com o modelo, podemos ter diferentes hiperparâmetros para aumentar o desempenho do modelo. Em termos gerais, os hiperparâmetros podem ser classificados em duas categorias.

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

Vamos discutir cada um deles.

1. Hiperparâmetros para otimização

Como o nome sugere, esses hiperparâmetros são usados ​​para a otimização do modelo.

  • Taxa de Aprendizagem

Esse hiperparâmetro determina quanto os dados recém-adquiridos substituirão os dados disponíveis antigos. Se o valor desse hiperparâmetro for alto, a taxa de aprendizado mais alta não otimizará o modelo adequadamente, pois há chances de ele ultrapassar os mínimos. Por outro lado, se a taxa de aprendizado for muito menor, a convergência será muito lenta.

A taxa de aprendizado desempenha um papel crucial na otimização do desempenho do modelo, porque, em alguns casos, os modelos têm centenas de parâmetros (parâmetros do modelo) com curva de erro, a taxa de aprendizado decide a frequência da verificação cruzada com todos os parâmetros. Além disso, é difícil encontrar os mínimos locais de curvas de erro, porque eles geralmente têm curvas irregulares.

  • Tamanho do batch

Para acelerar o processo de aprendizado, o conjunto de treinamento é dividido em lotes diferentes. No caso do procedimento estocástico de treinamento do modelo, um pequeno lote é treinado, avaliado e retropropagado para ajustar os valores de todos os seus hiperparâmetros, o mesmo se repetindo para todo o conjunto de treinamento.

Se o tamanho do lote for maior que isso, aumentará o tempo de aprendizado e exigirá mais memória para processar a multiplicação da matriz. Se o tamanho do lote for menor, haverá mais ruído no cálculo do erro.

  • Número de épocas

A época representa um ciclo completo para os dados a serem aprendidos no Machine Learning. As épocas desempenham um papel muito importante no processo de aprendizado iterativo.

Um erro de validação é considerado para determinar o número certo de épocas. Pode-se aumentar o número de épocas, desde que haja uma redução em um erro de validação. Se o erro de validação não melhorar por épocas consecutivas, é um sinal para parar um número crescente de épocas. Também é conhecido como parada precoce.

2. Hiperparâmetros para modelos específicos

Alguns hiperparâmetros estão envolvidos na estrutura do próprio modelo. Alguns deles são os seguintes.

  • Número de unidades ocultas

É vital definir um número de unidades ocultas para redes neurais em modelos de aprendizado profundo. Esse hiperparâmetro é usado para definir a capacidade de aprendizado do modelo. para funções complexas, devemos definir um número de unidades ocultas, mas lembre-se de que isso não deve super ajuste ao modelo.

  • Número de Camadas

É óbvio que uma rede neural com 3 camadas oferecerá melhor desempenho do que a de 2 camadas. Aumentar mais de 3 não ajuda muito nas redes neurais. No caso da CNN, um número crescente de camadas melhora o modelo.

Conclusão

Os parâmetros de hiper são definidos explicitamente antes de aplicar um algoritmo de aprendizado de máquina a um conjunto de dados. Os hiperparâmetros são usados ​​para definir a complexidade de nível superior do modelo e a capacidade de aprendizado. Os hiperparâmetros também podem ser configurações para o modelo. Alguns hiperparâmetros são definidos para otimização dos modelos (tamanho do lote, taxa de aprendizado etc.) e outros são específicos para os modelos (número de camadas ocultas etc.).

Artigos recomendados

Este é um guia para o aprendizado de máquina com hiperparâmetros. Aqui discutimos a visão geral e o que é aprendizado de máquina com hiperparâmetros com suas categorias. Você também pode consultar os seguintes artigos para saber mais -

  1. Introdução ao aprendizado de máquina
  2. Aprendizado de máquina não supervisionado
  3. Tipos de algoritmos de aprendizado de máquina
  4. Aplicações de Machine Learning
  5. Implementação de redes neurais
  6. Top 6 Comparações entre CNN vs RNN

Categoria: