You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>OptTask has optional arguments which address each of these issues. A few are listed here, and the rest are in the comprehensive guide. For the most part, they are designed to work both in combination and independently.</p>
52
50
<p>In this tutorial, we will explore some of the more advanced capabilities of OptTask, including:</p>
53
51
<ulclass="simple">
54
-
<li>Multiobjective optimiation</li>
55
-
<li><dlclass="first docutils">
56
-
<dt>Changing predictors</dt>
57
-
<dd><ulclass="first last">
58
-
<li>Acquisition functions for improving performance</li>
59
-
<li>Reducing prediction time</li>
60
-
<li>Customizing exploration</li>
52
+
<li><p>Multiobjective optimiation</p></li>
53
+
<li><dlclass="simple">
54
+
<dt>Changing predictors</dt><dd><ul>
55
+
<li><p>Acquisition functions for improving performance</p></li>
56
+
<li><p>Reducing prediction time</p></li>
57
+
<li><p>Customizing exploration</p></li>
61
58
</ul>
62
59
</dd>
63
60
</dl>
64
61
</li>
65
-
<li>Using z (extra) features</li>
62
+
<li><p>Using z (extra) features</p></li>
66
63
</ul>
67
64
<divclass="section" id="defining-the-problem">
68
65
<h2>Defining the Problem<aclass="headerlink" href="#defining-the-problem" title="Permalink to this headline">¶</a></h2>
69
66
<p>Let’s imagine we are designing a fin for a new rocket. <strong>We have three parameters we can tune</strong>:</p>
70
67
<ulclass="simple">
71
-
<li>Fin length - Defined between 16cm - 145cm</li>
72
-
<li>Fin angle - Defined between 0.0 - 90.0 degrees</li>
73
-
<li>Fin type - Either industry standard, dolphin, or shark type.</li>
68
+
<li><p>Fin length - Defined between 16cm - 145cm</p></li>
69
+
<li><p>Fin angle - Defined between 0.0 - 90.0 degrees</p></li>
70
+
<li><p>Fin type - Either industry standard, dolphin, or shark type.</p></li>
74
71
</ul>
75
72
<p><strong>We’ll say a good fin has 3 characteristics (objective metrics)</strong>:</p>
76
73
<ulclass="simple">
77
-
<li>Low cost</li>
78
-
<li>Low drag</li>
79
-
<li>Low probability of failure</li>
74
+
<li><p>Low cost</p></li>
75
+
<li><p>Low drag</p></li>
76
+
<li><p>Low probability of failure</p></li>
80
77
</ul>
81
78
<p>We evaluate the performance of a candidate design by nondeterministically simulating the aerodynamics and market performance with an expensive simulation.
82
79
A mock version of such a simulation is found in <codeclass="code docutils literal notranslate"><spanclass="pre">ComplexMultiObjTask</span></code> in <codeclass="code docutils literal notranslate"><spanclass="pre">/examples/tasks.py</span></code>.</p>
@@ -120,10 +117,10 @@ <h2>Creating the Workflow<a class="headerlink" href="#creating-the-workflow" tit
120
117
</div>
121
118
<p>The new arguments to OptTask are:</p>
122
119
<ulclass="simple">
123
-
<li><codeclass="code docutils literal notranslate"><spanclass="pre">predictor</span></code> - A different built in predictor is used for this optimization. A full list of builtin predictors (and guide for using custom predictors) is shown in the comprehensive guide.</li>
124
-
<li><codeclass="code docutils literal notranslate"><spanclass="pre">acq</span></code> - Acquisition functions help us get better results during optimization (generally) than pure exploitation, but may be more computationally intensive. The acquisition function used here is specifically for multi-objective optimization; for single objectives, check the comprehensive guide.</li>
125
-
<li><codeclass="code docutils literal notranslate"><spanclass="pre">n_searchpts</span></code> - Tuning the number of points for prediction affects optimizer performance and computational efficiency (the two are often inversely correlated). Also use <codeclass="code docutils literal notranslate"><spanclass="pre">n_trainpts</span></code> to restrict the number of points used for training from completed runs.</li>
126
-
<li><codeclass="code docutils literal notranslate"><spanclass="pre">get_z</span></code> - Encapsulate empirical knowledge with get_z. From physical laws, we postulate two useful features, which we put in a vector called “z”. When <codeclass="code docutils literal notranslate"><spanclass="pre">get_z</span></code> is enabled, x is only used as a label (<strong>not for learning</strong>), unless explicitly returned by get_z. In this case, x might be useful for learning, so we’ll return it.</li>
120
+
<li><p><codeclass="code docutils literal notranslate"><spanclass="pre">predictor</span></code> - A different built in predictor is used for this optimization. A full list of builtin predictors (and guide for using custom predictors) is shown in the comprehensive guide.</p></li>
121
+
<li><p><codeclass="code docutils literal notranslate"><spanclass="pre">acq</span></code> - Acquisition functions help us get better results during optimization (generally) than pure exploitation, but may be more computationally intensive. The acquisition function used here is specifically for multi-objective optimization; for single objectives, check the comprehensive guide.</p></li>
122
+
<li><p><codeclass="code docutils literal notranslate"><spanclass="pre">n_searchpts</span></code> - Tuning the number of points for prediction affects optimizer performance and computational efficiency (the two are often inversely correlated). Also use <codeclass="code docutils literal notranslate"><spanclass="pre">n_trainpts</span></code> to restrict the number of points used for training from completed runs.</p></li>
123
+
<li><p><codeclass="code docutils literal notranslate"><spanclass="pre">get_z</span></code> - Encapsulate empirical knowledge with get_z. From physical laws, we postulate two useful features, which we put in a vector called “z”. When <codeclass="code docutils literal notranslate"><spanclass="pre">get_z</span></code> is enabled, x is only used as a label (<strong>not for learning</strong>), unless explicitly returned by get_z. In this case, x might be useful for learning, so we’ll return it.</p></li>
127
124
</ul>
128
125
<p>We can launch 250 optimization loop runs with:</p>
0 commit comments