MLPACK
1.0.11
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
mlpack
methods
fastmks
fastmks_rules.hpp
Go to the documentation of this file.
1
22
#ifndef __MLPACK_METHODS_FASTMKS_FASTMKS_RULES_HPP
23
#define __MLPACK_METHODS_FASTMKS_FASTMKS_RULES_HPP
24
25
#include <
mlpack/core.hpp
>
26
#include <
mlpack/core/tree/cover_tree/cover_tree.hpp
>
27
28
#include "../neighbor_search/ns_traversal_info.hpp"
29
30
namespace
mlpack {
31
namespace
fastmks {
32
36
template
<
typename
KernelType,
typename
TreeType>
37
class
FastMKSRules
38
{
39
public
:
40
FastMKSRules
(
const
arma::mat&
referenceSet
,
41
const
arma::mat&
querySet
,
42
arma::Mat<size_t>&
indices
,
43
arma::mat&
products
,
44
KernelType&
kernel
);
45
47
double
BaseCase
(
const
size_t
queryIndex,
const
size_t
referenceIndex);
48
57
double
Score
(
const
size_t
queryIndex, TreeType& referenceNode);
58
67
double
Score
(TreeType& queryNode, TreeType& referenceNode);
68
80
double
Rescore
(
const
size_t
queryIndex,
81
TreeType& referenceNode,
82
const
double
oldScore)
const
;
83
95
double
Rescore
(TreeType& queryNode,
96
TreeType& referenceNode,
97
const
double
oldScore)
const
;
98
100
size_t
BaseCases
()
const
{
return
baseCases
; }
102
size_t
&
BaseCases
() {
return
baseCases
; }
103
105
size_t
Scores
()
const
{
return
scores
; }
107
size_t
&
Scores
() {
return
scores
; }
108
109
typedef
neighbor::NeighborSearchTraversalInfo<TreeType>
TraversalInfoType
;
110
111
const
TraversalInfoType
&
TraversalInfo
()
const
{
return
traversalInfo
; }
112
TraversalInfoType
&
TraversalInfo
() {
return
traversalInfo
; }
113
114
private
:
116
const
arma::mat&
referenceSet
;
118
const
arma::mat&
querySet
;
119
121
arma::Mat<size_t>&
indices
;
123
arma::mat&
products
;
124
126
arma::vec
queryKernels
;
128
arma::vec
referenceKernels
;
129
131
KernelType&
kernel
;
132
134
size_t
lastQueryIndex
;
136
size_t
lastReferenceIndex
;
138
double
lastKernel
;
139
141
double
CalculateBound
(TreeType& queryNode)
const
;
142
144
void
InsertNeighbor
(
const
size_t
queryIndex,
145
const
size_t
pos,
146
const
size_t
neighbor,
147
const
double
distance);
148
150
size_t
baseCases
;
152
size_t
scores
;
153
154
TraversalInfoType
traversalInfo
;
155
};
156
157
};
// namespace fastmks
158
};
// namespace mlpack
159
160
// Include implementation.
161
#include "fastmks_rules_impl.hpp"
162
163
#endif
Generated by
1.8.3.1