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
84
ハイパーパラメータチューニングって何をしているの
toridori
November 11, 2024
Tweet
Share
More Decks by toridori
See All by toridori
KoT APIでプチ業務改善を試してみた
toridori_dev
0
54
MUI DataGridProコンポーネントの紹介
toridori_dev
0
230
あの日行ったマージの仕組みを僕達はまだ知らない。
toridori_dev
0
160
DBマイグレーションとORMについて
toridori_dev
0
150
Other Decks in Technology
See All in Technology
DatabricksにおけるLLMOpsのベストプラクティス
taka_aki
4
1.6k
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
130
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
7
560
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
3
280
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
1
400
Intuneお役立ちツールのご紹介
sukank
3
750
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
110
音声×Copilot オンコパの世界
kasada
1
110
組み込みLinuxの時系列
puhitaku
4
1k
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
200
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
400
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
0
270
Featured
See All Featured
Writing Fast Ruby
sferik
627
61k
4 Signs Your Business is Dying
shpigford
180
21k
Raft: Consensus for Rubyists
vanstee
136
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Automating Front-end Workflow
addyosmani
1366
200k
Scaling GitHub
holman
458
140k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Pragmatic Product Professional
lauravandoore
31
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
We Have a Design System, Now What?
morganepeng
50
7.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
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のチョコチップクッキーレシピ
ご清聴ありがとうございました おわり