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
100
ハイパーパラメータチューニングって何をしているの
toridori
November 11, 2024
Tweet
Share
More Decks by toridori
See All by toridori
KoT APIでプチ業務改善を試してみた
toridori_dev
0
65
MUI DataGridProコンポーネントの紹介
toridori_dev
0
240
あの日行ったマージの仕組みを僕達はまだ知らない。
toridori_dev
0
170
DBマイグレーションとORMについて
toridori_dev
0
150
Other Decks in Technology
See All in Technology
TinyGoを使ったVSCode拡張機能実装
askua
2
210
Intuneお役立ちツールのご紹介
sukank
3
780
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
650
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
110
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
250
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
200
AIチャットボット開発への生成AI活用
ryomrt
0
150
今、始める、第一歩。 / Your first step
yahonda
2
730
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
230
State of Open Source Web Mapping Libraries
dayjournal
0
240
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.1k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Typedesign – Prime Four
hannesfritz
40
2.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Facilitating Awesome Meetings
lara
50
6.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
700
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
It's Worth the Effort
3n
183
27k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
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のチョコチップクッキーレシピ
ご清聴ありがとうございました おわり