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 -
- Introdução ao aprendizado de máquina
- Aprendizado de máquina não supervisionado
- Tipos de algoritmos de aprendizado de máquina
- Aplicações de Machine Learning
- Implementação de redes neurais
- Top 6 Comparações entre CNN vs RNN