この記事は TensorFlow Advent Calendar 2018 の 23 日目のはずだったけど、早く書き終わって我慢できなかったので空いてた 6 日目にねじ込んでしまったやつです。 こういう話があったので、ちょっと TensorFlow 用に Optuna の枝刈り機能を実装できそうか手を動かしてみました。 できた?一応動くね! 前提知識TensorFlow の Estimator をちょっと使ったことがあるOptuna が何なのかは知っていてサンプルコードを試しに動かしたことがある(枝刈りが何かの説明とかはしません何ができれば良い?Optuna 側に callback 的なもので定期的に現在の評価指標と反復回数を渡せれば OK のようです。 lightgbm の場合はこんなふうに callback が実装されています。 各学習の途中でこうやって Optuna に trial.
chainerでおなじみのPFNがハイパーパラメータ自動最適化ツール「Optuna」を公開したので、これをサポートベクターマシン(回帰)で試してみました。めちゃくちゃ使えますので皆さんもぜひ試してみてください。 Optunaとは 2018/12/3に公開されたPFN製のライブラリ(MITライセンス)。chainerの他にscikit-learn, XGBoost, LightGBMでも使えるのが売り。パラメーターに対して損失なりの評価値を返せればいいので、ここには書いてはいませんがTensorFlowだろうがPyTorchだろうがなんでも使えるはずです。 ハイパーパラメータ自動最適化ツール「Optuna」公開 https://research.preferred.jp/2018/12/optuna-release/ 有望そうなハイパーパラメーターを探すのにかなり賢いアルゴリズムを使っている
はじめに:Optunaとは 使い方 インストール 最適化問題の例 問題設定 最適化 最適化の結果 ニューラルネットワークのハイパーパラメータチューニング 問題設定 実装 ハイパーパラメータを引数に取り、ニューラルネットワークを構成する関数 ハイパーパラメータを引数にとり、最適化手法を返す関数 ハイパーパラメータを引数に取り、学習済のモデルを返す関数 ハイパーパラメータを引数に取り、最小化したい値を返す目的関数 いざ最適化 はじめに:Optunaとは OptunaとはPFNが世に送り出した最適化枝刈りライブラリです。 Pythonのコードとして機械学習のコードのどこにでも入れることができ、非常に使いやすいAPIとなっています。大体、結構丁寧なサンプル・解説が公式ドキュメントに既にあるので、分かる方は此方を読むのが一番早いでしょう。 Welcome to Optuna’s documentat
1. 背景 2. 方法 2.1. 標高タイル 2.2. Optuna 3. 結果 3.1. 実行例 3.2. 登山経路 4. まとめ 1. 背景 Optunaとは、Preferred Networks(以下PFN)の秋葉氏らが開発したハイパーパラメータ自動最適化ツールです。 ハイパーパラメータ自動最適化ツール「Optuna」公開 | Preferred Research これは勾配法の適用できない(しない)ハイパーパラメータをベイズ最適化アルゴリズムの一種を使って自動で最適化してくれるものですが、Chainerと密結合しているわけではありません。何らかのObjective functionを与えることで簡単に最適化を行ってくれるようになっています*1。 ★★★ Objective...? 登山にとってそれは標高だ、と多くの人は考えるのではないでしょうか? 標高が唯一の目的ではないにせよ、世
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く