Skip to content

Commit a066f07

Browse files
committed
Refactored GPMLOptimizer to a general gradient optimiser class
1 parent 73b3344 commit a066f07

File tree

15 files changed

+57
-67
lines changed

15 files changed

+57
-67
lines changed

docs/api_docs/v1.4.1/dynaml-core/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/api_docs/v1.4.1/dynaml-core/io/github/mandar2812/dynaml/optimization/GPMLOptimizer.html

Lines changed: 16 additions & 16 deletions
Large diffs are not rendered by default.

docs/api_docs/v1.4.1/dynaml-core/io/github/mandar2812/dynaml/optimization/GlobalOptimizer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ <h4 id="signature" class="signature">
5656
<div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
5757
</div><div class="toggleContainer block">
5858
<span class="toggle">Known Subclasses</span>
59-
<div class="subClasses hiddenContent"><a href="AbstractCSA.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractCSA">AbstractCSA</a>, <a href="AbstractGridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractGridSearch">AbstractGridSearch</a>, <a href="CoupledSimulatedAnnealing.html" class="extype" name="io.github.mandar2812.dynaml.optimization.CoupledSimulatedAnnealing">CoupledSimulatedAnnealing</a>, <a href="GPMLOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer">GPMLOptimizer</a>, <a href="GridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GridSearch">GridSearch</a></div>
59+
<div class="subClasses hiddenContent"><a href="AbstractCSA.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractCSA">AbstractCSA</a>, <a href="AbstractGridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractGridSearch">AbstractGridSearch</a>, <a href="CoupledSimulatedAnnealing.html" class="extype" name="io.github.mandar2812.dynaml.optimization.CoupledSimulatedAnnealing">CoupledSimulatedAnnealing</a>, <a href="GPMLOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer">GPMLOptimizer</a>, <a href="GridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GridSearch">GridSearch</a></div>
6060
</div></div>
6161

6262

