Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.Problems.GaussianProcessTuning/HeuristicLab.Problems.Instances.DataAnalysis.GaussianProcessRegression/VariousInstanceProvider.cs @ 9124

Last change on this file since 9124 was 9124, checked in by gkronber, 11 years ago

#1967 implemented utility app to draw random samples using a GP prior

File size: 5.4 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using System.Linq;
25using HeuristicLab.Algorithms.DataAnalysis;
26
27namespace HeuristicLab.Problems.Instances.DataAnalysis {
28  public class InstanceProvider : ArtificialRegressionInstanceProvider {
29    public override string Name {
30      get { return "GPR Benchmark Problems"; }
31    }
32    public override string Description {
33      get { return ""; }
34    }
35    public override Uri WebLink {
36      get { return new Uri("http://dev.heuristiclab.com/trac/hl/core/wiki/AdditionalMaterial"); }
37    }
38    public override string ReferencePublication {
39      get { return ""; }
40    }
41
42    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
43      List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
44      descriptorList.Add(new GaussianProcessSEIso());
45      descriptorList.Add(new GaussianProcessSEIso1());
46      descriptorList.Add(new GaussianProcessSEIso2());
47      descriptorList.Add(new GaussianProcessSEIso3());
48      descriptorList.Add(new GaussianProcessSEIso4());
49      descriptorList.Add(new GaussianProcessSEIso5());
50      descriptorList.Add(new GaussianProcessSEIso6());
51      descriptorList.Add(new GaussianProcessPolyTen());
52      descriptorList.Add(new GaussianProcessSEIsoDependentNoise());
53
54      {
55        var cov = new CovarianceSum();
56        cov.Terms.Add(new CovarianceSquaredExponentialIso());
57        cov.Terms.Add(new CovarianceSquaredExponentialIso());
58        cov.Terms.Add(new CovarianceNoise());
59        var hyp = new double[] { -2.8, -0.1, 0.5, 0.3, -1.5 };
60        descriptorList.Add(new GaussianProcessRegressionInstance("SE+SE", cov, hyp));
61      }
62      {
63        var cov = new CovarianceSum();
64        cov.Terms.Add(new CovarianceRationalQuadraticIso());
65        cov.Terms.Add(new CovarianceRationalQuadraticIso());
66        cov.Terms.Add(new CovarianceNoise());
67        var hyp = new double[] { -3, 0, 0, -1.5, 0, 2.5, -1.5 };
68        descriptorList.Add(new GaussianProcessRegressionInstance("RQ+RQ", cov, hyp));
69      }
70      {
71        var cov = new CovarianceSum();
72        cov.Terms.Add(new CovariancePeriodic());
73        cov.Terms.Add(new CovariancePeriodic());
74        cov.Terms.Add(new CovarianceNoise());
75        var hyp = new double[] { 0, -1.8, -1.5, 0, -0.5, -1, -2.1 };
76        descriptorList.Add(new GaussianProcessRegressionInstance("Periodic+Periodic", cov, hyp));
77      }
78      {
79        var cov = new CovarianceSum();
80        cov.Terms.Add(new CovarianceMaternIso());
81        cov.Terms.Add(new CovarianceMaternIso());
82        cov.Terms.Add(new CovarianceNoise());
83        var hyp = new double[] { 0, 0, -1, 1, -4 };
84        descriptorList.Add(new GaussianProcessRegressionInstance("Matern1+Matern1", cov, hyp));
85      }
86      {
87        var cov = new CovarianceSum();
88        var m1 = new CovarianceMaternIso();
89        m1.DParameter.Value = m1.DParameter.ValidValues.First(v => v.Value == 3);
90        var m2 = new CovarianceMaternIso();
91        m2.DParameter.Value = m2.DParameter.ValidValues.First(v => v.Value == 3);
92        cov.Terms.Add(m1);
93        cov.Terms.Add(m2);
94        cov.Terms.Add(new CovarianceNoise());
95        var hyp = new double[] { -2.7, 0, -1, 1, -1.5 };
96        descriptorList.Add(new GaussianProcessRegressionInstance("Matern3+Matern3", cov, hyp));
97      }
98      {
99        var cov = new CovarianceSum();
100        cov.Terms.Add(new CovarianceRationalQuadraticIso());
101        cov.Terms.Add(new CovarianceSquaredExponentialIso());
102        cov.Terms.Add(new CovarianceNoise());
103        var hyp = new double[] { -1.5, -0.5, -3, -1, -1, -3 };
104        descriptorList.Add(new GaussianProcessRegressionInstance("RQ+SE", cov, hyp));
105      }
106      {
107        var cov = new CovarianceSum();
108        cov.Terms.Add(new CovarianceSquaredExponentialIso());
109        var prod = new CovarianceProduct();
110        prod.Factors.Add(new CovarianceLinear());
111        prod.Factors.Add(new CovarianceNoise());
112        cov.Terms.Add(prod);
113        cov.Terms.Add(new CovarianceNoise());
114        var hyp = new double[] { -3, 0, 0, -1.5 };
115        descriptorList.Add(new GaussianProcessRegressionInstance("SE+Linear*Noise", cov, hyp));
116      }
117      {
118        var cov = new CovarianceSum();
119        cov.Terms.Add(new CovarianceSquaredExponentialIso());
120        cov.Terms.Add(new CovariancePeriodic());
121        cov.Terms.Add(new CovarianceNoise());
122        var hyp = new double[] { -1, 0, 0, -1.5, 0, -2 };
123        descriptorList.Add(new GaussianProcessRegressionInstance("SE+Periodic", cov, hyp));
124      }
125
126
127      return descriptorList;
128    }
129  }
130}
131
Note: See TracBrowser for help on using the repository browser.