Opened 5 years ago

Closed 19 months ago

#1967 closed enhancement (done)

Evolution of mean and covariance functions for Gaussian processes using GP

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.13
Component: Algorithms.DataAnalysis Version: 3.3.12
Keywords: Cc:

Description


Change History (39)

comment:1 Changed 5 years ago by gkronber

r8751:8755 initial import of GPR evolution branch

comment:2 Changed 5 years ago by gkronber

r8826: added benchmark instances for GPR tuning

comment:3 Changed 5 years ago by gkronber

r8873, r8879 implemented possible benchmark instances for covariance evolution

comment:4 Changed 4 years ago by gkronber

r9099: adapted GP tuning branch to work with most recent trunk

comment:5 Changed 4 years ago by gkronber

r9100: added build script

comment:6 Changed 4 years ago by gkronber

r9102: ILNumerics source for experimentation

comment:7 Changed 4 years ago by gkronber

r9103: set svn:ignore properties

comment:8 Changed 4 years ago by gkronber

r9124: implemented utility app to draw random samples using a GP prior

comment:9 Changed 4 years ago by gkronber

r9125: svn:ignore

comment:10 Changed 4 years ago by gkronber

r9212: worked on Gaussian Process evolution problem

comment:11 Changed 4 years ago by gkronber

r9338: minor adaptations necessary for the EuroCAST presentation.

comment:12 Changed 4 years ago by gkronber

  • Status changed from new to accepted

comment:13 Changed 4 years ago by gkronber

r9387: added CovNN symbol and tree node

comment:14 Changed 4 years ago by gkronber

r9562: implemented GP model using the Eigen library for calculation of model likelihood and gradients r9566: removed auto-generated files and set svn:ignore properties

Last edited 4 years ago by gkronber (previous) (diff)

comment:15 Changed 4 years ago by gkronber

r9622: fixed generation of GPR problem instances (sampling from Gaussian processes) to work together with the current trunk version

comment:16 Changed 3 years ago by gkronber

r10756:10757

  • adaptations to work with current trunk version
  • removed obsolete classes and cleaned up the implementation.
  • Added the ProblemInstanceProvider interface to allow loading of CSV files.

comment:17 Changed 21 months ago by gkronber

r12946: added implementation of synthesis of covariance functions for Gaussian Process regression as a BasicProblem<SymbolicExpressionTreeEncoding>

comment:18 Changed 21 months ago by gkronber

r12948: added missing plugin reference

comment:19 Changed 21 months ago by gkronber

r12953: deleted obsolete branch (functionality has been partially implemented in trunk version of HeuristicLab) ILNumerics, Eigen, and MKL implementations are also removed.

comment:20 Changed 21 months ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from accepted to reviewing

Only r12946, r12948, r12953 need to be reviewed. The implementation in trunk uses nothing from the branch.

comment:21 Changed 21 months ago by gkronber

r12954: removed unused usings

comment:22 Changed 19 months ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.13

comment:23 Changed 19 months ago by gkronber

  • Version changed from branch to 3.3.12

comment:24 follow-up: Changed 19 months ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from reviewing to assigned

Review comments of GaussianProcessCovarianceOptimizationProblem:

  • Line 254: Is there no more specific expection available as Exception?
  • Why is the resulting GP model not displayed?
  • The resulting covariance function should be built so that it can be reused for GP modeling.

comment:25 in reply to: ↑ 24 Changed 19 months ago by gkronber

Replying to mkommend:

Review comments of GaussianProcessCovarianceOptimizationProblem:

  • Line 254: Is there no more specific expection available as Exception?

Ok, can do.

  • Why is the resulting GP model not displayed?
  • The resulting covariance function should be built so that it can be reused for GP modeling.

I think the only way to accomplish this would be to introduce problem state (maybe as parameters) in order to transmitt information from Evaluate() to Analyze(). Other suggestions?

comment:26 Changed 19 months ago by gkronber

r13200: also added the Gaussian process solution as a result

comment:27 Changed 19 months ago by gkronber

r13201: create a copy of the hyper-parameter array

comment:28 Changed 19 months ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from assigned to reviewing

comment:29 Changed 19 months ago by mkommend

r13209: Implemented IStatefulItem in GaussianProcessCovarianceOptimizationProblem to clear the temporary parameters correctly.

comment:30 Changed 19 months ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from reviewing to assigned

Reviewed r13200 and r13201 and corrected the behavior with r13209.

I noticed is that although the seed is fixed the algorithm gives different results. I don't know if this behavior was introduced with the changesets mentioned above or existed before.

comment:31 Changed 19 months ago by gkronber

Thanks for spotting this bug! This is a generally a critical problem when using BasicProblems in combination with ParallelEngine. (see #2511)

comment:32 Changed 19 months ago by gkronber

r13234: synchronized access to PRNG in GaussianProcessCovarianceOptimizationProblem.Evaluate() and added a comment

comment:33 Changed 19 months ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from assigned to reviewing

comment:34 Changed 19 months ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from reviewing to readytorelease

r13242: Introduced separate lock object for synchronizing access to the random object.

Locking on this or passed references is considered a bad practise.

comment:36 Changed 19 months ago by gkronber

By mistake the changeset r13160 (see #2504) slipped through (which includes changes on files all over the solution)!

comment:37 Changed 19 months ago by gkronber

r13286: merged r12946,r12948,r12953,r12954 from trunk to stable

Last edited 19 months ago by gkronber (previous) (diff)

comment:38 Changed 19 months ago by gkronber

r13287: partial merge of r13160 from trunk to stable

comment:39 Changed 19 months ago by gkronber

r13290: merged r13200,r13201,r13209,r13234,r13242 from trunk to stable

Last edited 19 months ago by gkronber (previous) (diff)

comment:40 Changed 19 months ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.