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.
Odpowiedzi:
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:
W powyższym kodzie instancja SVM jest estymatorem twojego modelu, dla którego w tym przypadku są hiperparametry
C
ikernel
. Ale twój model ma inny parametr, który nie jest hiperparametrem i to znaczyrandom_state
.źródło
random_state
jest parametrem. Myślę, że jest to mylące, ponieważ (zobacz inne odpowiedzi); model uczy się parametru , zaś hiperparametr jest określany przez nas ; jakrandom_state=33
. Alerandom_state
nie jest też hiperparametrem, ponieważ nie ma najlepszej wartościrandom_state
; patrz dyskusja Jasona Brownlee tutajOpró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.
źródło
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 .
źródło
W uczeniu maszynowym wygląda model z parametrami i hiperparametrami,M.
gdzie to parametry, a H to hiperparametry. D to dane treningowe, a Y to dane wyjściowe (etykiety klas w przypadku zadania klasyfikacyjnego).Φ H. re Y
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.
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.re re G MM.( μ¯, σ¯) N. N. re re μ σ N.
źródło
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.
źródło
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/
źródło