fastmks(1) fastmks (fast max-kernel search)


fastmks [-h] [-v] -k int -r string [-w double] [-b double] [-d double] [-i string] [-K string] [-N] [-o double] [-p string] [-q string] [-s double] [-S] -V


This program will find the k maximum kernel of a set of points, using a query set and a reference set (which can optionally be the same set). More specifically, for each point in the query set, the k points in the reference set with maximum kernel evaluations are found. The kernel function used is specified by --kernel.

For example, the following command will calculate, for each point in 'query.csv', the five points in 'reference.csv' with maximum kernel evaluation using the linear kernel. The kernel evaluations are stored in 'kernels.csv' and the indices are stored in 'indices.csv'.

$ fastmks --k 5 --reference_file reference.csv --query_file query.csv --indices_file indices.csv --products_file kernels.csv --kernel linear

The output files are organized such that row i and column j in the indices output file corresponds to the index of the point in the reference set that has i'th largest kernel evaluation with the point in the query set with index j. Row i and column j in the products output file corresponds to the kernel evaluation between those two points.

This executable performs FastMKS using a cover tree. The base used to build the cover tree can be specified with the --base option.


--k (-k) [int]
Number of maximum inner products to find.
--reference_file (-r) [string]
File containing the reference dataset.


--bandwidth (-w) [double]
Bandwidth (for Gaussian, Epanechnikov, and triangular kernels). Default value 1.
--base (-b) [double]
Base to use during cover tree construction. Default value 2.
--degree (-d) [double]
Degree of polynomial kernel. Default value 2.
--help (-h)
Default help info.
--indices_file (-i) [string] File to save indices of inner products into.
Default value ''.
--info [string]
Get help on a specific module or option. Default value ''.
--kernel (-K) [string]
Kernel type to use: 'linear', 'polynomial', 'cosine', 'gaussian', 'epanechnikov', 'triangular', 'hyptan'. Default value 'linear'.
--naive (-N)
If true, O(n^2) naive mode is used for computation.
--offset (-o) [double]
Offset of kernel (for polynomial and hyptan kernels). Default value 0.
--products_file (-p) [string]
File to save inner products into. Default value ''.
--query_file (-q) [string]
File containing the query dataset. Default value ''.
--scale (-s) [double]
Scale of kernel (for hyptan kernel). Default value 1.
--single (-S)
If true, single-tree search is used (as opposed to dual-tree search.
--verbose (-v)
Display informational messages and the full list of parameters and timers at the end of execution.
--version (-V)
Display the version of mlpack.


For further information, including relevant papers, citations, and theory, consult the documentation found at or included with your distribution of MLPACK.