Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ハイパーパラメータチューニングって何をしているの
Search
toridori
November 11, 2024
Technology
0
370
ハイパーパラメータチューニングって何をしているの
toridori
November 11, 2024
Tweet
Share
More Decks by toridori
See All by toridori
Locustでmacから開発環境に負荷試験をしてみた
toridori_dev
0
180
N + 1 問題の概要と Railsにおける解決方法
toridori_dev
0
150
Aurora Cloneで QA環境をつくってみた
toridori_dev
0
240
ニューモーフィズムってどうなの
toridori_dev
0
380
toridori base webをv0で爆速で作った話
toridori_dev
0
200
KoT APIでプチ業務改善を試してみた
toridori_dev
0
390
MUI DataGridProコンポーネントの紹介
toridori_dev
0
620
あの日行ったマージの仕組みを僕達はまだ知らない。
toridori_dev
0
300
DBマイグレーションとORMについて
toridori_dev
0
230
Other Decks in Technology
See All in Technology
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
1
2.5k
LLMエージェント時代に適応した開発フロー
hiragram
1
440
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
130
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
50k
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
35k
TypeScript入門
recruitengineers
PRO
29
9.3k
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
27
9.7k
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
170
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
870
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
490
GitHub Copilot coding agent を推したい / AIDD Nagoya #1
tnir
4
4.8k
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
490
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
It's Worth the Effort
3n
187
28k
A designer walks into a library…
pauljervisheath
207
24k
Optimizing for Happiness
mojombo
379
70k
Being A Developer After 40
akosma
90
590k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Transcript
ハイパーパラメータチューニング って何をしているの 開発部 井上 2024/10/25
ハイパーパラメータとは
(普通の)パラメータ 線形回帰での例 観測データ が与えられたとき、直線(モデル) が最もフィットするような、適切な値 を求めたい。 このような、データに合わせてモデルの振る舞いを決める値を、モデルのパラメータや重みという。 適切なパラメータを求めることを、学習という。
「適切な」パラメータの定式化 線形回帰での例 どのようなときに「最もフィット」するか? 線形回帰の例では、次の誤差関数を最小化すればよい(いわゆる最小二乗法)。
ハイパーパラメータ Ridge回帰の例 モデルの複雑さを抑えるため(上記の例では、パラメータの絶対値が大きくなりにくくするため)、線 形回帰の誤差関数に対して、次のような罰則項を加えた関数(コスト関数)を考え、この最小化を考え ることがある(Ridge回帰)。 ここでλは、罰則の強さを決める正の実数で、値が大きいほど罰則が強くなる(パラメータは絶対値の大 きな値を取りにくくなる)。 このλは、学習前に事前に決めておくパラメータで、ハイパーパラメータと呼ばれる。
フィットさせたい関数 パラメータ 最小化したい関数 ハイパーパラメータ ここまでのまとめ Ridge回帰の例
実際の例 ハイパーパラメータを変えて学習した例 から生成した点+外れ値に 3つのモデルをフィッティング。 λを大きくすると、 傾きも小さくなっている。 ※αはscikit-learnライブラリで設定する 際のハイパーパラメータの名前で、 λと同じものと考えて大丈夫です ※Ridge回帰は多重共線性への対処に
用いられるのですが、今回は1変数 のため説明を割愛
ハイパーパラメータチューニング
ハイパーパラメータチューニングとは ハイパーパラメータに適切な値はあるの? どうやって決めたらいいの? それを決めるのがハイパーパラメータチューニングです。 ハイパーパラメータチューニングとは
ハイパーパラメータチューニングの定式化 任意のλに対し、コスト関数 を最小化するような を と書くことにする。このとき、誤差関数の値 が最も小さくなるようなλを選択すればよい。 ※本当は評価用のデータセットを分けたりしないといけないのですが、今回は割愛 Ridge回帰の例
ハイパーパラメータチューニングの方法 そのようなハイパーパラメータをどうやって探索すればよいか? あらかじめ決めておいた有限個のリストを探索したり、与えられた範囲からランダムに探索したりする 方法もある。 完全なランダムではなく、いい感じに確率的に探索してくれるのが、ベイズ最適化。 探索の方法
最適化とは 一般に、関数が最小値(あるいは最大値)を取るような値を求めることを最適化という。 ベイズ最適化はブラックボックス最適化の一種で、よく分からない関数でもいい感じに最適化してくれ る。 ベイズ最適化を行ってくれるPythonのライブラリとしては、Optunaが有名。 ベイズ最適化
コード例 このあたりはMLのテンプレなので Optunaのコード例 Optunaで最適化するために 追加するのはこのあたり
おまけ
最適化の応用例 Googleの研究者がチョコチップクッキーのレシピの最適化をしたらしいです: Bayesian Optimization for a Better Dessert レシピ→“美味しさの評価値”という関数の最大化を試みたわけですね。 Googleのチョコチップクッキーレシピ
ご清聴ありがとうございました おわり