JSOC is ending, but not my involvement with Julia ecosystem
This is my last article for JSOC. What an amazing experience! Below you can find a summary of my project.
Initial proposal
The proposal was about a new package: Surrogates.jl, that would entail:
- Sampling methods.
- A wide variety of surrogates (approximating functions).
- Optimization methods for such surrogates.
The main aim is to approximate expensive processes with functions (surrogates) that are less computational intensive.
Looking back, my proposal was too conservative: I planned on developing:
- Radial Basis surrogate
- Neural network and Random forest surrogates
- Single output Gaussian processes (Kriging)
- Optimization methods (Not specifying which ones)
If you followed my past posts, you will realize that more or less this was done around mid-July.
I was a bit scared of underachieving, next year for sure I will be braver when applying again for GSOC.
Achievements
At the moment the library has the following methods available:
Sampling techniques
- Grid sample
- Uniform sample
- Sobol sample
- LHS sample
- Low discrepancy sample
- Random sample
Surrogates
- Radial Basis
- Kriging
- Linear
- Random forest
- SVM
- Second order polynomial
- Neural network
- Lobachesky
- Inverse-distance
Optimization methods
- SRBF
- LCBS
- EI
- DYCORS
You can find more information about the details in the docs.
Future developments
There is still a lot that I want to do with this library, mainly:
Adding more surrogates, such as: MARS, Polynomial chaos expansion, Regularized tensor-product splines, Wendland compactly supported basis functions, Mixture of experts and many more, as you can see here.
- Finish the last optimization method planned, whose PR has been open for too long: SOP optimization method.
- Developing a nice interface with the rest of Diffeq package.
- Developing multi output surrogates
As you can see there is still a lot to do! I am planning on keeping up the development so if you are interested in contributing just write me on slack at @ludoro.
I am pleased to say that I have already been getting some private messages with suggestions on the package and asking directions on how to contribute, such a nice feeling!
Final words
Surrogates.jl has been registered with this PR and is now becoming an official package! WOW.
It was the initial plan all along but I still cannot believe it.
The work I have been doing has always been fun, I have enjoyed every single bit of it! For sure I need to thank my amazing mentor: Chris Rackauckas, and the super supportive Julia community. Many thanks also to my supportive girlfriend and my friend Claudio.
Ludovico