Comments (15)
We should have an operation "addProposedPointsToDesign".
Do that in sequence. Have an option to exclude points which are too close to already added points.
Have a heuristic to exchnage them for other (random?) points.
from mlrmbo.
At the moment points are proposed by method proposePoints
and evaluated/added to the design via evalProposedPoints
. I suggest one of the two following solutions:
- let
proposePoints
handle that, i. e. modifyproposePoints
: at the end "filter" out points, which are to close to existing design points - let
proposePoints
untouched and call anotherMethodremoveProposedPoints
after the proposal, if the option is activated.
Tell me which option seems more appealing to you.
from mlrmbo.
call a separate method in mboTemplate.
and i ithink it really is best to positively "accept" the points in sequence, like i already said.
a point is accepted if it is not too close to existing points or points already accepted.
from mlrmbo.
So principally we loop over the proposed points and check whether they are to close. If they are not to close, we add them to the design in a greedy fashion and go on with the next proposed point. Otherwise we remove the point. Ok?
from mlrmbo.
No.
Let S be the points in the design. Let P be the proposed points.
For p in P do
if p is not too close to S (any point), S = S + p
Return points you added in this process.
from mlrmbo.
I am confused. This is what I described above.
Moreover, If we have two proposed points in P, i.e. P = {p1,p2} and the first is accepted, then the second point is checked not being in (S u {p1}), right?
As a last point. If all points are too close, we return the one which has to biggest distance. I think this is a good Idea.
from mlrmbo.
I am confused. This is what I described above.
Ok. Maybe I misread.
Moreover, If we have two proposed points in P, i.e. P = {p1,p2} and the first is accepted, then the second >point is checked not being in (S u {p1}), right
Yes that it is not too close to them. I said S = S + p in the pseudo code.
As a last point. If all points are too close, we return the one which has to biggest distance. I
think this is a good Idea.
I dont get this. If all proposed points are too close to the current design, you must return none.
The kriging model is likely to break if you add points which are too close.
from mlrmbo.
Yes that it is not too close to them. I said S = S + p in the pseudo code.
Ok, I asked again just to be sure ;-)
I dont get this. If all proposed points are too close to the current design, you must return none.
The kriging model is likely to break if you add points which are too close.
Ok, I understand and know this kriging issue, but we have to propose something. Otherwise we cannot refine the model. Do we stop the optimization process if this happens?
from mlrmbo.
Hmm. For now do it like this:
For EVERY removed point sample a random point and add this.
from mlrmbo.
Ok, but if we do so we also have to compute crit.vals and stuff like that for all the random points as well.
Moreover we should add a loop, because the random points may be too close as well.
from mlrmbo.
Ok, for now there is no loop. Discarded points are replaced by random points and the meta data for these points is set to NA.
from mlrmbo.
Ok.
-
Add a boolean flag to the opt.path / getExtras that a point was produced by random sampling.
-
The probability is basically zero that you produce a "close point" again by random sampling so I guess we dont need a second loop for now to check this.
-
Make sure that we have unit tests and fix / generalize the buggy one I already coded for LCB.
from mlrmbo.
Ok, basically this is done and tested.
from mlrmbo.
Yeah, because I invested time into it...
Can you please carefully and manually check that this does what is expected, all the "events" are logged correctly, so one can later see what happened?
Then close it
from mlrmbo.
Checked it. Seemingly it works as expected. Closing.
from mlrmbo.
Related Issues (20)
- invalid class “km” object: the number of experiments must be larger than the spatial dimension HOT 2
- invalid class “km” object: the number of experiments must be larger than the spatial dimension HOT 7
- pkgdown-site points to slack HOT 1
- human in the loop mbo fails if final.evals is != 0
- Undocumented ranges for settings
- Error in if (err < tol) break : missing value where TRUE/FALSE needed for 'classif.gausspr' HOT 6
- The 'configureMlr' can not work with the parallel computing HOT 4
- qLCB not implemented perfectly
- The solution to the died training-No return HOT 1
- Test failure on R-devel HOT 3
- MOIMBO with interleave.random.points causes error HOT 1
- Unable to install mlrMBO using install.packages dependencies=T. I am on IOS and using R v 1.4, someone else? HOT 4
- optimizing "multiple objective" functions with "constraints" HOT 3
- Error: unused arguments (forbidden = expression(x2 > x1)) HOT 1
- Final Answer from mlrMBO outside of the specified variable ranges (multi objective function) HOT 2
- Error: Error in as.data.frame.OptPathDF(opt.path, include.rest = FALSE) : No elements where selected (via 'dob' and 'eol')! HOT 8
- Error: Setting of final.method and final.evals for multi-objective optimization not supported at the moment.
- Possible lack of consistency in xgboost hyperparameters optimization?
- error with AEI again
- Multi-task hyperparameter tuning using bayesian optimization
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mlrmbo.