SHOGUN
v2.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
HistogramIntersectionKernel.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) 2010 Koen van de Sande
8
* Copyright (C) 2010 Koen van de Sande / University of Amsterdam
9
*/
10
11
#ifndef _HISTOGRAMINTERSECTIONKERNEL_H___
12
#define _HISTOGRAMINTERSECTIONKERNEL_H___
13
14
#include <
shogun/lib/common.h
>
15
#include <
shogun/kernel/DotKernel.h
>
16
#include <
shogun/features/DenseFeatures.h
>
17
18
namespace
shogun
19
{
31
class
CHistogramIntersectionKernel
:
public
CDotKernel
32
{
33
public
:
35
CHistogramIntersectionKernel
();
36
41
CHistogramIntersectionKernel
(int32_t size);
42
50
CHistogramIntersectionKernel
(
51
CDenseFeatures<float64_t>
* l,
CDenseFeatures<float64_t>
* r,
52
float64_t
beta=1.0, int32_t size=10);
53
54
virtual
~CHistogramIntersectionKernel
();
55
62
virtual
bool
init
(
CFeatures
* l,
CFeatures
* r);
63
/* register the parameters
64
*/
65
virtual
void
register_params
();
66
71
virtual
EKernelType
get_kernel_type
() {
return
K_HISTOGRAMINTERSECTION
; }
72
77
virtual
const
char
*
get_name
()
const
{
return
"HistogramIntersectionKernel"
; }
78
82
inline
float64_t
get_beta
() {
return
m_beta
; }
83
87
inline
void
set_beta
(
float64_t
beta) {
m_beta
= beta; }
88
89
protected
:
90
92
float64_t
m_beta
;
93
102
virtual
float64_t
compute
(int32_t idx_a, int32_t idx_b);
103
104
};
105
}
106
#endif
/* _HISTOGRAMINTERSECTIONKERNEL_H__ */
SHOGUN
Machine Learning Toolbox - Documentation