MLPACK
1.0.7
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
namespace
mlpack {
29
namespace
fastmks {
30
34
template
<
typename
KernelType,
typename
TreeType>
35
class
FastMKSRules
36
{
37
public
:
38
FastMKSRules
(
const
arma::mat&
referenceSet
,
39
const
arma::mat&
querySet
,
40
arma::Mat<size_t>&
indices
,
41
arma::mat&
products
,
42
KernelType&
kernel
);
43
45
double
BaseCase
(
const
size_t
queryIndex,
const
size_t
referenceIndex);
46
55
double
Score
(
const
size_t
queryIndex, TreeType& referenceNode);
56
65
double
Score
(TreeType& queryNode, TreeType& referenceNode);
66
78
double
Rescore
(
const
size_t
queryIndex,
79
TreeType& referenceNode,
80
const
double
oldScore)
const
;
81
93
double
Rescore
(TreeType& queryNode,
94
TreeType& referenceNode,
95
const
double
oldScore)
const
;
96
98
size_t
BaseCases
()
const
{
return
baseCases
; }
100
size_t
&
BaseCases
() {
return
baseCases
; }
101
103
size_t
Scores
()
const
{
return
scores
; }
105
size_t
&
Scores
() {
return
scores
; }
106
107
private
:
109
const
arma::mat&
referenceSet
;
111
const
arma::mat&
querySet
;
112
114
arma::Mat<size_t>&
indices
;
116
arma::mat&
products
;
117
119
arma::vec
queryKernels
;
121
arma::vec
referenceKernels
;
122
124
KernelType&
kernel
;
125
127
size_t
lastQueryIndex
;
129
size_t
lastReferenceIndex
;
131
double
lastKernel
;
132
134
double
CalculateBound
(TreeType& queryNode)
const
;
135
137
void
InsertNeighbor
(
const
size_t
queryIndex,
138
const
size_t
pos,
139
const
size_t
neighbor,
140
const
double
distance);
141
143
size_t
baseCases
;
145
size_t
scores
;
146
};
147
148
};
// namespace fastmks
149
};
// namespace mlpack
150
151
// Include implementation.
152
#include "fastmks_rules_impl.hpp"
153
154
#endif
Generated by
1.8.3.1