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
benchmarkfunction
Search
yuki
March 21, 2021
5.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
benchmarkfunction
yuki
March 21, 2021
More Decks by yuki
See All by yuki
240315_発表資料_清水.pdf
yuyumoyuyu
2
820
230315_symposium
yuyumoyuyu
1
580
220305_kenkyukai
yuyumoyuyu
3
170
221124_kenkyukai
yuyumoyuyu
1
580
voltageequation5
yuyumoyuyu
1
12k
210910_kenkyukai
yuyumoyuyu
1
330
210826_bumontaikai
yuyumoyuyu
0
220
voltageequation4
yuyumoyuyu
33
15k
210518_iemdc
yuyumoyuyu
0
170
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Unsuck your backbone
ammeep
672
58k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Code Review Best Practice
trishagee
74
20k
Chasing Engaging Ingredients in Design
codingconduct
0
220
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Amusing Abliteration
ianozsvald
1
210
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Fireside Chat
paigeccino
42
4k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Transcript
最適化手法評価のための ベンチマーク関数 Benchmark Function 大阪府立大学 工学研究科 清水 悠生
2 最適化とは? ✓ ある基準に従って最も適切な解を求めることを最適化という ✓ 数学的に,目的関数 f を最小化(最大化)する解 x* を
求める問題を最適化問題と呼ぶ 変数 x 出力 f(x) x* f*
3 最適化が難しい関数の性質 ✓ 微分可能な関数の最適化において 最適化が困難な関数の特徴は下記のようなものが存在 ⚫ 悪スケール性 ⚫ 変数間依存性 ⚫
多峰性
4 悪スケール性 ✓ 同じ出力をとる範囲が変数によって大きく異なる性質を 悪スケール性と呼ぶ ✓ 感度の低い変数の方向に最適化が進みづらくなる x 2 x
1 x 2 x 1 良スケール性関数の 等高線(2変数) 悪スケール性関数の 等高線(2変数)
5 変数間依存性 ✓ 目的関数を各変数毎の関数の和として表現できない性質を 変数間依存性と呼ぶ ✓ 悪スケール性と同様に最適化が進みづらい方向が存在 x 2 x
1 x 2 x 1 変数間依存性のない関 数の等高線(2変数) 変数間依存性のある関 数の等高線(2変数)
6 多峰性 ✓ 極値が複数存在する関数を多峰性関数と呼ぶ ✓ 真の最適解(大域的最適解)ではなく 局所最適解に収束してしまうリスクが存在 変数 x 出力
f(x) 大域的最適解 局所最適解
7 ベンチマーク関数 ✓ 最適化手法の性能を評価するための評価関数を ベンチマーク関数と呼ぶ ✓ 本記事では,前スライドまでで説明した性質を持つ 9種類のベンチマーク関数を紹介 ✓ Pythonによる実装例はこちら↓
✓ https://github.com/yshimizu12/BenchmarkFunction
8 Sphere関数 ✓ 性能評価の基本となる単純な凸関数 𝑓 𝒙 = 𝑖=1 𝑛
𝑥𝑖 2 探索範囲:𝑺 = −5.12,5.12 𝑛 最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
9 Ellipsoid関数 ✓ 弱い悪スケール性を示す関数 𝑓 𝒙 = 𝑖=1 𝑛
1000 Τ 𝑖−1 𝑛−1𝑥𝑖 2 探索範囲:𝑺 = −5.12,5.12 𝑛 最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
10 k-tablet関数 (k=n/4) ✓ 強い悪スケール性を示す関数 𝑓 𝒙 = 𝑖=1
𝑘 𝑥𝑖 2 + 𝑖=𝑘+1 𝑛 100𝑥𝑖 2 探索範囲:𝑺 = −5.12,5.12 𝑛 最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
11 Rosenbrock関数 (star型) ✓ 変数x 1 と他変数の間に強い変数間依存性を有する関数 𝑓 𝒙 =
𝑖=2 𝑛 100 𝑥1 − 𝑥𝑖 2 2 + 1 − 𝑥𝑖 2 探索範囲:𝑺 = −2.048,2.048 𝑛 最適解: 𝒙∗ = 1, … , 1 2変数の場合 x 2 =0平面上 x 1 =0平面上
12 Rosenbrock関数 (chain型) ✓ 隣り合う変数間に強い変数間依存性を有する関数 𝑓 𝒙 = 𝑖=1
𝑛−1 100 𝑥𝑖+1 − 𝑥𝑖 2 2 + 1 − 𝑥𝑖 2 探索範囲:𝑺 = −2.048,2.048 𝑛 最適解: 𝒙∗ = 1, … , 1 x 2 =0平面上 x 1 =0平面上 2変数の場合
13 Bohachevsky関数 ✓ 比較的弱い多峰性を示す関数 𝑓 𝒙 = 𝑖=1 𝑛−1
𝑥𝑖 2 + 2𝑥𝑖+1 2 − 0.3 cos 3𝜋𝑥𝑖 − 0.4 cos 4𝜋𝑥𝑖+1 + 0.7 探索範囲:𝑺 = −5.12,5.12 𝑛,最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
14 Ackley関数 ✓ 比較的弱い多峰性を示す関数 𝑓 𝒙 = 20 − 20
exp −0.2 1 𝑛 𝑖=1 𝑛 𝑥𝑖 2 + 𝑒 − exp 1 𝑛 𝑖=1 𝑛 cos 2𝜋𝑥𝑖 探索範囲:𝑺 = −32.768,32.768 𝑛,最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
15 Schaffer関数 ✓ 強い多峰性を示す関数 𝑓 𝒙 = 𝑖=1 𝑛−1
𝑥𝑖 2 + 𝑥𝑖+1 2 0.25 sin2 50 𝑥𝑖 2 + 𝑥𝑖+1 2 0.1 + 1.0 探索範囲:𝑺 = −100,100 𝑛 最適解: 𝒙∗ = 0, … , 0 2変数の場合 x 2 =0平面上 x 1 =0平面上
16 Rastrigin関数 ✓ 強い多峰性を示す関数 𝑓 𝒙 = 10𝑛 +
𝑖=1 𝑛 𝑥𝑖 − 1 2 − 10 cos 2𝜋 𝑥𝑖 − 1 探索範囲:𝑺 = −5.12,5.12 𝑛 最適解: 𝒙∗ = 1, … , 1 2変数の場合 x 2 =0平面上 x 1 =0平面上