モデルハイパーパラメーターやモデルパラメーターなどの用語は、事前に明確化することなくWeb上で交換可能に使用されていることに気付きました。これは間違いであり、説明が必要だと思います。機械学習モデル、SVM / NN / NBベースの分類器または画像認識器など、最初に思い浮かぶものを考えてみてください。
モデルのハイパーパラメーターとパラメーターは何ですか?
例を挙げてください。
モデルハイパーパラメーターやモデルパラメーターなどの用語は、事前に明確化することなくWeb上で交換可能に使用されていることに気付きました。これは間違いであり、説明が必要だと思います。機械学習モデル、SVM / NN / NBベースの分類器または画像認識器など、最初に思い浮かぶものを考えてみてください。
モデルのハイパーパラメーターとパラメーターは何ですか?
例を挙げてください。
回答:
多くの場合、ハイパーパラメーターとパラメーターは同じ意味で使用されますが、違いがあります。推定器内で直接学習できない場合、何かを「ハイパーパラメーター」と呼びます。ただし、「パラメーター」はより一般的な用語です。「パラメーターをモデルに渡す」と言うとき、それは一般に、ハイパーパラメーターと、推定器に直接関係しないがモデルに必要な他のパラメーターとの組み合わせを意味します。
たとえば、sklearnでSVM分類器を構築するとします。
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)
上記のコードではSVMのインスタンスは、モデルのためのハイパーためのあなたの推定であり、この場合には、あるC
とkernel
。しかし、モデルにはハイパーパラメーターではない別のパラメーターがありますrandom_state
。
random_state
は、パラメータであることを意味します。これは誤解を招くものだと思います(他の回答を参照)。パラメーターはモデルによって学習されますが、ハイパーパラメーターは私たちによって指定されます。のようなrandom_state=33
。ただし、にrandom_state
は最適な値がないため、ハイパーパラメーターでもありませんrandom_state
。こちらのジェイソンブラウンリーの議論をご覧ください
上記の答えに加えて。
モデルパラメーターは、分類器または他のmlモデルによってトレーニング中に学習されるトレーニングデータのプロパティです。たとえば、NLPタスクの場合:単語の頻度、文の長さ、文ごとの名詞または動詞の分布、単語ごとの特定の文字nグラムの数、語彙の多様性など。モデルパラメータは実験ごとに異なり、手元のデータとタスク。
一方、モデルハイパーパラメーターは、同様のモデルに共通しており、トレーニング中に学習することはできませんが、事前に設定されています。NNのハイパーパラメーターの典型的なセットには、非表示レイヤーの数とサイズ、重みの初期化スキーム、学習率とその減衰、ドロップアウトと勾配クリッピングしきい値などが含まれます。
ハイパーパラメーターは、モデルに提供するものです。たとえば、ニューラルネットワークの隠れノードとレイヤーの数、入力機能、学習率、アクティベーション関数などです。一方、パラメーターは、重みとバイアスのようなマシンによって学習されるものです。 。
機械学習では、パラメーターとハイパーパラメーターを持つモデルは次のようになります。
ここで、はパラメーターであり、Hはハイパーパラメーターです。Dはトレーニングデータ、Yは出力データ(分類タスクの場合はクラスラベル)です。
訓練中の目的は、パラメータの推定値を見つけることですΦ一部の損失関数の最適化L我々が指定されているが。モデルMと損失関数LはHに基づいているため、結果のパラメーターΦもハイパーパラメーターHに依存します。
ハイパーパラメーターは、トレーニング中は「学習」しませんが、値が不変であることを意味しません。通常、ハイパーパラメーターは固定されており、M HではなくモデルMについて単純に考えます。本明細書では、ハイパーパラメータもアプリオリパラメータと見なすことができる。
混乱の源はの使用に起因とハイパーパラメータの修正H、明らかに、に加えて、トレーニングルーチン中のパラメータΦを。トレーニング中にHを変更する動機はいくつかあります。例は、最適化ルーチンの速度および/または安定性を改善するために、トレーニング中に学習率を変更することです。
区別の重要なポイントは、結果、たとえばラベル予測、はハイパーパラメーターHではなくモデルパラメーターΦに基づいていることです。
ただし、区別には注意事項があり、その結果、線がぼやけます。たとえば、クラスタリングのタスク、特にガウス混合モデリング(GMM)を考えてみてください。ここで設定されるパラメータであり、、ˉ μがセットされているN個のクラスタ手段とˉ σの設定されているNのため、標準偏差Nガウスカーネル。
ここでハイパーパラメータを直感的に認識できたかもしれません。クラスターの数です。そうH = { N }。通常、クラスターの検証は、データDの小さなサブサンプルを使用して、N apriori を決定するために使用されます。ただし、ガウス混合モデルの学習アルゴリズムを変更して、トレーニング中に何らかの基準に基づいてカーネル数Nを変更することもできます。このシナリオでは、ハイパーパラメータは、Nは、パラメータのセットの一部となるΦ = { ˉ μ、ˉ σ、N }。
簡単に言えば、
モデルパラメータは、モデルが独自に学習するものです。たとえば、1)線形回帰モデルの独立変数の重みまたは係数。2)独立変数SVMの重みまたは係数。3)ディシジョンツリーの分割ポイント。
モデルのハイパーパラメーターは、モデルのパフォーマンスを最適化するために使用されます。たとえば、1)SVMのカーネルとスラック。2)KNNのKの値。3)決定木のツリーの深さ。
モデルパラメーターはデータから自動的に推定され、モデルハイパーパラメーターは手動で設定され、モデルパラメーターの推定に役立つプロセスで使用されます。
モデルハイパーパラメーターは、機械学習の一部であり、手動で設定して調整する必要があるため、パラメーターと呼ばれることがよくあります。
基本的に、パラメータは「モデル」が予測などを行うために使用するものです。たとえば、線形回帰モデルの重み係数です。ハイパーパラメーターは、学習プロセスを支援するものです。たとえば、K平均のクラスター数、リッジ回帰の収縮率などです。最終的な予測には表示されませんが、学習ステップ後のパラメーターの外観に大きな影響を及ぼします。
参照:https : //machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/