Skip to content

Add Gaussian Processes - #334

Open
FriesischScott wants to merge 185 commits into
masterfrom
gaussian-processes
Open

Add Gaussian Processes#334
FriesischScott wants to merge 185 commits into
masterfrom
gaussian-processes

Conversation

@FriesischScott

@FriesischScott FriesischScott commented Jul 31, 2026

Copy link
Copy Markdown
Member

This PR replaces #245 with one originating from within the repository.

There is still some work needed to clean the code:

  • Implement noise directly in GP
    • Add or un-add sigma in optimization here
  • Refine user interface
  • Schlepp data with
  • Add refinement
  • Check and aufräum data transformation

felixmett and others added 30 commits February 6, 2024 13:07
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Setting sigma^2=0.0 can lead to numerical instabilities. Thus, I changed the default value to 1e10 and added a warning the the input check when sigma^2 is not optimized and it is smaller than `eps()`.
@lukasfritsch

Copy link
Copy Markdown
Member

I started some work on adaptive GPs based on the current state of the GP implementation. Do we want to add this in this PR or later?

@FriesischScott

Copy link
Copy Markdown
Member Author

I started some work on adaptive GPs based on the current state of the GP implementation. Do we want to add this in this PR or later?

Let's do the base here and the refinement in a second step.

Start adding adaptive GPs with several learning functions, test and docs; add random restarts to hyperparameter optimization; add Base.show methods for GaussianProcess for nicer printing; and some small fixes to GP examples and to tests for stability (e.g., not setting variance = 0 and removing ARDTransform form Himmelblau example)

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 25 out of 26 changed files in this pull request and generated 6 comments.

Suppressed comments (3)

src/models/gp/gaussianprocess.jl:126

  • Docstring says σ² defaults to 0.0, but the constructor default is σ²::Float64 = 1.0e-10. Please keep the documented default consistent with the implementation.
- `σ²`: The noise variance. Defaults to 0.0.

src/models/gp/gaussianprocess.jl:208

  • Docstring says σ² defaults to 0.0, but the constructor default is σ²::Float64 = 1.0e-10. This should be aligned for accurate docs.
- `σ²`: The noise variance. Defaults to 0.0.

src/models/gp/gaussianprocess.jl:280

  • Docstring says σ² defaults to 0.0, but the constructor default is σ²::Float64 = 1.0e-10. Please update the docs or the default.
- `σ²`: The noise variance. Defaults to 0.0.

Comment thread src/models/gp/gaussianprocess.jl Outdated
Comment thread src/models/gp/gaussianprocess.jl Outdated
Comment thread src/models/gp/gaussianprocess.jl Outdated
Comment thread src/models/gp/gaussianprocess.jl Outdated
Comment thread src/models/gp/hyperparametertuning.jl Outdated
Comment thread src/models/gp/adaptivegaussianprocess.jl
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@lukasfritsch

Copy link
Copy Markdown
Member

The tests in models/gp/hyperparametertuning.jl seem to be unstable and I'm unsure why that is. I thought it was due to the variance initially being set to 0.

Also, I'm unsure how the ARDTransform works. When I understand the docs right, adding ARDTransform([1.0, 1.0]) should just multiply each element by 1.0.
However, when I removed it from the Himmelblau example, the results are much better (in terms of MSE). But then, when I tried out the adaptive GPs for reliability, the learning only converges when using the kernel along with the ARDTransform([1.0])

@jgrashorn jgrashorn self-assigned this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants