Bill March
4e3740298b
fixed line that referred to nearest neighbor search
2012-06-04 16:01:16 +00:00
Ryan Curtin
4e7c68c374
Add two more kernels. They need to be parameterized.
2012-06-02 05:09:30 +00:00
Ryan Curtin
6211a2c245
Parent distance is the interesting one to track, not furthest child distance.
...
Fix a few bugs so that furthest descendant distance is correct.
2012-05-28 21:21:06 +00:00
Ryan Curtin
a5e73dcc71
No far set in root node.
2012-05-28 04:11:57 +00:00
Ryan Curtin
05a7fd57a8
No far set in root node.
2012-05-28 04:11:22 +00:00
Ryan Curtin
8dae279570
Fix a couple bugs in furthest child and descendant determination.
2012-05-27 22:36:29 +00:00
Ryan Curtin
89f21592c4
Store furthest child distance and furthest descendant distance. This can allow
...
better pruning rules.
2012-05-27 19:39:16 +00:00
Ryan Curtin
60e1694cc9
Relax the separation constraint to include equality (in accordance with the
...
paper).
2012-05-27 19:04:50 +00:00
Ryan Curtin
28499a50d0
Some slightly ugly additions -- but which give an order of magnitude speedup
...
during cover tree construction. It turned out that when we were handing the
new near and far set to a child, we did not remove points with distance further
than the far set bound, meaning that the far sets were way larger than they
needed to be. Preliminary results indicate fewer distance calculations during
tree-building than Langford's original implementation.
2012-05-27 06:13:51 +00:00
Ryan Curtin
0fb10c805d
Rewrite swapping code.
2012-05-25 14:38:43 +00:00
Ryan Curtin
34102cb807
Halfway transitioned to newer implementation, which does not try so hard to
...
conserve memory.
2012-05-25 03:34:27 +00:00
Ryan Curtin
e9a930c78c
Work for older CMake versions (2.8.2) and finding older Armadillo versions.
2012-05-24 17:26:37 +00:00
Ryan Curtin
94b87e91ef
This test does not compile with Armadillo 3.2; I have not yet had a chance to
...
figure out why.
2012-05-23 17:39:44 +00:00
Ryan Curtin
26325d338a
Count kernel evaluations.
2012-05-21 18:59:26 +00:00
Ryan Curtin
6f3cc23f2f
Revamp breadth-first descent to consider tree levels so it is the proper
...
breadth-first descent.
2012-05-21 18:51:21 +00:00
Ryan Curtin
628b7767c2
Don't used squared distance in tree construction.
2012-05-21 17:11:22 +00:00
Ryan Curtin
07d93db37b
Consider queryProducts kernel evaluations too.
2012-05-21 16:27:09 +00:00
Ryan Curtin
4cd5899897
Put ugly global variable in so it compiles. This will be cleaned later...
2012-05-21 16:09:43 +00:00
Ryan Curtin
14370b9695
Needs to be the square root, not actually K(q, q).
2012-05-21 16:06:46 +00:00
Ryan Curtin
dcc2bf6172
Update kernels in ugly ways that need to be removed later.
2012-05-21 15:54:42 +00:00
Ryan Curtin
08e203341f
Check in modifications.
2012-05-21 15:54:30 +00:00
Ryan Curtin
a9581ba870
We can do polynomial kernels too.
2012-05-20 17:53:27 +00:00
Ryan Curtin
5e8f67e200
Add a kernel which I'll remove later. I don't like it...
2012-05-20 17:53:20 +00:00
Ryan Curtin
c652644a6b
Rewrite to only use one queue. Not very happy with this implementation.
2012-05-19 03:44:34 +00:00
Ryan Curtin
8c9380aa2c
Use unsafe_col() 'cause it's faster.
2012-05-18 23:03:13 +00:00
Ryan Curtin
c1e8043196
Initialize products to DBL_MIN.
2012-05-18 22:33:32 +00:00
Ryan Curtin
d0c81255b3
Ensmallen and randomize.
2012-05-18 22:30:35 +00:00
Ryan Curtin
3b3a802192
This file doesn't exist. I didn't need it.
2012-05-18 22:09:51 +00:00
Ryan Curtin
af7500b9d8
Reimplement single-tree search. It's faster now.
2012-05-18 22:00:35 +00:00
Ryan Curtin
171d9dc24d
UL and ULL extensions for older GCC.
2012-05-18 21:56:22 +00:00
Ryan Curtin
174fc0514d
unsafe_col() is faster.
2012-05-18 03:30:20 +00:00
Ryan Curtin
858356907d
Avoid double-evaluation of base case.
2012-05-18 03:25:21 +00:00
Ryan Curtin
ee59215607
Add template specalization for linear kernel.
2012-05-17 19:09:24 +00:00
Ryan Curtin
6511fbb92d
Don't get it backwards...
2012-05-17 18:40:56 +00:00
Ryan Curtin
7a9c7cb12d
Add maxip executable.
2012-05-17 18:10:14 +00:00
Ryan Curtin
c4eb63a837
Give number of prunes.
2012-05-17 18:10:06 +00:00
Ryan Curtin
121c87b0d0
It helps if the conditional is right, too.
2012-05-17 17:26:59 +00:00
Ryan Curtin
e06600362a
Clarify error message; k can be equal to the number of points.
2012-05-17 17:26:10 +00:00
Ryan Curtin
1833987d8a
Add simple first test for MaxIP.
2012-05-17 16:55:58 +00:00
Ryan Curtin
ee99f80295
Add maxip to project build.
2012-05-17 16:55:50 +00:00
Ryan Curtin
609523cd78
Add CMake configuration so MaxIP gets compiled.
2012-05-17 16:55:35 +00:00
Ryan Curtin
10788af881
Add MaxIP class.
2012-05-17 16:55:26 +00:00
Ryan Curtin
443e8d8c06
Add rules for the MaxIP single-tree search.
2012-05-17 16:55:16 +00:00
Ryan Curtin
f3c9fa6b35
Add the IPMetric, which is the "inner product" metric which calculates the
...
metric induced by a kernel.
2012-05-17 16:54:53 +00:00
Ryan Curtin
2f988945d8
Remove debugging output.
2012-05-17 15:57:00 +00:00
Ryan Curtin
70de44b54c
Add directory for implementation of MaxIP. I think it needs a better name...
2012-05-16 20:41:27 +00:00
Ryan Curtin
a4aed0d744
Add a dual-tree test for cover trees.
2012-05-16 18:59:22 +00:00
Ryan Curtin
b3ba215036
Add rules for cover tree search. This breaks the nice abstractions I was trying
...
for.
2012-05-16 18:58:36 +00:00
Ryan Curtin
067c07ecc7
Add preferred traverser and dual cover tree traverser (which doesn't prune at
...
the moment).
2012-05-16 18:57:39 +00:00
Ryan Curtin
6cdc78c9a0
Add a preferred dual tree traverser.
2012-05-16 18:46:38 +00:00