Closed HeuristicLab-Trac-Bot closed 11 years ago
r8323: initial import of Gaussian process regression algorithm
- fixed build (be ready for the obligatory round of beers at the archery meeting)
- set copy-local to false for new references
r8375: implemented Gaussian process regression operators and analyzers
r8403: introduced upper limit for scale of SEard covariance function
r8416: worked on sum and product covariance functions and fixed a few bugs.
r8419: changed initialization of hyperparameter vector for GPR using a PRNG
r8455: changed calculation of gradients for covariance functions to reduce allocations of arrays
- implemented unit tests for mean and covariance functions.
- implemented sum and product mean function.
- fixed incorrect gradient calculation in CovarianceProd
r8463: improved GPR implementation:
- implemented additional unit tests
- fixed bugs uncovered by unit tests
- improved performance
- added views for sum and product mean functions
- added line chart
- made parameters of mean and covariance functions readable
- removed target variable scaling
- moved noise hyperparameter for likelihood function to the end of the parameter list
- added methods to calculate the predicted variance
- removed limits for scale of covariance functions and introduced exception handling to catch non-spd or singular cov matrixes
- implemented rational quadratic covariance function
- added unit test case from GBML book - however, it does not work as the book seemingly uses a noise-less likelihood function
- changed interface for covariance functions to improve readability
- fixed several bugs in the covariance functions
- fixed bugs in the line chart for Gaussian process models
r8489: removed caches in product and sum covariance functions and fixed bug in SE-ARD covariance function
I tested GPR on my dataset and found that CovarianceProd, CovarianceSum, and CovariancePeriodic throw an exception in the GaussianProcessRegressionSolutionCreator. Is there anything I need to take care of in these covariance functions?
I would prefer constrained value parameters. Otherwise you can't use them in the create experiment dialog. What's the motivation for moving to a value parameter?
Replying to [comment:27 abeham]:
I tested GPR on my dataset and found that CovarianceProd, CovarianceSum, and CovariancePeriodic throw an exception in the GaussianProcessRegressionSolutionCreator. Is there anything I need to take care of in these covariance functions?
The sum and product covariance functions need must be configured to have at least one child. The periodic covariance function only works for the 1d case (one input variable). With r8494 I changed the parameters so that it becomes more obvious that the sum and product covariance function need to be configured correctly. I also changed the solution creator so that it doesn't throw an exception.
Sum and product covariance function cannot be used in the create experiment dialog anyway.
r8562: implemented LinearARD and MaternIso covariance functions.
- implemented a few covariance functions as parameterized named items.
- Implemented rudimentary view for Gaussian process models.
r8612: implemented all mean and covariance functions with parameters as ParameterizedNamedItems
r8620: renamed more files. implemented scale covariance function.
r8678: added masking covariance function and made necessary changes to interface and utility class.
- changed DiscriminantFunctionClassificationModel and DiscriminantFunctionClassificationSolution to non-abstract.
- Classification based on GPR uses these classes to create a classification solution from a GaussianProcessRegressionModel.
- Also added view classes for DiscriminantFunctionClassificationModel
I noticed that the solution in the run object is only a result collection, but not a DiscriminantFunctionClassificationSolution anymore.
- fixed bug in cloning constructor of CovarianceMask
- removed throwing Exceptions in CovariancePeriodic (the behaviour of the periodic covariance function now matches the GPML implementation again.
Replying to [comment:45 abeham]:
I noticed that the solution in the run object is only a result collection, but not a DiscriminantFunctionClassificationSolution anymore.
Thanks for the hint! The cloning method override is missing.
r8683: added missing cloning method override in DiscriminantFunctionClassificationSolution
Issue migrated from trac ticket # 1902
milestone: HeuristicLab 3.3.8 | component: Algorithms.DataAnalysis | priority: medium | resolution: done
2012-07-25 11:24:53: @gkronber created the issue