mlpack_fastmks_FastMKSRules3
The base case and pruning rules for fastmks (fast max-kernel search).
Usage
Public Types
typedef
neighbor::NeighborSearchTraversalInfo
Public Member Functions
FastMKSRules (const
arma::mat
&referenceSet,
const
arma::mat
&querySet,
arma::Mat<
size_t
>
&indices,
arma::mat
&products,
KernelType
&kernel)
double BaseCase
(const
size_t
queryIndex,
const
size_t
referenceIndex)
TraversalInfoType &
TraversalInfo
()
Private Member Functions
double CalculateBound
(TreeType
&queryNode)
const
Private Attributes
size_t baseCases
The last
kernel
evaluation
resulting
from
BaseCase().
size_t
lastQueryIndex
Cached {query
set
self-kernels
( | | q | | for
each
q).
const
arma::mat
&
querySet}
Cached {reference
set
self-kernels
( | | r | | for
each
r).
const
arma::mat
&
referenceSet}
Detailed Description
template<typename KernelType, typename TreeType>class mlpack::fastmks::FastMKSRules< KernelType, TreeType >
The base case and pruning rules for FastMKS (fast max-kernel search).
Definition at line 37 of file fastmks_rules.hpp.
Member Typedef Documentation
template<typename KernelType , typename TreeType > typedef neighbor::NeighborSearchTraversalInfo<TreeType> mlpack::fastmks::FastMKSRules< KernelType, TreeType >::TraversalInfoType
Definition at line 109 of file fastmks_rules.hpp.
Constructor & Destructor Documentation
template<typename KernelType , typename TreeType > mlpack::fastmks::FastMKSRules< KernelType, TreeType >::FastMKSRules (const arma::mat &referenceSet, const arma::mat &querySet, arma::Mat< size_t > &indices, arma::mat &products, KernelType &kernel)
Member Function Documentation
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::BaseCase (const size_tqueryIndex, const size_treferenceIndex)
Compute the base case (kernel value) between two points.
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::BaseCases () const [inline]
Get the number of times BaseCase() was called.
Definition at line 100 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::baseCases.
template<typename KernelType , typename TreeType > size_t& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::BaseCases () [inline]
Modify the number of times BaseCase() was called.
Definition at line 102 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::baseCases.
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::CalculateBound (TreeType &queryNode) const [private]
Calculate the bound for a given query node.
template<typename KernelType , typename TreeType > void mlpack::fastmks::FastMKSRules< KernelType, TreeType >::InsertNeighbor (const size_tqueryIndex, const size_tpos, const size_tneighbor, const doubledistance) [private]
Utility function to insert neighbor into list of results.
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Rescore (const size_tqueryIndex, TreeType &referenceNode, const doubleoldScore) const
Re-evaluate the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that a node should not be recursed into at all (it should be pruned). This is used when the score has already been calculated, but another recursion may have modified the bounds for pruning. So the old score is checked against the new pruning bound.
Parameters:
queryIndex Index of query point.
referenceNode Candidate node to be recursed into.
oldScore Old score produced by Score() (or Rescore()).
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Rescore (TreeType &queryNode, TreeType &referenceNode, const doubleoldScore) const
Re-evaluate the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that a node should not be recursed into at all (it should be pruned). This is used when the score has already been calculated, but another recursion may have modified the bounds for pruning. So the old score is checked against the new pruning bound.
Parameters:
queryNode Candidate query node to be recursed into.
referenceNode Candidate reference node to be recursed into.
oldScore Old score produced by Score() (or Rescore()).
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Score (const size_tqueryIndex, TreeType &referenceNode)
Get the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned).
Parameters:
queryIndex Index of query point.
referenceNode Candidate to be recursed into.
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Score (TreeType &queryNode, TreeType &referenceNode)
Get the score for recursion order. A low score indicates priority for recursion, while DBL_MAX indicates that the node should not be recursed into at all (it should be pruned).
Parameters:
queryNode Candidate query node to be recursed into.
referenceNode Candidate reference node to be recursed into.
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Scores () const [inline]
Get the number of times Score() was called.
Definition at line 105 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::scores.
template<typename KernelType , typename TreeType > size_t& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Scores () [inline]
Modify the number of times Score() was called.
Definition at line 107 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::scores.
template<typename KernelType , typename TreeType > const TraversalInfoType& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::TraversalInfo () const [inline]
Definition at line 111 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::traversalInfo.
template<typename KernelType , typename TreeType > TraversalInfoType& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::TraversalInfo () [inline]
Definition at line 112 of file fastmks_rules.hpp.
References mlpack::fastmks::FastMKSRules< KernelType, TreeType >::traversalInfo.
Member Data Documentation
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::baseCases [private]
For benchmarking.
Definition at line 150 of file fastmks_rules.hpp.
Referenced by mlpack::fastmks::FastMKSRules< KernelType, TreeType >::BaseCases().
template<typename KernelType , typename TreeType > arma::Mat<size_t>& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::indices [private]
The indices of the maximum kernel results.
Definition at line 121 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > KernelType& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::kernel [private]
The instantiated kernel.
Definition at line 131 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > double mlpack::fastmks::FastMKSRules< KernelType, TreeType >::lastKernel [private]
The last kernel evaluation resulting from BaseCase().
Definition at line 138 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::lastQueryIndex [private]
The last query index BaseCase() was called with.
Definition at line 134 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::lastReferenceIndex [private]
The last reference index BaseCase() was called with.
Definition at line 136 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > arma::mat& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::products [private]
The maximum kernels.
Definition at line 123 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > arma::vec mlpack::fastmks::FastMKSRules< KernelType, TreeType >::queryKernels [private]
Cached query set self-kernels (|| q || for each q).
Definition at line 126 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > const arma::mat& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::querySet [private]
The query dataset.
Definition at line 118 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > arma::vec mlpack::fastmks::FastMKSRules< KernelType, TreeType >::referenceKernels [private]
Cached reference set self-kernels (|| r || for each r).
Definition at line 128 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > const arma::mat& mlpack::fastmks::FastMKSRules< KernelType, TreeType >::referenceSet [private]
The reference dataset.
Definition at line 116 of file fastmks_rules.hpp.
template<typename KernelType , typename TreeType > size_t mlpack::fastmks::FastMKSRules< KernelType, TreeType >::scores [private]
For benchmarking.
Definition at line 152 of file fastmks_rules.hpp.
Referenced by mlpack::fastmks::FastMKSRules< KernelType, TreeType >::Scores().
template<typename KernelType , typename TreeType > TraversalInfoType mlpack::fastmks::FastMKSRules< KernelType, TreeType >::traversalInfo [private]
Definition at line 154 of file fastmks_rules.hpp.
Referenced by mlpack::fastmks::FastMKSRules< KernelType, TreeType >::TraversalInfo().