まとめ

Pythonでのハイパーパラメータチューニング

Alex Scriven

Data Scientist

ハイパーパラメータとパラメータの違い

   

ハイパーパラメータ vs パラメータ:

ハイパーパラメータは学習前に設定する要素。学習過程では更新されません

パラメータは手動で設定せず、アルゴリズムが学習で推定します

Pythonでのハイパーパラメータチューニング

どのハイパーパラメータと値?

 

学んだこと:

  • まず調整すべき有力なハイパーパラメータがある
  • 不適切な(ばかげた)値設定がありうる
  • 相反するハイパーパラメータに注意が必要
  • ベストプラクティスはアルゴリズムとそのハイパーパラメータに依存
Pythonでのハイパーパラメータチューニング

グリッドサーチのポイント

 

グリッドサーチの復習:

  • ハイパーパラメータ値の組合せ表(グリッド)を作る
  • すべての組合せでモデルを構築する
  • 最良モデルを選ぶ

計算コストは高いが、グリッド内の最良解は見つかります(良いグリッド設計が重要)。

Pythonでのハイパーパラメータチューニング

ランダムサーチのポイント

 

ランダムサーチ:

  • グリッドサーチに類似
  • 主な違いは、n 個の組合せをランダムに選ぶ点

より速く“妥当”なモデルに到達するが、グリッド内の“最良”は保証しません。

Pythonでのハイパーパラメータチューニング

非インフォームドからインフォームドへ

インフォームドサーチの概観:

インフォームドサーチでは、各反復が前回から学習します。グリッド/ランダムは一括で学習し、その後に最良を選びます。

扱った手法:

  • “粗から精へ”(反復的にランダム→グリッド)
  • ベイズ最適化:性能の証拠で事前分布を更新
  • 遺伝的アルゴリズム:世代交代でモデルを進化
Pythonでのハイパーパラメータチューニング

ありがとうございました!

Pythonでのハイパーパラメータチューニング

Preparing Video For Download...