ハイパーパラメータ(Hyperparameter)とは、モデルの学習プロセスを制御するパラメータで、学習前に人間が設定する必要があるものです。モデルの重み(パラメータ)がデータから学習されるのに対し、ハイパーパラメータは学習アルゴリズムの振る舞いを決定します。
代表的なハイパーパラメータ
学習率、バッチサイズ、エポック数、正則化の強度、ニューラルネットワークの層数・ユニット数、決定木の最大深さ、k-NNのk値、SVMのカーネルパラメータなどが代表的です。
| ひとことで言うと | 学習では決まらず、人が事前に指定する必要がある設定値のこと。 |
|---|---|
| 代表例 | 学習率、バッチサイズ、木の深さ、層の数、正則化の強さ。 |
| 注意点 | テストデータで調整してはいけない。必ず検証データで決める。 |
パラメータとの違い
パラメータ(重み、バイアス)はデータから自動的に学習される値であるのに対し、ハイパーパラメータは学習前に人間(または自動チューニング手法)が設定する値です。この区別は機械学習において非常に重要です。
1ハイパーパラメータ人が事前に決める
▶
2学習を開始設定に従って訓練
▶
3パラメータ学習で自動的に決まる重み
▶
4検証で評価設定の良し悪しを判断
↺ 設定を変えて1〜4をくり返し、最良の組み合わせを探す
適切な設定の重要性
ハイパーパラメータの設定はモデルの性能に大きく影響します。グリッドサーチ、ランダムサーチ、ベイズ最適化などの自動チューニング手法を用いて最適な値を探索するのが一般的です。