SHOGUN
v3.0.0
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
shogun
kernel
string
HistogramWordStringKernel.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Written (W) 1999-2009 Soeren Sonnenburg
8
* Written (W) 1999-2008 Gunnar Raetsch
9
* Copyright (C) 1999-2009 Fraunhofer Institute FIRST and Max-Planck-Society
10
*/
11
12
#ifndef _HISTOGRAMWORDKERNEL_H___
13
#define _HISTOGRAMWORDKERNEL_H___
14
15
#include <
shogun/lib/common.h
>
16
#include <
shogun/kernel/string/StringKernel.h
>
17
#include <
shogun/classifier/PluginEstimate.h
>
18
#include <
shogun/features/StringFeatures.h
>
19
20
namespace
shogun
21
{
22
class
CPluginEstimate;
23
template
<
class
T>
class
CStringFeatures;
26
class
CHistogramWordStringKernel
:
public
CStringKernel
<uint16_t>
27
{
28
public
:
30
CHistogramWordStringKernel
();
31
37
CHistogramWordStringKernel
(int32_t size,
CPluginEstimate
* pie);
38
45
CHistogramWordStringKernel
(
46
CStringFeatures<uint16_t>
* l,
CStringFeatures<uint16_t>
* r,
47
CPluginEstimate
* pie);
48
49
virtual
~CHistogramWordStringKernel
();
50
57
virtual
bool
init
(
CFeatures
* l,
CFeatures
* r);
58
60
virtual
void
cleanup
();
61
66
virtual
EKernelType
get_kernel_type
() {
return
K_HISTOGRAM
; }
67
72
virtual
const
char
*
get_name
()
const
{
return
"HistogramWordStringKernel"
; }
73
74
protected
:
83
float64_t
compute
(int32_t idx_a, int32_t idx_b);
84
91
inline
int32_t
compute_index
(int32_t position, uint16_t symbol)
92
{
93
return
position*
num_symbols
+symbol+1;
94
}
95
96
private
:
97
void
init();
98
99
protected
:
101
CPluginEstimate
*
estimate
;
102
104
float64_t
*
mean
;
106
float64_t
*
variance
;
107
109
float64_t
*
sqrtdiag_lhs
;
111
float64_t
*
sqrtdiag_rhs
;
112
114
float64_t
*
ld_mean_lhs
;
116
float64_t
*
ld_mean_rhs
;
117
119
float64_t
*
plo_lhs
;
121
float64_t
*
plo_rhs
;
122
124
int32_t
num_params
;
126
int32_t
num_params2
;
128
int32_t
num_symbols
;
130
float64_t
sum_m2_s2
;
131
133
bool
initialized
;
134
};
135
}
136
#endif
/* _HISTOGRAMWORDKERNEL_H__ */
SHOGUN
Machine Learning Toolbox - Documentation