Jaka jest różnica między hiperparametrami modelu a parametrami modelu?


28

Zauważyłem, że takie terminy, jak hiperparametr modelu i parametr modelu zostały użyte zamiennie w sieci bez wcześniejszego wyjaśnienia. Myślę, że jest to niepoprawne i wymaga wyjaśnienia. Rozważ model uczenia maszynowego, klasyfikator oparty na SVM / NN / NB lub narzędzie do rozpoznawania obrazów - wszystko, co przyjdzie ci do głowy.

Jakie są hiperparametry i parametry modelu?
Podaj przykłady.


3
Andrew Ng opracowuje różnicę między parametrami a hiperparametrami. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Odpowiedzi:


27

Hiperparametry i parametry są często używane zamiennie, ale istnieje między nimi różnica. Nazywasz coś „hiperparametrem”, jeśli nie można go nauczyć bezpośrednio w estymatorze. Jednak „parametry” są terminem bardziej ogólnym. Kiedy mówisz „przekazanie parametrów do modelu”, oznacza to ogólnie kombinację hiperparametrów wraz z niektórymi innymi parametrami, które nie są bezpośrednio związane z estymatorem, ale są wymagane dla twojego modelu.

Załóżmy na przykład, że budujesz klasyfikator SVM w 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) 

W powyższym kodzie instancja SVM jest estymatorem twojego modelu, dla którego w tym przypadku są hiperparametry Ci kernel. Ale twój model ma inny parametr, który nie jest hiperparametrem i to znaczy random_state.


Ta odpowiedź sugeruje, że random_statejest parametrem. Myślę, że jest to mylące, ponieważ (zobacz inne odpowiedzi); model uczy się parametru , zaś hiperparametr jest określany przez nas ; jak random_state=33. Ale random_statenie jest też hiperparametrem, ponieważ nie ma najlepszej wartości random_state; patrz dyskusja Jasona Brownlee tutaj
The Red Pea

21

Oprócz powyższej odpowiedzi.

Parametry modelu to właściwości danych treningowych, których nauczy się podczas szkolenia klasyfikator lub inny model ml. Na przykład w przypadku niektórych zadań NLP: częstotliwość słowa, długość zdania, rozkład rzeczownika lub czasownika na zdanie, liczba określonych znaków n-gramów na słowo, różnorodność leksykalna itp. Parametry modelu różnią się dla każdego eksperymentu i zależą od rodzaju dane i zadania pod ręką.

Z drugiej strony hiperparametry są wspólne dla podobnych modeli i nie można ich nauczyć podczas treningu, ale są ustawiane wcześniej. Typowy zestaw hiperparametrów dla NN obejmuje liczbę i rozmiar ukrytych warstw, schemat inicjowania ciężaru, szybkość uczenia się i jego zanikanie, próg zaniku i progu obcinania gradientu itp.


7

Hiperparametry to te, które dostarczamy do modelu, na przykład: liczba ukrytych węzłów i warstw, funkcje wejściowe, szybkość uczenia się, funkcja aktywacji itp. W sieci neuronowej, podczas gdy parametry to takie, których nauczyłaby się maszyna, takie jak Wagi i Biases .


5

W uczeniu maszynowym wygląda model z parametrami i hiperparametrami,M.

YM.H.(Φ|re)

gdzie to parametry, a H to hiperparametry. D to dane treningowe, a Y to dane wyjściowe (etykiety klas w przypadku zadania klasyfikacyjnego).ΦH.reY

Celem podczas treningu jest znalezienie oszacowania parametrów cp , która optymalizuje jakąś funkcję strata L mamy określony. Ponieważ modelu M i utraty funkcji L są oparte na H , wtedy wynikające z tego parametry Φ zależą także od hiperparametrów H .Φ^L.M.L.H.ΦH.

H.M.M.H.

M.H.H.Φ^H.

YprmireΦH.

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

N.H.={N.}N.reN.N.Φ={μ¯,σ¯,N.}

Należy jednak zauważyć, że efekt, lub przewidywane wartości dla punktów danych w danych D jest oparty na G M M ( ˉ ľ , ˉ Ď ) a nie N . Oznacza to, że każde z N jąder Gaussa wniesie pewną wartość prawdopodobieństwa do d na podstawie odległości d od ich odpowiedniego μ i własnego σ . „Parametr” N nie jest tu wyraźnie uwzględniony, więc prawdopodobnie nie jest „tak naprawdę” parametrem modelu.reresolM.M.(μ¯,σ¯)N.N.rereμσN.

M.L.


3

Upraszczając,

Parametry modelu są czymś, czego sam uczy się model. Na przykład 1) Wagi lub współczynniki zmiennych niezależnych w modelu regresji liniowej. 2) Wagi lub współczynniki zmiennych niezależnych SVM. 3) Punkty podziału w drzewie decyzyjnym.

Hiper-parametry modelu służą do optymalizacji wydajności modelu. Na przykład: 1) Jądro i luz w SVM. 2) Wartość K w KNN. 3) Głębokość drzewa w drzewach decyzyjnych.


Nie muszą one mieć nic wspólnego z optymalizacją modelu. Hyperparamy to tylko parametry procesu budowania modelu.
Sean Owen,

0

Parametry modelu są szacowane na podstawie danych automatycznie, a hiperparametry modelu są ustawiane ręcznie i są używane w procesach, aby pomóc oszacować parametry modelu.

Hiperparametry modelu są często nazywane parametrami, ponieważ są to części uczenia maszynowego, które należy ustawić ręcznie i dostroić.

Zasadniczo parametry są tymi, których „model” używa do prognozowania itp. Na przykład współczynniki masy w modelu regresji liniowej. Hiperparametry to te, które pomagają w procesie uczenia się. Na przykład liczba skupień w K-średnich, współczynnik skurczu w regresji grzbietu. Nie pojawią się w ostatecznej prognozie, ale mają duży wpływ na to, jak parametry będą wyglądać po kroku uczenia się.

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.