ハイパーパラメータ

Hyperparameter

ハイパーパラメータ(Hyperparameter)とは、モデルの学習プロセスを制御するパラメータで、学習前に人間が設定する必要があるものです。モデルの重み(パラメータ)がデータから学習されるのに対し、ハイパーパラメータは学習アルゴリズムの振る舞いを決定します。

代表的なハイパーパラメータ

学習率、バッチサイズ、エポック数、正則化の強度、ニューラルネットワークの層数・ユニット数、決定木の最大深さ、k-NNのk値、SVMのカーネルパラメータなどが代表的です。

表:ハイパーパラメータの要点まとめ
ひとことで言うと学習では決まらず、人が事前に指定する必要がある設定値のこと。
代表例学習率、バッチサイズ、木の深さ、層の数、正則化の強さ。
注意点テストデータで調整してはいけない。必ず検証データで決める。

パラメータとの違い

パラメータ(重み、バイアス)はデータから自動的に学習される値であるのに対し、ハイパーパラメータは学習前に人間(または自動チューニング手法)が設定する値です。この区別は機械学習において非常に重要です。

図:パラメータとの違い
1ハイパーパラメータ人が事前に決める
▶
2学習を開始設定に従って訓練
▶
3パラメータ学習で自動的に決まる重み
▶
4検証で評価設定の良し悪しを判断
↺ 設定を変えて1〜4をくり返し、最良の組み合わせを探す

適切な設定の重要性

ハイパーパラメータの設定はモデルの性能に大きく影響します。グリッドサーチ、ランダムサーチ、ベイズ最適化などの自動チューニング手法を用いて最適な値を探索するのが一般的です。