Skip to content
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

Update tensor_prod.md #464

Closed
wants to merge 16 commits into from
Closed

Update tensor_prod.md #464

wants to merge 16 commits into from

Conversation

Spinachboul
Copy link
Contributor

I have made a new PR for the previous change. This is just changing the tensor_prod function in a more readable form which I think I, @ChrisRackauckas and @sathvikbhagavan agreed. Kindly please review it for merging.

Next I am working on explaining the mathematical concepts for Kriging and other surrogate models. I already gave a sample explaination for Kriging and asked if we could go with the same format.
So in future I will hit a draft PR where I will constantly modify the tutorials section.

Well this is the explaination for Kriging:

pic2

qwerty

Copy link

codecov bot commented Jan 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (b66096e) 78.00% compared to head (af820a3) 78.12%.
Report is 11 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #464      +/-   ##
==========================================
+ Coverage   78.00%   78.12%   +0.12%     
==========================================
  Files          23       23              
  Lines        3155     3159       +4     
==========================================
+ Hits         2461     2468       +7     
+ Misses        694      691       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Spinachboul
Copy link
Contributor Author

@sathvikbhagavan and @ChrisRackauckas
Have you gone through the explanation and also the PR??

@sathvikbhagavan
Copy link
Member

For the benchmarks, I was thinking each benchmark problem should have three sections:

  1. Introduction - explains the problem and provides a mathematical formulation
  2. Collect training and test data and some simple plot
  3. Trains various surrogates, reports test accuracy, plots for each - and reports which one is the best among them

Can you do the same for tensor product benchmark?

As for the Kriging, please open a separate PR and edit the explanations in the tutorials. It will be easier to see the changes.

@Spinachboul
Copy link
Contributor Author

@sathvikbhagavan.
Could you please look into the PR
I have made the changes in tensor_prod benchmark

@Spinachboul
Copy link
Contributor Author

@ChrisRackauckas and @sathvikbhagavan
Please have a look, at this PR. I have used 5 models for benchmark tensor product function

Comment on lines +114 to +126
# Tabular Representation of all Surrogates and their MSE Scores

| Surrogate Model | MSE Score |
|-------------------|----------------------|
| Kriging | 4.70493378010316e-5 |
| Lobachevsky | 7.967792682690972e-5|
| Radial Basis | 0.004972603698976124 |
| RandomForest | 0.2023233139232778 |
| Poly1 | 0.4124881232761028 |
| Poly2 | 0.42166909818265136 |


This structure provides a framework for generating data, training various surrogate models, evaluating their performance on test data, and reporting the best surrogate based on performance metrics like MSE. Adjustments can made to suit the specific evaluation criteria or additional surrogate models.
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't make any sense here. What does this have to do with the tensor product function?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually, this is what we can do for all the benchmarks , and this was suggested by @sathvikbhagavan that we should analyse all the models and choose the best one for a specific benchmark.

Copy link
Member

Choose a reason for hiding this comment

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

benchmarks wouldn't go into the documentation, that would go into the SciMLBenchmarks.

Copy link
Member

Choose a reason for hiding this comment

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

Also, the solution shouldn't be hardcoded but instead generated by computation

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Generated as in using the Documenter.jl??

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh ok! But then what should I do for this PR? I mean we can still include choosing the best surrogate for a specific benchmark right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also I am not very much aware of how do we use Weave? You have any tutorial or something??

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oh ok! And what should I do with this PR? should I generate the code blocks using weave right now?

Copy link
Member

Choose a reason for hiding this comment

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

Make a weave jmd and open a PR to SciMLBenchmarks

@sathvikbhagavan
Copy link
Member

@ChrisRackauckas just to clarify, should we have benchmarks section in Surrogates documentation or completely move them to SciMLBenchmarks?

@ChrisRackauckas
Copy link
Member

Yes, we should make a new surrogates section

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants