New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaussian Proces in MLpack #851

Closed
IlievskiV opened this Issue Jan 16, 2017 · 11 comments

Comments

Projects
None yet
4 participants
@IlievskiV

IlievskiV commented Jan 16, 2017

Hello,

is there a Gaussian Process implementation in MLpack?

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Jan 17, 2017

Member

Hi there Vladimir,

At this time there is no GP implementation. Sorry that the support you are looking for isn't here. On the other hand, you are always welcome to contribute an implementation... :)

Thanks,
Ryan

Member

rcurtin commented Jan 17, 2017

Hi there Vladimir,

At this time there is no GP implementation. Sorry that the support you are looking for isn't here. On the other hand, you are always welcome to contribute an implementation... :)

Thanks,
Ryan

@IlievskiV

This comment has been minimized.

Show comment
Hide comment
@IlievskiV

IlievskiV Jan 17, 2017

Hi Ryan,

sure, I would be happy to provide an implementation, that was exactly my point :)

Thanks,
Vladimir

IlievskiV commented Jan 17, 2017

Hi Ryan,

sure, I would be happy to provide an implementation, that was exactly my point :)

Thanks,
Vladimir

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Jan 17, 2017

Member

Great, I was hoping you would say that. :)

When you do write an implementation, please try and conform to the mlpack style guide --- https://github.com/mlpack/mlpack/wiki/DesignGuidelines --- and write some tests so that we can know that it works. If there's anything I can clarify, please let me know and I'm happy to help out. Ideally the implementation we end up with should be faster than other libraries' implementations, but since we are writing in C++ and using Armadillo, we already have a pretty good head start to making things fast. When it's ready I'll take a look over it and I'll see if I can think of any optimizations that might make it faster. :)

Member

rcurtin commented Jan 17, 2017

Great, I was hoping you would say that. :)

When you do write an implementation, please try and conform to the mlpack style guide --- https://github.com/mlpack/mlpack/wiki/DesignGuidelines --- and write some tests so that we can know that it works. If there's anything I can clarify, please let me know and I'm happy to help out. Ideally the implementation we end up with should be faster than other libraries' implementations, but since we are writing in C++ and using Armadillo, we already have a pretty good head start to making things fast. When it's ready I'll take a look over it and I'll see if I can think of any optimizations that might make it faster. :)

@IlievskiV

This comment has been minimized.

Show comment
Hide comment
@IlievskiV

IlievskiV Jan 23, 2017

Hello Ryan,

after careful consideration of the Gaussian Processes, I decided to split the implementation in two parts. First, all Covariance functions, which are predefined, must be implemented and tested, and only after this the actual implementation of the Gaussian Process can be done.

So, one module is the covariance functions, and then it is the Gaussian Process, but only for regression. For classification it needs further refinement.

IlievskiV commented Jan 23, 2017

Hello Ryan,

after careful consideration of the Gaussian Processes, I decided to split the implementation in two parts. First, all Covariance functions, which are predefined, must be implemented and tested, and only after this the actual implementation of the Gaussian Process can be done.

So, one module is the covariance functions, and then it is the Gaussian Process, but only for regression. For classification it needs further refinement.

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Jan 23, 2017

Member

Hi Vladimir,

I think this is a good plan. If you open a PR with the GP covariance functions, I'll do my best to look through it quickly.

Thanks!
Ryan

Member

rcurtin commented Jan 23, 2017

Hi Vladimir,

I think this is a good plan. If you open a PR with the GP covariance functions, I'll do my best to look through it quickly.

Thanks!
Ryan

@IlievskiV

This comment has been minimized.

Show comment
Hide comment
@IlievskiV

IlievskiV Jan 25, 2017

Hey Ryan,

I wrote some GP covariance functions, which are part of a separate module called gp. However, since I don't have so much experience with cmake and make, can you explain me how to integrate this module within mlpack, such that I will be able to build it altogether with the other modules.

Best,
Vladimir

IlievskiV commented Jan 25, 2017

Hey Ryan,

I wrote some GP covariance functions, which are part of a separate module called gp. However, since I don't have so much experience with cmake and make, can you explain me how to integrate this module within mlpack, such that I will be able to build it altogether with the other modules.

Best,
Vladimir

@zoq

This comment has been minimized.

Show comment
Hide comment
@zoq

zoq Jan 25, 2017

Member

I'm not Ryan but this might be helpful:

  1. Create a new folder in src/mlpack/methods/
  2. Create a CMakeLists.txt file in the created folder; take a look at the already existing CMakeLists.txt files to get an impression how the structure looks like e.g.: https://github.com/mlpack/mlpack/tree/master/src/mlpack/methods/linear_regression
  3. Add new folder to https://github.com/mlpack/mlpack/blob/master/src/mlpack/methods/CMakeLists.txt

That should be it.

Member

zoq commented Jan 25, 2017

I'm not Ryan but this might be helpful:

  1. Create a new folder in src/mlpack/methods/
  2. Create a CMakeLists.txt file in the created folder; take a look at the already existing CMakeLists.txt files to get an impression how the structure looks like e.g.: https://github.com/mlpack/mlpack/tree/master/src/mlpack/methods/linear_regression
  3. Add new folder to https://github.com/mlpack/mlpack/blob/master/src/mlpack/methods/CMakeLists.txt

That should be it.

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin Apr 24, 2017

Member

I'm going to close this for inactivity---when the implementation is ready (or if more comments need to be made here) we can reopen it or handle it in a PR.

Member

rcurtin commented Apr 24, 2017

I'm going to close this for inactivity---when the implementation is ready (or if more comments need to be made here) we can reopen it or handle it in a PR.

@VarunPai

This comment has been minimized.

Show comment
Hide comment
@VarunPai

VarunPai May 16, 2018

Hi Ryan,

Is there any implementations of GPR made or planned so far ? I couldn't find any one.
Since I am new to ML, I have one question. I found an api called GaussianDistribution::Train(). Can we use this for a Gaussian process regression ?

VarunPai commented May 16, 2018

Hi Ryan,

Is there any implementations of GPR made or planned so far ? I couldn't find any one.
Since I am new to ML, I have one question. I found an api called GaussianDistribution::Train(). Can we use this for a Gaussian process regression ?

@rcurtin

This comment has been minimized.

Show comment
Hide comment
@rcurtin

rcurtin May 16, 2018

Member

Hi there @VarunPai, there is currently no GP regression support in mlpack. The function GaussianDistribution::Train() can be used to fit the parameters of a single Gaussian distribution (mean and covariance) to the given observations, but that isn't GP regression.

Member

rcurtin commented May 16, 2018

Hi there @VarunPai, there is currently no GP regression support in mlpack. The function GaussianDistribution::Train() can be used to fit the parameters of a single Gaussian distribution (mean and covariance) to the given observations, but that isn't GP regression.

@VarunPai

This comment has been minimized.

Show comment
Hide comment
@VarunPai

VarunPai May 17, 2018

@rcurtin Thank you for the info.

VarunPai commented May 17, 2018

@rcurtin Thank you for the info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment