Apa perbedaan antara model hyperparameters dan parameter model?

28

Saya telah memperhatikan bahwa istilah seperti model hyperparameter dan parameter model telah digunakan secara bergantian di web tanpa klarifikasi sebelumnya. Saya pikir ini salah dan perlu penjelasan. Pertimbangkan model pembelajaran mesin, classificator berbasis SVM / NN / NB atau pengenal gambar, apa saja yang pertama kali muncul dalam pikiran.

Apa hyperparameter dan parameter model?
Tolong berikan contoh Anda.

mineral
sumber
3
Andrew Ng menguraikan perbedaan antara parameter dan hiperparameter. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Jawaban:

27

Hyperparameter dan parameter sering digunakan secara bergantian tetapi ada perbedaan di antara mereka. Anda menyebut sesuatu 'hyperparameter' jika tidak dapat dipelajari dalam estimator secara langsung. Namun, 'parameter' adalah istilah yang lebih umum. Saat Anda mengatakan 'meneruskan parameter ke model', umumnya berarti kombinasi hyperparameters bersama dengan beberapa parameter lain yang tidak terkait langsung dengan estimator Anda tetapi diperlukan untuk model Anda.

Sebagai contoh, misalkan Anda sedang membangun classifier SVM di 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) 

Dalam kode di atas contoh SVM adalah estimator Anda untuk model Anda yang hyperparameter, dalam hal ini, adalah Cdan kernel. Tetapi model Anda memiliki parameter lain yang bukan hiperparameter dan itu random_state.

Nain
sumber
Jawaban ini menyiratkan random_stateadalah parameter. Saya pikir ini menyesatkan, karena (lihat jawaban lain); parameter dipelajari oleh model , sedangkan hyperparameter ditentukan oleh kami ; seperti random_state=33. Tapi, random_stateini juga bukan hiperparameter, karena tidak ada nilai terbaik untuk random_state; lihat diskusi Jason Brownlee di sini
The Red Pea
21

Selain jawaban di atas.

Parameter model adalah properti dari data pelatihan yang dipelajari selama pelatihan oleh classifier atau model ml lainnya. Misalnya dalam kasus beberapa tugas NLP: frekuensi kata, panjang kalimat, distribusi kata benda atau kata kerja per kalimat, jumlah karakter spesifik n-gram per kata, keragaman leksikal, dll. Parameter model berbeda untuk setiap percobaan dan bergantung pada jenis data dan tugas yang dihadapi.

Model hyperparameters , di sisi lain, umum untuk model yang sama dan tidak dapat dipelajari selama pelatihan tetapi ditetapkan sebelumnya. Seperangkat hiperparameter untuk NN meliputi jumlah dan ukuran lapisan tersembunyi, skema inisialisasi bobot, laju pembelajaran dan peluruhannya, ambang guntingan clout dan gradien, dll.

mineral
sumber
7

Parameter hiper adalah parameter yang kami suplai ke model, misalnya: jumlah Node dan Lapisan tersembunyi, fitur input, Tingkat Pembelajaran, Fungsi Aktivasi dll di Jaringan Saraf Tiruan, sedangkan Parameter adalah yang akan dipelajari oleh mesin seperti Bobot dan Bias .

Lakshmi Prasad Y
sumber
5

Dalam pembelajaran mesin, model M dengan parameter dan parameter hiper seperti,

YMH(Φ|D)

di mana adalah parameter dan H adalah parameter-hiper. D adalah data pelatihan dan YΦHDY adalah data output (label kelas jika tugas klasifikasi).

Φ^LMLHΦH .

HMMH . Di sini, parameter-hyper juga dapat dianggap sebagai parameter a-priori.

MHHΦ^H selama pelatihan. Contohnya adalah mengubah tingkat pembelajaran selama pelatihan untuk meningkatkan kecepatan dan / atau stabilitas rutin optimasi.

YpredΦH .

Φ={μ¯,σ¯}μ¯Nσ¯NN Gaussian kernel.

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

dDGMM(μ¯,σ¯)NNddμσN tidak secara eksplisit terlibat di sini, jadi ini bisa dibilang bukan 'benar-benar' parameter model.

ML

Stardust dinamis
sumber
3

Dengan kata-kata yang disederhanakan,

Parameter Model adalah sesuatu yang dipelajari sendiri oleh model. Misalnya, 1) Bobot atau Koefisien variabel independen dalam model regresi linier. 2) Bobot atau Koefisien variabel independen SVM. 3) Split poin dalam Decision Tree.

Model hiper-parameter digunakan untuk mengoptimalkan kinerja model. Sebagai contoh, 1) Kernel dan slack di SVM. 2) Nilai K dalam KNN. 3) Kedalaman pohon dalam pohon Keputusan.

Manju Savanth
sumber
Mereka tidak harus ada hubungannya dengan mengoptimalkan model. Hyperparams hanyalah parameter untuk proses pembangunan model.
Sean Owen
0

Parameter model diperkirakan dari data secara otomatis dan model hyperparameter diatur secara manual dan digunakan dalam proses untuk membantu memperkirakan parameter model.

Model hyperparameter sering disebut sebagai parameter karena mereka adalah bagian dari pembelajaran mesin yang harus diatur secara manual dan disetel.

Pada dasarnya, parameter adalah parameter yang digunakan "model" untuk membuat prediksi dll. Misalnya, koefisien bobot dalam model regresi linier. Hyperparameter adalah yang membantu proses pembelajaran. Misalnya, jumlah cluster di K-Means, faktor penyusutan dalam Ridge Regression. Mereka tidak akan muncul di bagian prediksi akhir, tetapi mereka memiliki pengaruh besar pada bagaimana parameter akan terlihat setelah langkah pembelajaran.

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

Prhld
sumber