Quelle est la différence entre les hyperparamètres du modèle et les paramètres du modèle?

28

J'ai remarqué que des termes tels que hyperparamètre de modèle et paramètre de modèle ont été utilisés de manière interchangeable sur le Web sans clarification préalable. Je pense que c'est incorrect et a besoin d'explications. Considérez un modèle d'apprentissage automatique, un classificateur ou un reconnaisseur d'images basé sur SVM / NN / NB, tout ce qui vient à l'esprit.

Quels sont les hyperparamètres et les paramètres du modèle?
Donnez vos exemples s'il vous plait.

minéraux
la source
3
Andrew Ng élabore la différence entre les paramètres et les hyperparamètres. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Réponses:

27

Les hyperparamètres et les paramètres sont souvent utilisés de manière interchangeable, mais il existe une différence entre eux. Vous appelez quelque chose un «hyperparamètre» s'il ne peut pas être appris directement dans l'estimateur. Cependant, «paramètres» est un terme plus général. Lorsque vous dites «transmettre les paramètres au modèle», cela signifie généralement une combinaison d'hyperparamètres ainsi que d'autres paramètres qui ne sont pas directement liés à votre estimateur mais sont requis pour votre modèle.

Par exemple, supposons que vous construisez un classificateur SVM dans 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) 

Dans le code ci-dessus, une instance de SVM est votre estimateur pour votre modèle pour lequel les hyperparamètres, dans ce cas, sont Cet kernel. Mais votre modèle a un autre paramètre qui n'est pas un hyperparamètre et c'est le cas random_state.

Nain
la source
Cette réponse implique random_stateest un paramètre. Je pense que cela est trompeur, car (voir les autres réponses); un paramètre est appris par le modèle , tandis que l'hyperparamètre est spécifié par nous ; comme random_state=33. Mais ce random_staten'est pas non plus tout à fait un hyperparamètre, car il n'y a pas de meilleure valeur pour random_state; voir la discussion de Jason Brownlee ici
The Red Pea
21

En plus de la réponse ci-dessus.

Les paramètres du modèle sont les propriétés des données d'apprentissage qui sont apprises pendant l'apprentissage par le classificateur ou un autre modèle ml. Par exemple, dans le cas d'une tâche PNL: fréquence des mots, longueur de la phrase, distribution du nom ou du verbe par phrase, le nombre de n-grammes de caractères spécifiques par mot, diversité lexicale, etc. Les paramètres du modèle diffèrent pour chaque expérience et dépendent du type de données et tâche à portée de main.

Les hyperparamètres de modèle , en revanche, sont courants pour des modèles similaires et ne peuvent pas être appris pendant l'entraînement, mais ils sont définis au préalable. Un ensemble typique d'hyperparamètres pour NN comprend le nombre et la taille des couches cachées, le schéma d'initialisation du poids, le taux d'apprentissage et sa décroissance, le décrochage et le seuil d'écrêtage du gradient, etc.

minéraux
la source
7

Les hyper-paramètres sont ceux que nous fournissons au modèle, par exemple: nombre de nœuds et de couches cachés, caractéristiques d'entrée, fréquence d'apprentissage, fonction d'activation, etc. dans le réseau neuronal, tandis que les paramètres sont ceux qui seraient appris par la machine comme les poids et les biais .

Lakshmi Prasad Y
la source
5

En apprentissage automatique, un modèle avec des paramètres et des hyper-paramètres ressemble,M

YMH(Φ|D)

ΦHDY

Φ^LMLHΦH

HMMH

MHHΦ^H

YpredΦH

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

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

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

ML

Stardust dynamique
la source
3

En termes simplifiés,

Les paramètres de modèle sont quelque chose qu'un modèle apprend par lui-même. Par exemple, 1) Poids ou coefficients de variables indépendantes dans le modèle de régression linéaire. 2) Poids ou coefficients de variables indépendantes SVM. 3) Fractionner les points dans l'arbre de décision.

Les hyper-paramètres du modèle sont utilisés pour optimiser les performances du modèle. Par exemple, 1) Noyau et mou dans SVM. 2) Valeur de K en KNN. 3) Profondeur de l'arbre dans les arbres de décision.

Manju Savanth
la source
Ils n'ont absolument rien à voir avec l'optimisation d'un modèle. Les hyperparams ne sont que des paramètres du processus de construction de modèles.
Sean Owen
0

Les paramètres du modèle sont estimés automatiquement à partir des données et les hyperparamètres du modèle sont définis manuellement et sont utilisés dans les processus pour aider à estimer les paramètres du modèle.

Les hyperparamètres de modèle sont souvent appelés paramètres car ce sont les parties de l'apprentissage automatique qui doivent être définies manuellement et réglées.

Fondamentalement, les paramètres sont ceux que le «modèle» utilise pour faire des prédictions, etc. Par exemple, les coefficients de pondération dans un modèle de régression linéaire. Les hyperparamètres sont ceux qui aident au processus d'apprentissage. Par exemple, nombre de grappes dans K-Means, facteur de rétrécissement dans Ridge Regression. Ils n'apparaîtront pas dans la pièce de prédiction finale, mais ils ont une grande influence sur l'apparence des paramètres après l'étape d'apprentissage.

Référez-vous à: https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/

Prhld
la source