Uh oh!
There was an error while loading. Please reload this page.
add AverageLearner1D and AverageLearner2D - #143
Conversation
cb83625 to
7ccb583Compare8228cb7 to
79c9edfCompareUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
a73c167 to
2696f86Compare5f3aeba to
51f4292Compared057831 to
2681aebComparebasnijholt
commented
Mar 19, 2019
@anton I have implemented what you suggested in chat:
The problem now is that once a point has a lot of "seeds", increasing the number of seeds by 10% will give a big loss improvement, probably the biggest, so the number of values at that point will grow very big. Conceptually this shouldn't happen, so I probably made a mistake in the following method: defloss_per_existing_point(self):
"""Increase the number of seeds by 10%."""iflen(self.data) <4:
return [], []
scale=self.value_scale()
points= []
loss_improvements= []
neighbors=self._get_neighbor_mapping_existing_points()
mean_values_per_neighbor=self._mean_values_per_neighbor(neighbors)
forp, seminself.data_sem.items():
n_neighbors=mean_values_per_neighbor[p]
N=self.n_values(p)
n_more=int(1.1*N) # increase the amount of points by 10%points.append((p, n_more))
# This is the improvement considering we will add# n_more seeds to the stack.sem_improvement= (1/sqrt(N) -1/sqrt(N+n_more)) *semloss_improvement=self.weight*sem_improvement/scale# XXX: Do I need to divide by the scale?loss_improvements.append(loss_improvement)
returnpoints, loss_improvements |
akhmerov
commented
Mar 19, 2019
If you increase the number of points by 10%, the rms at the point drops by 5%; why would this be the biggest loss improvement? |
b235c4e to
17c9b79Compare713d22c to
e9da31dComparefd30d36 to
ddfc9b8Compare61afe1d to
8b448a5Comparebasnijholt
commented
Apr 23, 2019
I've noticed that the |
ae94904 to
155fe13Comparebasnijholt
commented
Apr 25, 2019
b84633f to
7e060e1Compare081b3a5 to
ee808d3Comparebasnijholt
commented
May 13, 2019
The failing test |
91e38f1 to
bc190a7Compare
(original merge request on GitLab)
opened by Bas Nijholt (@basnijholt) at 2018-06-05T21:40:00.078Z
This merge request implements a Learner2D that can learn averages on the points, the
AverageLearner2D.When choosing points the learner can either
The learner compares the loss of potential new triangles with the standard error of an existing point.
The relative importance of both can be adjusted by a hyperparameter
learner.weight.From the doc-string:
All tests that pass for the
Learner2Dcurrently pass for theAvererageLearner2Dtoo.Run with:
which results in:
and
x).δybetween neighbouring points is comparable tostd(y). This is best to do in 1D learner.reference/adaptive.learner.average1D.html.