Was ist der Unterschied zwischen Modellhyperparametern und Modellparametern?


28

Ich habe festgestellt , dass solche Begriffe wie Modell Hyper und Modellparameter haben , ohne vorherige Klärung austauschbar auf dem Netz verwendet. Ich denke, das ist falsch und muss erklärt werden. Betrachten Sie ein maschinelles Lernmodell, einen SVM / NN / NB-basierten Klassifikator oder einen Bilderkenner.

Was sind die Hyperparameter und Parameter des Modells?
Nennen Sie bitte Ihre Beispiele.


3
Andrew Ng arbeitet den Unterschied zwischen Parametern und Hyperparametern aus. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Antworten:


27

Hyper und Parameter werden oft synonym verwendet, aber es gibt einen Unterschied zwischen ihnen. Sie rufen etwas einen ‚Hyper‘, wenn es nicht direkt im Schätzer erlernt werden. "Parameter" ist jedoch ein allgemeinerer Begriff. Wenn Sie "Übergeben der Parameter an das Modell" sagen, bedeutet dies im Allgemeinen eine Kombination von Hyperparametern zusammen mit einigen anderen Parametern, die nicht direkt mit Ihrem Schätzer zusammenhängen, aber für Ihr Modell erforderlich sind.

Angenommen, Sie erstellen einen SVM-Klassifikator in 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) 

In dem obigen Code eine Instanz von SVM ist Ihr Schätzer für Ihr Modell für die die Hyper, in diesem Fall sind Cund kernel. Ihr Modell verfügt jedoch über einen anderen Parameter, der kein Hyperparameter ist random_state.


Diese Antwort impliziert, dass random_statees sich um einen Parameter handelt. Ich halte das für irreführend, weil (siehe andere Antworten); Ein Parameter wird vom Modell gelernt , während der Hyperparameter von uns angegeben wird . wie random_state=33. Aber es random_stateist auch kein Hyperparameter, da es keinen besten Wert für gibt random_state. siehe Jason Brownlee Diskussion hier
The Red Pea

21

Neben der Antwort oben.

Modellparameter sind die Eigenschaften der Trainingsdaten, die während des Trainings vom Klassifikator oder einem anderen ml-Modell gelernt werden. Zum Beispiel im Fall einer NLP-Aufgabe: Worthäufigkeit, Satzlänge, Nomen- oder Verbverteilung pro Satz, die Anzahl der spezifischen Zeichen n-Gramm pro Wort, lexikalische Vielfalt usw. Die Modellparameter unterscheiden sich für jedes Experiment und hängen von der Art ab Daten und Aufgabe zur Hand.

Modell-Hyperparameter hingegen sind für ähnliche Modelle üblich und können nicht während des Trainings gelernt werden, sondern werden im Voraus festgelegt. Ein typischer Satz von Hyperparametern für NN umfasst die Anzahl und Größe der verborgenen Schichten, das Gewichtungsinitialisierungsschema, die Lernrate und deren Abfall, die Ausfall- und Gradientenbeschneidungsschwelle usw.


7

Hyper-Parameter sind diejenigen, die wir dem Modell zur Verfügung stellen, zum Beispiel: Anzahl der verborgenen Knoten und Ebenen, Eingabefunktionen, Lernrate, Aktivierungsfunktion usw. im neuronalen Netzwerk, während Parameter diejenigen sind, die von der Maschine wie Gewichte und Vorspannungen gelernt werden .


5

M

YMH(Φ|D)

ΦHDY

Φ^LMLHΦH

HMMH

MHHΦ^H

YpredΦH

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

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

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

ML


3

In vereinfachten Worten,

Modellparameter werden von einem Modell selbst gelernt. Zum Beispiel 1) Gewichte oder Koeffizienten unabhängiger Variablen im linearen Regressionsmodell. 2) Gewichte oder Koeffizienten von unabhängigen Variablen SVM. 3) Punkte im Entscheidungsbaum teilen.

Modell-Hyperparameter werden verwendet, um die Modellleistung zu optimieren. Zum Beispiel 1) Kernel und Slack in SVM. 2) Wert von K in KNN. 3) Tiefe des Baumes in Entscheidungsbäumen.


Sie haben nicht unbedingt etwas mit der Optimierung eines Modells zu tun. Hyperparame sind nur Parameter für den Modellbildungsprozess.
Sean Owen

0

Modellparameter werden automatisch aus Daten geschätzt, und Modellhyperparameter werden manuell festgelegt und in Prozessen verwendet, um die Schätzung von Modellparametern zu unterstützen.

Modell-Hyperparameter werden oft als Parameter bezeichnet, da sie die Teile des maschinellen Lernens sind, die manuell eingestellt und abgestimmt werden müssen.

Grundsätzlich sind die Parameter diejenigen, die das „Modell“ verwendet, um Vorhersagen usw. zu treffen. Zum Beispiel die Gewichtungskoeffizienten in einem linearen Regressionsmodell. Hyperparameter sind diejenigen, die beim Lernprozess helfen. Beispiel: Anzahl der Cluster in K-Means, Schrumpfungsfaktor in Ridge Regression. Sie werden nicht in der endgültigen Vorhersage erscheinen, haben aber einen großen Einfluss darauf, wie die Parameter nach dem Lernschritt aussehen würden.

Siehe: https://machinelearningmastery.com/differenz zwischen-a- parameter-und-a- hyperparameter/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.