docs/api_docs/v1.4.1/dynaml-core/io/github/mandar2812/dynaml/optimization/package.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ <h4 class="signature">
204204
</a>
205205
</span>
206206
<p class="shortcomment cmt"></p>
207-
</li><li name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
207+
</li><li name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
208208
<a id="GPMLOptimizer[I,T,M&lt;:io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad]extendsGlobalOptimizer[M]"></a>
209209
<a id="GPMLOptimizer[I,T,M&lt;:GloballyOptWithGrad]:GPMLOptimizer[I,T,M]"></a>
210210
<h4 class="signature">
@@ -213,7 +213,7 @@ <h4 class="signature">
213213
<span class="kind">class</span>
214214
</span>
215215
<span class="symbol">
216-
<a href="GPMLOptimizer.html"><span class="name">GPMLOptimizer</span></a><span class="tparams">[<span name="I">I</span>, <span name="T">T</span>, <span name="M">M &lt;: <a href="GloballyOptWithGrad.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad">GloballyOptWithGrad</a></span>]</span><span class="result"> extends <a href="GlobalOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GlobalOptimizer">GlobalOptimizer</a>[<span class="extype" name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer.M">M</span>]</span>
216+
<a href="GPMLOptimizer.html"><span class="name">GPMLOptimizer</span></a><span class="tparams">[<span name="I">I</span>, <span name="T">T</span>, <span name="M">M &lt;: <a href="GloballyOptWithGrad.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad">GloballyOptWithGrad</a></span>]</span><span class="result"> extends <a href="GlobalOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GlobalOptimizer">GlobalOptimizer</a>[<span class="extype" name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer.M">M</span>]</span>
217217
</span>
218218
</h4><span class="permalink">
219219
<a href="../../../../../index.html#io.github.mandar2812.dynaml.optimization.package@GPMLOptimizer[I,T,M&lt;:io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad]extendsGlobalOptimizer[M]" title="Permalink" target="_top">

docs/api_docs/v1.4/dynaml-core/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/api_docs/v1.4/dynaml-core/io/github/mandar2812/dynaml/optimization/GPMLOptimizer.html

Lines changed: 16 additions & 16 deletions
Large diffs are not rendered by default.

docs/api_docs/v1.4/dynaml-core/io/github/mandar2812/dynaml/optimization/GlobalOptimizer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ <h4 id="signature" class="signature">
5656
<div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
5757
</div><div class="toggleContainer block">
5858
<span class="toggle">Known Subclasses</span>
59-
<div class="subClasses hiddenContent"><a href="AbstractCSA.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractCSA">AbstractCSA</a>, <a href="AbstractGridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractGridSearch">AbstractGridSearch</a>, <a href="CoupledSimulatedAnnealing.html" class="extype" name="io.github.mandar2812.dynaml.optimization.CoupledSimulatedAnnealing">CoupledSimulatedAnnealing</a>, <a href="GPMLOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer">GPMLOptimizer</a>, <a href="GridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GridSearch">GridSearch</a></div>
59+
<div class="subClasses hiddenContent"><a href="AbstractCSA.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractCSA">AbstractCSA</a>, <a href="AbstractGridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.AbstractGridSearch">AbstractGridSearch</a>, <a href="CoupledSimulatedAnnealing.html" class="extype" name="io.github.mandar2812.dynaml.optimization.CoupledSimulatedAnnealing">CoupledSimulatedAnnealing</a>, <a href="GPMLOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer">GPMLOptimizer</a>, <a href="GridSearch.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GridSearch">GridSearch</a></div>
6060
</div></div>
6161

6262

docs/api_docs/v1.4/dynaml-core/io/github/mandar2812/dynaml/optimization/package.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ <h4 class="signature">
204204
</a>
205205
</span>
206206
<p class="shortcomment cmt"></p>
207-
</li><li name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
207+
</li><li name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
208208
<a id="GPMLOptimizer[I,T,M&lt;:io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad]extendsGlobalOptimizer[M]"></a>
209209
<a id="GPMLOptimizer[I,T,M&lt;:GloballyOptWithGrad]:GPMLOptimizer[I,T,M]"></a>
210210
<h4 class="signature">
@@ -213,7 +213,7 @@ <h4 class="signature">
213213
<span class="kind">class</span>
214214
</span>
215215
<span class="symbol">
216-
<a href="GPMLOptimizer.html"><span class="name">GPMLOptimizer</span></a><span class="tparams">[<span name="I">I</span>, <span name="T">T</span>, <span name="M">M &lt;: <a href="GloballyOptWithGrad.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad">GloballyOptWithGrad</a></span>]</span><span class="result"> extends <a href="GlobalOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GlobalOptimizer">GlobalOptimizer</a>[<span class="extype" name="io.github.mandar2812.dynaml.optimization.GPMLOptimizer.M">M</span>]</span>
216+
<a href="GPMLOptimizer.html"><span class="name">GPMLOptimizer</span></a><span class="tparams">[<span name="I">I</span>, <span name="T">T</span>, <span name="M">M &lt;: <a href="GloballyOptWithGrad.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad">GloballyOptWithGrad</a></span>]</span><span class="result"> extends <a href="GlobalOptimizer.html" class="extype" name="io.github.mandar2812.dynaml.optimization.GlobalOptimizer">GlobalOptimizer</a>[<span class="extype" name="io.github.mandar2812.dynaml.optimization.GradBasedGlobalOptimizer.M">M</span>]</span>
217217
</span>
218218
</h4><span class="permalink">
219219
<a href="../../../../../index.html#io.github.mandar2812.dynaml.optimization.package@GPMLOptimizer[I,T,M&lt;:io.github.mandar2812.dynaml.optimization.GloballyOptWithGrad]extendsGlobalOptimizer[M]" title="Permalink" target="_top">

dynaml-core/src/main/scala-2.11/io/github/mandar2812/dynaml/DynaMLPipe.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import breeze.math.VectorSpace
2424
import io.github.mandar2812.dynaml.evaluation.RegressionMetrics
2525
import io.github.mandar2812.dynaml.models.ParameterizedLearner
2626
import io.github.mandar2812.dynaml.models.gp.AbstractGPRegressionModel
27-
import io.github.mandar2812.dynaml.optimization.{CoupledSimulatedAnnealing, GPMLOptimizer, GloballyOptWithGrad, GridSearch}
27+
import io.github.mandar2812.dynaml.optimization.{CoupledSimulatedAnnealing, GradBasedGlobalOptimizer, GloballyOptWithGrad, GridSearch}
2828
import io.github.mandar2812.dynaml.pipes._
2929
import io.github.mandar2812.dynaml.utils.{GaussianScaler, MVGaussianScaler, MinMaxScaler}
3030
import io.github.mandar2812.dynaml.wavelets.{GroupedHaarWaveletFilter, HaarWaveletFilter, InvGroupedHaarWaveletFilter, InverseHaarWaveletFilter}
@@ -632,8 +632,7 @@ object DynaMLPipe {
632632
.setStepSize(step)
633633
.setLogScale(false)
634634

635-
case "ML" => new GPMLOptimizer[DenseVector[Double],
636-
Seq[(DenseVector[Double], Double)], M](model)
635+
case "ML" => new GradBasedGlobalOptimizer[M](model)
637636

638637
case "CSA" => new CoupledSimulatedAnnealing(model)
639638
.setGridSize(grid)

dynaml-core/src/main/scala-2.11/io/github/mandar2812/dynaml/optimization/GPMLOptimizer.scala renamed to dynaml-core/src/main/scala-2.11/io/github/mandar2812/dynaml/optimization/GradBasedGlobalOptimizer.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ import org.apache.log4j.Logger
2424
/**
2525
* @author mandar2812 datum 16/1/16.
2626
*
27-
* Performs ML-II gradient based hyper-parameter
28-
* optimization for Gaussian Process regression models
27+
* Performs gradient based hyper-parameter
28+
* optimization for any model implementing
29+
* the [[GloballyOptWithGrad]] trait.
2930
*/
30-
class GPMLOptimizer[I, T, M <: GloballyOptWithGrad](model: M)
31+
class GradBasedGlobalOptimizer[M <: GloballyOptWithGrad](model: M)
3132
extends GlobalOptimizer[M] {
3233
override val system: M = model
3334

34-
override protected val logger = Logger.getLogger(this.getClass)
35+
override protected val logger: Logger = Logger.getLogger(this.getClass)
3536

3637
override def optimize(initialConfig: Map[String, Double],
3738
options: Map[String, String] = Map("tolerance" -> "0.0001",

0 commit comments

Comments
 (0)