Qual é a diferença entre hiperparâmetros e parâmetros do modelo?


28

Percebi que termos como hiperparâmetro do modelo e parâmetro do modelo foram usados ​​alternadamente na Web, sem esclarecimentos prévios. Eu acho que isso está incorreto e precisa de explicação. Considere um modelo de aprendizado de máquina, um classificador ou reconhecedor de imagens baseado em SVM / NN / NB, apenas o que vier à mente.

Quais são os hiperparâmetros e parâmetros do modelo?
Dê seus exemplos, por favor.


3
Andrew Ng elabora a diferença entre parâmetros e hiperparâmetros. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Respostas:


27

Hiperparâmetros e parâmetros são frequentemente usados ​​de forma intercambiável, mas há uma diferença entre eles. Você chama algo de 'hiperparâmetro' se não puder ser aprendido diretamente no estimador. No entanto, 'parâmetros' é um termo mais geral. Quando você diz 'passando os parâmetros para o modelo', geralmente significa uma combinação de hiperparâmetros junto com outros parâmetros que não estão diretamente relacionados ao seu estimador, mas são necessários para o seu modelo.

Por exemplo, suponha que você esteja criando um classificador SVM no sklearn:

from sklearn import svm
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = svm.SVC(C =0.01, kernel ='rbf', random_state=33)
clf.fit(X, y) 

No código acima, uma instância do SVM é seu estimador para o seu modelo para o qual os hiperparâmetros, neste caso, são Ce kernel. Mas seu modelo tem outro parâmetro que não é um hiperparâmetro e é isso random_state.


Esta resposta implica random_stateé um parâmetro. Eu acho que isso é enganoso, porque (veja outras respostas); um parâmetro é aprendido pelo modelo , enquanto o hiperparâmetro é especificado por nós ; gosto random_state=33. Mas, random_statetambém não é um hiperparâmetro, porque não há melhor valor para random_state; veja a discussão de Jason Brownlee aqui
The Red Pea

21

Além da resposta acima.

Os parâmetros do modelo são as propriedades dos dados de treinamento aprendidos durante o treinamento pelo classificador ou outro modelo de ml. Por exemplo, no caso de alguma tarefa da PNL: frequência de palavras, comprimento da frase, distribuição de substantivos ou verbos por frase, o número de caracteres específicos n-gramas por palavra, diversidade lexical, etc. Os parâmetros do modelo diferem para cada experimento e dependem do tipo de dados e tarefas em mãos.

Os hiperparâmetros do modelo , por outro lado, são comuns para modelos semelhantes e não podem ser aprendidos durante o treinamento, mas são definidos previamente. Um conjunto típico de hiperparâmetros para NN inclui o número e o tamanho das camadas ocultas, o esquema de inicialização de peso, a taxa de aprendizado e seu decaimento, limiar de queda e gradiente de recorte, etc.


7

Hiper-parâmetros são aqueles que fornecemos ao modelo, por exemplo: número de Nós e Camadas ocultos, recursos de entrada, Taxa de Aprendizagem, Função de Ativação etc. na Rede Neural, enquanto Parâmetros são aqueles que seriam aprendidos pela máquina como Pesos e Viés .


5

No aprendizado de máquina, um modelo com parâmetros e hiperparâmetros se parece com,M

YMH(Φ|D)

onde são parâmetros e H são hiperparâmetros. D são dados de treinamento e Y são dados de saída (rótulos de classe no caso de tarefa de classificação).ΦHDY

O objetivo durante o treinamento é encontrar estimativa de parâmetros Φ que otimiza alguma função perda de L temos especificado. Uma vez que, modelo M e-função de perda G são baseados em H , em seguida, as consequentes parâmetros Φ também são dependentes de parâmetros hiper- H .Φ^euMeuHΦH

HMMH

MHHΦ^H

YpredΦH

Φ={μ¯,σ¯}μ¯Nσ¯NN

NH={N}NDNNΦ={μ¯,σ¯,N}

dDGMM(μ¯,σ¯)NNddμσN

Meu


3

Em palavras simplificadas,

Parâmetros do modelo são algo que um modelo aprende por si próprio. Por exemplo, 1) Pesos ou coeficientes de variáveis ​​independentes no modelo de regressão linear. 2) Pesos ou coeficientes de variáveis ​​independentes SVM. 3) Pontos de divisão na Árvore de Decisão.

Os hiperparâmetros do modelo são usados ​​para otimizar o desempenho do modelo. Por exemplo, 1) Kernel e folga no SVM. 2) Valor de K em KNN. 3) Profundidade da árvore nas árvores de decisão.


Eles não têm necessariamente nada a ver com a otimização de um modelo. Hyperparams são apenas parâmetros para o processo de construção do modelo.
21817 Sean Sean Owen

0

Os parâmetros do modelo são estimados a partir dos dados automaticamente e os hiperparâmetros do modelo são configurados manualmente e usados ​​nos processos para ajudar a estimar os parâmetros do modelo.

Os hiperparâmetros do modelo geralmente são chamados de parâmetros porque são as partes do aprendizado de máquina que devem ser definidas manualmente e ajustadas.

Basicamente, os parâmetros são os que o "modelo" usa para fazer previsões, etc. Por exemplo, os coeficientes de peso em um modelo de regressão linear. Hiperparâmetros são os que ajudam no processo de aprendizagem. Por exemplo, número de clusters em K-Means, fator de contração na regressão de cume. Eles não aparecerão na parte final da previsão, mas têm uma grande influência na aparência dos parâmetros após a etapa de aprendizado.

Consulte: https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.