Qual è la differenza tra iperparametri del modello e parametri del modello?


28

Ho notato che termini come iperparametro del modello e parametro del modello sono stati usati in modo intercambiabile sul web senza un chiarimento preventivo. Penso che questo sia errato e necessita di spiegazioni. Prendi in considerazione un modello di apprendimento automatico, un classificatore o riconoscitore di immagini basato su SVM / NN / NB, qualsiasi cosa ti venga in mente.

Quali sono gli iperparametri e i parametri del modello?
Dai i tuoi esempi per favore.


3
Andrew Ng elabora la differenza tra parametri e iperparametri. coursera.org/learn/neural-networks-deep-learning/lecture/TBvb5/…
Divyanshu Shekhar

Risposte:


27

Iperparametri e parametri sono spesso usati in modo intercambiabile, ma c'è una differenza tra loro. Chiamate qualcosa un 'iperparametro' se non può essere appreso direttamente dallo stimatore. Tuttavia, "parametri" è un termine più generale. Quando dici "passare i parametri al modello", generalmente significa una combinazione di iperparametri insieme ad altri parametri che non sono direttamente correlati allo stimatore ma sono richiesti per il tuo modello.

Ad esempio, supponiamo che stiate costruendo un classificatore SVM 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) 

Nel codice sopra riportato un'istanza di SVM è il tuo stimatore per il tuo modello per il quale gli iperparametri, in questo caso, sono Ce kernel. Ma il tuo modello ha un altro parametro che non è un iperparametro e cioè random_state.


Questa risposta implica che random_stateè un parametro. Penso che questo sia fuorviante, perché (vedi altre risposte); un parametro viene appreso dal modello , mentre l'iperparametro viene specificato da noi ; come random_state=33. Ma random_statenon è nemmeno un iperparametro, perché non esiste un valore migliore per random_state; vedi la discussione su Jason Brownlee qui
The Red Pea,

21

Oltre alla risposta sopra.

I parametri del modello sono le proprietà dei dati di allenamento appresi durante l'allenamento dal classificatore o da altri modelli ml. Ad esempio, nel caso di un'attività NLP: frequenza delle parole, lunghezza della frase, distribuzione del sostantivo o del verbo per frase, numero di n-grammi di carattere specifici per parola, diversità lessicale, ecc. I parametri del modello differiscono per ciascun esperimento e dipendono dal tipo di dati e compiti a portata di mano.

Iperparametri modello , d'altro canto, sono comuni per modelli simili e non possono essere appresi durante l'allenamento ma sono impostati in anticipo. Un set tipico di iperparametri per NN include il numero e la dimensione dei livelli nascosti, lo schema di inizializzazione del peso, la frequenza di apprendimento e il suo decadimento, il dropout e la soglia di clipping del gradiente, ecc.


7

Gli iperparametri sono quelli che forniamo al modello, ad esempio: numero di nodi e livelli nascosti, funzioni di input, velocità di apprendimento, funzione di attivazione ecc. Nella rete neurale, mentre i parametri sono quelli che verrebbero appresi dalla macchina come pesi e pregiudizi .


5

Nell'apprendimento automatico, un modello con parametri e iperparametri appare come,M

YMH(Φ|D)

dove sono parametri e H sono iperparametri. D indica i dati di allenamento e Y i dati di output (etichette di classe in caso di attività di classificazione).ΦHDY

L'obiettivo durante l'allenamento è quello di trovare stima dei parametri Φ che ottimizza qualche funzione di perdita L abbiamo specificato. Poiché, modello M e la perdita di funzione L si basano su H , quindi le conseguenti parametri Φ dipendono anch'esse dalla iper-parametri H .Φ^LMLHΦH

Gli iperparametri non vengono "appresi" durante l'allenamento, ma non significa che i loro valori siano immutabili. Tipicamente, i iper-parametri sono fissi e pensiamo semplicemente del modello M , invece di M H . Qui, gli iperparametri possono anche essere considerati parametri a priori.HMMH

La fonte di confusione deriva dall'uso di e modifica dei parametri iper- H durante l'allenamento di routine in aggiunta a, ovviamente, i parametri Phi . Esistono potenzialmente diverse motivazioni per modificare l' H durante l'allenamento. Un esempio potrebbe essere quello di modificare il tasso di apprendimento durante l'allenamento per migliorare la velocità e / o la stabilità della routine di ottimizzazione.MHHΦ^H

Il punto importante di distinzione è che, il risultato, per esempio etichetta predizione, è basato su parametri del modello Φ e non le iper-parametri H .YpredΦH

La distinzione tuttavia ha avvertenze e di conseguenza le linee sono sfocate. Si consideri ad esempio il compito del clustering, in particolare Gaussian Mixture Modeling (GMM). I parametri qui impostati sono , dove ˉ μ è impostato su N cluster significa e ˉ σ è impostato su N deviazioni standard, per N kernel gaussiani.Φ={μ¯,σ¯}μ¯Nσ¯NN

Potresti aver intuitivamente riconosciuto l'iperparametro qui. E 'il numero di cluster . Quindi H = { N } . Tipicamente, convalida dei cluster viene utilizzato per determinare N priori, utilizzando un piccolo sottocampione dei dati D . Tuttavia, potrei anche modificare il mio algoritmo di apprendimento dei modelli di miscele gaussiane per modificare il numero di kernel N durante l'allenamento, sulla base di alcuni criteri. In questo scenario, l'iperparametro, N diventa parte dell'insieme di parametri Φ = { ˉ μ , ˉ σ , N } .NH={N}NDNNΦ={μ¯,σ¯,N}

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

ML


3

In parole semplificate,

I parametri del modello sono qualcosa che un modello impara da solo. Ad esempio, 1) Pesi o coefficienti di variabili indipendenti nel modello di regressione lineare. 2) Pesi o coefficienti di variabili indipendenti SVM. 3) Dividi punti nell'albero decisionale.

Gli iperparametri del modello vengono utilizzati per ottimizzare le prestazioni del modello. Ad esempio, 1) Kernel e slack in SVM. 2) Valore di K in KNN. 3) Profondità dell'albero negli alberi decisionali.


Non hanno necessariamente nulla a che fare con l'ottimizzazione di un modello. Gli hyperparam sono solo parametri del processo di costruzione del modello.
Sean Owen,

0

I parametri del modello vengono stimati automaticamente dai dati e gli iperparametri del modello vengono impostati manualmente e vengono utilizzati nei processi per consentire la stima dei parametri del modello.

Gli iperparametri del modello sono spesso indicati come parametri perché sono le parti dell'apprendimento automatico che devono essere impostate manualmente e messe a punto.

Fondamentalmente, i parametri sono quelli che il “modello” usa per fare previsioni ecc. Ad esempio, i coefficienti di peso in un modello di regressione lineare. Gli iperparametri sono quelli che aiutano nel processo di apprendimento. Ad esempio, numero di cluster in K-medie, fattore di restringimento in Ridge Regressione. Non compariranno nel pezzo di previsione finale, ma hanno una grande influenza su come sarebbero i parametri dopo la fase di apprendimento.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.