Was ist in einem Namen: Hyperparameter

19

In einer Normalverteilung haben wir also zwei Parameter: mean und varance . Im Buch Mustererkennung und maschinelles Lernen taucht plötzlich ein Hyperparameter in den Regularisierungsbegriffen der Fehlerfunktion auf.μσ2λ

Was sind Hyperparameter? Warum heißen sie so? Und wie unterscheiden sie sich intuitiv von Parametern im Allgemeinen?

cgo
quelle
3
Ich persönlich denke nur, dass es eine Epidemie von Menschen ist, die hyperaktiv werden. Hyper das, hyper das. Hypersphäre - es ist eine Kugel, d @ manit. Hören Sie auf, so hyperaktiv zu werden, nur weil die Dimension 3 überschreitet. Hyperparameter - es ist ein Parameter, d @ mnit Hierarchieebene angeben oder so. Wenn Sie ein Optimierungsproblem haben, schreiben Sie auf jeden Fall klar, über welche Parameter optimiert wird, und welche Einschränkungen es gibt (wenn es sich um eine mehrstufige Optimierung handelt, schreiben Sie dies heraus). Ich hoffe, ich wurde in diesem Kommentar nicht zu hyperaktiv.
Mark L. Stone
2
Ich habe immer "Hypersphäre" verwendet, um "eine Kugel mit einer Dimension" zu meinen, also scheint es zumindest in der Mathematik etwas zu bedeuten. Oder zumindest, wenn ich über Mathematik spreche. Ich werde mich jetzt beruhigen.
Matthew Drury

Antworten:

18

Der Begriff Hyperparameter ist ziemlich vage. Ich werde es verwenden, um auf einen Parameter zu verweisen, der sich auf einer höheren Hierarchieebene als die anderen Parameter befindet. Betrachten Sie als Beispiel ein Regressionsmodell mit einer bekannten Varianz (1 in diesem Fall).

yN(Xβ,ich)

und dann ein vor auf die parameter, zb

βN(0,λich)

Dabei bestimmt die Verteilung von und die Verteilung für . Wenn ich nur auf verweisen möchte, kann ich es den Parameter nennen, und wenn ich nur auf verweisen möchte , kann ich es den Hyperparameter nennen.& bgr; & bgr; y & bgr; & lgr;λββyβλ

Die Benennung wird komplizierter, wenn Parameter auf mehreren Ebenen angezeigt werden oder wenn es mehr hierarchische Ebenen gibt (und Sie den Begriff Hyperhyperparameter nicht verwenden möchten). Es ist am besten, wenn der Autor genau angibt, was gemeint ist, wenn er den Begriff "Hyperparameter" oder "Parameter" verwendet.

jaradniemi
quelle
Das ist eine schöne Erklärung. Ich stelle es mir jetzt als 'Zusammensetzung von Funktionen' vor. Zu übersetzen , was Sie in Symbole setzen, wird normalerweise mit einem Mittelwert verteilt X β , aber b e t a ist wiederum normalerweise so und so verteilt sind . DankeyXβbetein
cgo
10

Ein Hyperparameter ist einfach ein Parameter, der andere Parameter ganz oder teilweise beeinflusst. Sie lösen nicht direkt das Optimierungsproblem, mit dem Sie konfrontiert sind, sondern optimieren Parameter, die das Problem lösen können (daher der Hyperlink , da sie nicht Teil des Optimierungsproblems sind, sondern "Addons"). Für das, was ich gesehen habe, aber ich keinen Bezug haben, ist diese Beziehung unidirektionale (a Hyper nicht durch die Parameter beeinflusst werden kann es daher auch den Einfluss auf, hat hyper ). Sie werden normalerweise in Regularisierungs- oder Metaoptimierungsschemata eingeführt.

λμσμσλλμστλλμσ

Ich fand das Hyperparameterkonzept sehr nützlich für die Kreuzvalidierung, da es Sie an die Hierarchie der Parameter erinnert und Sie daran erinnert, dass Sie, wenn Sie immer noch (Hyper-) Parameter ändern, immer noch Kreuzvalidierungen durchführen und nicht verallgemeinern müssen Seien Sie vorsichtig mit Ihren Schlussfolgerungen (um zirkuläres Denken zu vermeiden).

mühsam
quelle
7

Die anderen Erklärungen sind etwas vage; Hier ist eine konkretere Erklärung, die dies verdeutlichen sollte.

Hyperparameter sind Parameter des Modells nur , nicht von dem physikalischen Prozess, der modelliert wird. Sie führen sie "künstlich" ein, damit Ihr Modell in Gegenwart endlicher Daten und / oder endlicher Rechenzeit "funktioniert" . Wenn Sie die unendliche Macht hätten, irgendetwas zu messen oder zu berechnen, würden Hyperparameter in Ihrem Modell nicht mehr existieren, da sie keinen physikalischen Aspekt des tatsächlichen Systems beschreiben würden.

Reguläre Parameter sind hingegen diejenigen, die das physikalische System beschreiben und nicht nur Artefakte modellieren.

Mehrdad
quelle
6

Es ist kein genau definierter Begriff, daher werde ich Ihnen eine weitere Definition geben, die mit der üblichen Verwendung vereinbar zu sein scheint.

Ein Hyperparameter ist eine Größe, die in einem Algorithmus für maschinelles Lernen geschätzt wird und nicht an der funktionalen Form der endgültigen Vorhersagefunktion teilnimmt.

Lassen Sie mich das mit einem Beispiel abwickeln, der Gratregression. In der Gratregression lösen wir das folgende Optimierungsproblem:

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

X,yX,y

f(X)=Xβ

λβλ

Matthew Drury
quelle
3

Wie @jaradniemi genau betont, stammt eine Verwendung des Begriffs Hyperparameter aus der hierarchischen oder mehrstufigen Modellierung, bei der Sie eine Kaskade statistischer Modelle verwenden, von denen eines über / unter dem anderen aufgebaut ist und die normalerweise bedingte Wahrscheinlichkeitsaussagen verwendet.

Dieselbe Terminologie kommt aber auch in anderen Kontexten mit unterschiedlichen Bedeutungen vor. Ich habe zum Beispiel gesehen, dass der Begriff Hyperparameter verwendet wurde, um sich auf die Parameter der Simulation (Lauflänge, Anzahl unabhängiger Replikationen, Anzahl interagierender Partikel in jeder Replikation usw.) eines stochastischen Modells zu beziehen, die nicht aus einer Mehrfachebene resultierten Modellieren.

Marcelo Ventura
quelle
1
FWIW Ich würde mich normalerweise auf die Lauflänge, die Anzahl der wechselwirkenden Partikel usw. als Abstimmungsparameter beziehen.
Jaradniemi
Genau. Für mich ist das eine adäquatere Wahl als Hyperparameter. Trotzdem klang es für andere auf anderen Wissensgebieten immer noch vernünftig genug.
Marcelo Ventura