Algorithms that use Nearest-Neighbors algorithm as a subroutine are common in
ML. However, NN done in naive way is n^2 algorithm and explodes quickly.
What if Graphlab would supports algorithms like Cover Sets and Ball Trees:
- user would give a set of points (vertices), with a spatial tag (coordinate)
or a distance function (for example a kernel)
- graphlab would automatically create an efficient data structure based on
cover trees, ball trees or other suitable model
- then, in update function, one could write for example: edgelist =
scope.getKNearestNeighbors(5)
- i.e, graph structure would be implicit
Now, I do not know enough about ML around these kind of algos to say whether
this would be useful. But it would be cool for sure.
For N-N, more info in Guy's slides:
http://www.cs.cmu.edu/~realworld/slidesF10/nn1.pdf
Original issue reported on code.google.com by akyrola...@gmail.com on 2 Nov 2010 at 5:37
Original issue reported on code.google.com by
akyrola...@gmail.com
on 2 Nov 2010 at 5:37