Contenu d'un nom: hyperparamètres

19

Donc dans une distribution normale, nous avons deux paramètres: la moyenne et la variance σ 2 . Dans le livre Pattern Recognition and Machine Learning , il apparaît tout à coup un hyperparamètre λ dans les termes de régularisation de la fonction d'erreur.μσ2λ

Que sont les hyperparamètres? Pourquoi sont-ils nommés comme tels? Et en quoi sont-ils intuitivement différents des paramètres en général?

cgo
la source
3
Personnellement, je pense simplement que c'est une épidémie de gens qui deviennent hyper. Hyper ceci, hyper cela. Hypersphère - c'est une sphère, d @ manit, arrêtez de devenir si hyper juste parce que la dimension dépasse 3. Hyperparamètre - c'est un paramètre, d @ mnit, arrêtez de devenir hyper juste parce que vous en avez plusieurs, et vous semblez en quelque sorte penser que vous devez indiquer le niveau hiérarchique ou quelque chose. Dans tous les cas, si vous avez un problème d'optimisation, indiquez clairement quels sont les paramètres optimisés et quelles contraintes (s'il s'agit d'une optimisation à plusieurs niveaux, expliquez-le). J'espère que je ne suis pas devenu trop hyper dans ce commentaire.
Mark L. Stone,
2
J'ai toujours utilisé "hypersphère" pour signifier "co-dimensionner une sphère", donc au moins en mathématiques, cela semble vouloir dire quelque chose. Ou du moins quand je parle de mathématiques. Je vais me calmer maintenant.
Matthew Drury

Réponses:

18

Le terme hyperparamètre est assez vague. Je vais l'utiliser pour faire référence à un paramètre qui se trouve à un niveau supérieur de la hiérarchie par rapport aux autres paramètres. Par exemple, considérons un modèle de régression avec une variance connue (1 dans ce cas)

yN(Xβ,I)

puis un prior sur les paramètres, par exemple

βN(0,λI)

Ici, détermine la distribution de β et β détermine la distribution de y . Quand je veux juste me référer à β, je peux l'appeler le paramètre et quand je veux me référer à λ , je peux l'appeler l'hyperparamètre.λββyβλ

La dénomination devient plus compliquée lorsque les paramètres apparaissent à plusieurs niveaux ou lorsqu'il existe des niveaux plus hiérarchiques (et que vous ne voulez pas utiliser le terme hyperhyperparameters). Il est préférable que l'auteur spécifie exactement ce que l'on entend lorsqu'il utilise le terme hyperparamètre ou paramètre d'ailleurs.

jaradniemi
la source
Ceci est une belle explication. Je l'imagine maintenant comme une «composition de fonctions-ish». Pour traduire ce que vous mettez dans les symboles, est Normalement distribué avec la moyenne X β , mais b e t a est à son tour, Normalement distribué tel ou tel. MerciyXβbeta
cgo
10

Un hyperparamètre est simplement un paramètre qui influe, en tout ou en partie, sur d'autres paramètres. Ils ne résolvent pas directement le problème d'optimisation auquel vous êtes confronté, mais optimisent plutôt les paramètres qui peuvent résoudre le problème (d'où l' hyper , car ils ne font pas partie du problème d'optimisation, mais sont plutôt des "addons"). Pour ce que j'ai vu, mais je n'ai aucune référence, cette relation est unidirectionnelle (un hyperparamètre ne peut pas être influencé par les paramètres sur lesquels il a une influence, donc aussi l' hyper ). Ils sont généralement introduits dans les schémas de régularisation ou de méta-optimisation.

Par exemple, votre paramètre peut influencer librement μ et σ pour ajuster le coût de régularisation (mais μ et σ n'ont aucune influence sur λ ). Ainsi, λ est un hyperparamètre pour μ et σ . Si vous aviez un paramètre τ supplémentaire influençant λ , ce serait un hyperparamètre pour λ , et un hyperhyperparamètre pour μ et σ (mais je n'ai jamais vu cette nomenclature, mais je ne pense pas que ce serait mal si je le voyais) .λμσμσλλμστλλμσ

J'ai trouvé le concept d'hyperparamètre très utile pour la validation croisée, car il vous rappelle la hiérarchie des paramètres, tout en vous rappelant que si vous modifiez toujours des (hyper-) paramètres, vous êtes toujours en cours de validation croisée et ne généralisez pas, vous devez donc restez prudent dans vos conclusions (pour éviter la pensée circulaire).

généreux
la source
7

Les autres explications sont un peu vagues; voici une explication plus concrète qui devrait le clarifier.

Les hyperparamètres sont des paramètres du modèle uniquement , et non du processus physique qui est modélisé. Vous les introduisez «artificiellement» pour faire «fonctionner» votre modèle en présence de données finies et / ou de temps de calcul finis . Si vous aviez un pouvoir infini pour mesurer ou calculer quoi que ce soit, les hyperparamètres n'existeraient plus dans votre modèle, car ils ne décriraient aucun aspect physique du système réel.

Les paramètres normaux, en revanche, sont ceux qui décrivent le système physique, et ne sont pas simplement des artefacts de modélisation.

Mehrdad
la source
6

Ce n'est pas un terme défini de manière précise, je vais donc vous donner une autre définition qui semble cohérente avec l'usage courant.

Un hyperparamètre est une quantité estimée dans un algorithme d'apprentissage automatique qui ne participe pas à la forme fonctionnelle de la fonction prédictive finale.

Permettez-moi de vous détendre avec un exemple, la régression de crête. Dans la régression de crête, nous résolvons le problème d'optimisation suivant:

β(λ)=argminβ((yXβ)t(yXβ)+λβtβ)
β=argminλ(yXβ(λ))t(yXβ(λ))

X,yX,y

f(X)=Xβ

λβλ

Matthew Drury
la source
3

Comme l'a souligné précisément @jaradniemi, une utilisation du terme hyperparamètre provient de la modélisation hiérarchique ou à plusieurs niveaux, où vous avez une cascade de modèles statistiques, l'un construit sur / sous les autres, en utilisant des énoncés de probabilité généralement conditionnels.

Mais la même terminologie apparaît dans d'autres contextes avec des significations différentes également. Par exemple, j'ai vu le terme hyperparamètre utilisé pour faire référence aux paramètres de la simulation (longueur courante, nombre de réplications indépendantes, nombre de particules en interaction dans chaque réplication, etc.) d'un modèle stochastique, qui ne résultait pas d'un multiniveau la modélisation.

Marcelo Ventura
la source
1
FWIW Je me réfère généralement à la longueur de course, au nombre de particules en interaction, etc. en tant que paramètres de réglage.
jaradniemi
Je suis d'accord. Pour moi, cela semble un choix plus adéquat que les hyperparamètres. Néanmoins, pour d'autres, dans d'autres domaines de la connaissance, cela semblait encore assez raisonnable.
Marcelo Ventura