[mlpack] Numeric sensitivity of RangeSearch
Ryan Curtin
gth671b at mail.gatech.edu
Tue Mar 25 10:06:57 EDT 2014
On Tue, Mar 25, 2014 at 09:55:17PM +0800, Li Dong wrote:
> Dear Ryan,
>
> I have isolated a bug case into a single code in the attachment, from which you can see the results:
>
> Neighbor grid number is 201 when R is 1.
> Neighbor grid number is 102 when R is 6.371e+06.
Hi Li,
Thank you for the easy code sample. In the code you have written:
typedef mlpack::tree::BinarySpaceTree<
mlpack::bound::HRectBound<2>,
mlpack::range::RangeSearchStat> TreeType;
typedef mlpack::metric::SquaredEuclideanDistance MetricType;
typedef mlpack::range::RangeSearch<MetricType, TreeType> Searcher;
If you change SquaredEuclideanDistance to EuclideanDistance, the problem
is solved. I noticed that the tutorial [1] suggests using the
SquaredEuclideanDistance class, but this is no longer correct based on
the pruning rules that the RangeSearch class uses.
I have fixed the tutorials in r16378 and r16379 and am in the process of
rebuilding them for the website. I am sorry for the errors in the
tutorials.
Thanks,
Ryan
--
Ryan Curtin | "I am."
ryan at ratml.org | - Joe
More information about the mlpack
mailing list