13 #ifndef MLPACK_METHODS_KDE_RULES_HPP 14 #define MLPACK_METHODS_KDE_RULES_HPP 25 template<
typename MetricType,
typename KernelType,
typename TreeType>
42 KDERules(
const arma::mat& referenceSet,
43 const arma::mat& querySet,
45 const double relError,
46 const double absError,
52 double BaseCase(
const size_t queryIndex,
const size_t referenceIndex);
55 double Score(
const size_t queryIndex, TreeType& referenceNode);
58 double Rescore(
const size_t queryIndex,
59 TreeType& referenceNode,
60 const double oldScore)
const;
63 double Score(TreeType& queryNode, TreeType& referenceNode);
66 double Rescore(TreeType& queryNode,
67 TreeType& referenceNode,
68 const double oldScore)
const;
73 const TraversalInfoType&
TraversalInfo()
const {
return traversalInfo; }
82 size_t Scores()
const {
return scores; }
86 double EvaluateKernel(
const size_t queryIndex,
87 const size_t referenceIndex)
const;
90 double EvaluateKernel(
const arma::vec& query,
91 const arma::vec& reference)
const;
94 const arma::mat& referenceSet;
97 const arma::mat& querySet;
100 arma::vec& densities;
103 const double absError;
106 const double relError;
118 size_t lastQueryIndex;
121 size_t lastReferenceIndex;
124 TraversalInfoType traversalInfo;
137 #include "kde_rules_impl.hpp" double Score(const size_t queryIndex, TreeType &referenceNode)
SingleTree Rescore.
const TraversalInfoType & TraversalInfo() const
Get traversal information.
The TraversalInfo class holds traversal information which is used in dual-tree (and single-tree) trav...
tree::TraversalInfo< TreeType > TraversalInfoType
double Rescore(const size_t queryIndex, TreeType &referenceNode, const double oldScore) const
SingleTree Score.
double BaseCase(const size_t queryIndex, const size_t referenceIndex)
Base Case.
TraversalInfoType & TraversalInfo()
Modify traversal information.
KDERules(const arma::mat &referenceSet, const arma::mat &querySet, arma::vec &densities, const double relError, const double absError, MetricType &metric, KernelType &kernel, const bool sameSet)
Construct KDERules.
size_t BaseCases() const
Get the number of base cases.
A dual-tree traversal Rules class for kernel density estimation.
size_t Scores() const
Get the number of scores.