1
/
5

Learning#1(パラメーターチューニング)

こんにちわ!
Onplaentzでは、社内のデータサイエンススキルアップを目的に、定期的に勉強会を実施しています!
テーマは各自が持ち寄り、実装や理論も含めてレクチャーをうける会になります。
今回は、勉強会の一部について公開します!

パラメータがとても多いことで知られる決定木とDeep Learning.そのチューニングに頭を悩ませた方も多いかと思います.そこで今回は,テーブルデータにおけるLGBMとMNISTにおけるCNNを例として実装を中心に学んだので,その内容を少しだけシェアしたいと思います.

 まずは手動で行う場合から見ていきましょう.パラメータチューニングで大切なのは,今過剰適合しているのか,過小適合しているのかを適切に把握することです.これは,学習曲線と検証曲線を用いて行うロスや精度の可視化を通して容易に判断することができます.これを基に,正則化項の導入など,その後のパラメータ調整の指針を立てることができるので,今回可視化の大切さを改めて学ぶことができました.

 また,正則化の方法としてはDropoutなどいくつか方法が挙げられますが,一番簡単でかつ効果が大きいのは,学習率の調整です.一般に時間がないときは,学習率だけでも調整することで効果が得られる場合があるので,ぜひ試してみましょう.また,それに付随して,早期終了や学習率を徐々に下げていく方法も効果的です.

 次に,ランダムサーチについて.LGBMなどのパラメータの多いモデルでは,グリッドサーチではなく,ランダムサーチを用いることでより効率的にパラメータの更新を行うことができます.そして,この手法をさらにパワーアップさせたのが,ベイズ最適化を用いたハイパラ調整です.ベイズについては数学的な話をすると長くなるので割愛しますが,ざっくり言うと,事後確率分布の導入によりパラメータの更新を行い,比較的少ない試行回数でも段階的に最適パラメータへと近づいていくことができます.これを用いることで,学習に時間がかかるDeep Learning系の重いモデルでもある程度良い感じにハイパラを探索できるようになるため,近年は研究分野としても注目を集めている方法です.

 今回の勉強会では決定木とDeep Learning系モデルのハイパラ調整について学べたので,これからの有効なモデル選択でも役立てていきたいと思います!

以下,勉強会に参加した学生インターンの感想です.

モデルの実装はデフォルトのハイパーパラメータの値を使ったりすればできてしまいます。しかし本格的にチューニングを行うためには、それぞれの手法の特徴や各ハイパーパラメータの意味合いをきちんと理解していなければならないと痛感しました。特に印象的だったのはヘイズ最適化を用いた手法です。計算コストを抑えて、過去の試行結果を基にして次に探索する箇所を選ぶことができるのはとても画期的だと思いました。勉強会の最中もインターン生間で活発に話し合うことができました。

私も日頃ハイパラのチューニングはどこから手を付けてよいのか分からずあたふたしてしまうことがあったので,今回チューニングのベースラインを学ぶことができて良かったです.今までは感覚的にやっていることが多かったですが,モデルの説明を公式のドキュメントで読んだり,しっかり最適化過程を可視化したりすることでより効率よく論理的判断でハイパラ調整がしていけたら良いなと思いました.また,すごく興味のあったベイズ最適化について学べたのが個人的にはとても面白かったです.今回実装の方法を学ぶことができたので,これを機に,今後は特に初期のパラメータチューニングに積極的に活用していきたいと考えています.また,少ない試行回数でパラメータ更新を行っていける,というのはとても興味深いことだなと感じています.そのため,今回は実装とその効果の検証が中心の勉強会でしたが,個人的に数学的な背景についても勉強して更に理解を深めていきたいと思います.

参考:

Parameters Tuning - LightGBM

https://lightgbm.readthedocs.io/en/latest/Parameters-Tuning.html

Mnist cnn – Keras Documentation

https://keras.io/examples/mnist_cnn/

BayesianOptimization – github

https://github.com/fmfn/BayesianOptimization/blob/master/bayes_opt/util.py

tech_onplanetz 153日前

Onplanetz株式会社's job postings

AI

Weekly ranking

Show other rankings