機械学習モデルの性能を左右する要素の中で、最も重要なもののひとつが ハイパーパラメータ(Hyperparameters) です。
それらは学習の方針・モデルの複雑性・汎化能力に深く関わり、適切に設定することでモデル性能は劇的に変化します。
本稿では、ハイパーパラメータの概念から、モデル別の種類、調整手法、実務的な最適化プロセスまで、体系的に詳しく解説します。
ハイパーパラメータとは何か
ハイパーパラメータとは、学習前に設定され、学習プロセスそのものをコントロールするパラメータです。
モデル内部で自動的に更新される「重み(weights)」「バイアス(bias)」とは異なり、ハイパーパラメータは外部から指定され、学習の進み方やモデルの表現力を根本的に規定します。
代表的な例
- 学習率(learning rate)
- エポック数(epochs)
- バッチサイズ(batch size)
- 木の深さ(max_depth)
- 正則化係数(λ など)
- ネットワークの層数やユニット数
なお、学習率スケジューラなど「学習中に変化するハイパーパラメータ」も存在しますが、本質的には「人間が設定する外部パラメータ」です。
多くのモデルに共通する主要ハイパーパラメータ
学習率(Learning Rate)
学習における1ステップの更新幅を決める最重要パラメータです。
- 大きい学習率:収束が速いが不安定になりやすい
- 小さい学習率:安定するが学習が遅く、局所解に陥ることもある
深層学習の性能は学習率に強く依存します。
エポック数(Epochs)
データセット全体を何回繰り返して学習するかを決めます。
- 少なすぎる → 未学習
- 多すぎる → 過学習のリスクが高まる
適切なエポック数はバリデーションデータのモニタリングで決定します。
バッチサイズ(Batch Size)
1 回の勾配計算に用いるサンプル数です。
| バッチ | 特徴 |
|---|---|
| 小さい | ノイズの多い勾配 → 汎化性能が高まることがある |
| 大きい | 安定した勾配 → 高速だが汎化が悪化する可能性 |
研究では “大きなバッチは一般に汎化が悪化する傾向がある” と報告されていますが、絶対的な法則ではなく、モデルや正則化の影響で変わります。
正則化(Regularization)
過学習を防ぐためにモデルの複雑さを制御する仕組み。
- L1 正則化(Lasso):重みを0にしやすく、特徴選択の効果がある
- L2 正則化(Ridge):重みを滑らかに抑える
- Dropout:ニューラルネットで一部のノードをランダムに無効化し過学習を防ぐ
過学習の起こりやすいモデルほど重要度が増します。
モデル種別の代表的ハイパーパラメータ
線形モデル(線形回帰・ロジスティック回帰)
- 正則化係数(λ) / C(scikit-learn では逆数)
- L1 / L2 ペナルティの選択
C 値が大きいほど正則化は弱くなります。
決定木(Decision Tree)
- max_depth(木の最大深さ)
- min_samples_split(分割に必要な最小サンプル数)
- min_samples_leaf(葉に必要なサンプル数)
深さが深いほど複雑になり、過学習のリスクが増加します。
ランダムフォレスト(Random Forest)
- n_estimators(木の本数)
- max_features(特徴量のサブセットサイズ)
- max_depth など
木を増やすと性能が向上するが、ある程度で頭打ちになります。
勾配ブースティング(GBDT・XGBoost・LightGBM)
GBDT 系はハイパーパラメータが非常に多様です。
代表例
| パラメータ | 役割 |
|---|---|
| learning_rate | 小さいほど精度が上がりやすいが木の本数が必要 |
| n_estimators | ブーストする木の総数 |
| max_depth | 木の深さ(モデルの複雑さ) |
| subsample | データのサンプリング率(過学習防止) |
| colsample_bytree | 特徴量のサンプリング率 |
| reg_alpha / reg_lambda | L1 / L2 正則化 |
特に XGBoost・LightGBM は学習率と正則化の影響が大きいモデルです。
ニューラルネットワーク(Neural Networks / Deep Learning)
主なハイパーパラメータ
- 層の数(深さ)
- ユニット数(幅)
- 活性化関数(ReLU, Tanh など)
- 学習率(最重要)
- バッチサイズ
- ドロップアウト率
- オプティマイザ(SGD, Adam など)
調整の一般的な順序
- モデル構造の大まかな決定
- 学習率・バッチサイズの調整
- ドロップアウト・正則化の調整
モデル容量が増えるほど、適切な正則化も重要になります。
ハイパーパラメータの探索(チューニング)手法
グリッドサーチ(Grid Search)
指定した範囲のすべての組み合わせを試す方法。
- 体系的だが
- 計算コストが非常に高い
探索次元が増えると実用性が下がります。
ランダムサーチ(Random Search)
指定した範囲からランダムに選んで試行する方法。
- 広い空間を効率よく探索できる
- グリッドより効率的になるケースが多く報告されている(Bergstra & Bengio, 2012)
特にハイパーパラメータが多次元の場合に有効です。
ベイズ最適化(Bayesian Optimization)
過去の試行結果から「次に試すべき最も有望な点」を推定して探索する方法。
- 少ない試行で高い性能に到達しやすい
- 高価な学習の最適化に適する
Optuna・Hyperopt などのライブラリが有名です。
AutoML
機械学習プラットフォームやフレームワークが自動で最適化を行う仕組み。
モデル選定〜特徴量生成〜ハイパーパラメータ調整まで自動化できるものもあります。
ハイパーパラメータ調整の実務的ポイント
学習率は最優先で調整する
学習率が適切でないと、他の調整が無意味になることがあります。
まずは学習率を大まかに決め、その後で他のハイパーパラメータを調整します。
粗い探索 → 微細な探索の順
初期段階では 10 倍刻み(0.1, 0.01, 0.001)で探索し、後半では 1.5 倍や 2 倍程度の細かい範囲に絞るのが効率的です。
バッチサイズと学習率の連動
一般的に
- バッチサイズが大きい → 学習率も大きくできる
- 小さい → 学習率も小さくする必要があることが多い
実験的にも「バッチサイズに比例して学習率を上げる」手法が有効とされています。
モデル複雑度が高いほど正則化が重要
パラメータ数が多いモデルは表現力が高く、その分過学習しやすいため、正則化を適切に設定することが性能安定に直結します。
評価指標に応じて最適化方針が変わる
- 回帰 → RMSE / MAE
- 分類 → Accuracy / F1 / AUC
- 異常検知 → 再現率重視など
評価指標に応じてハイパーパラメータの優先度や探索範囲が変わります。
まとめ
- ハイパーパラメータはモデル性能を決める極めて重要な要素
- モデルにより重要なハイパーパラメータは異なる
- 適切な探索手法を選ぶことで性能向上が大きく変わる
- 学習率・正則化・モデル構造の調整が特に重要
- 実験・検証のプロセスを体系化することが高精度化の鍵
以上、機械学習のハイパーパラメータについてでした。
最後までお読みいただき、ありがとうございました。
