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
regression
gp
StudentsTLikelihood.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
* Copyright (C) 2012 Jacob Walker
8
*
9
* Code adapted from the GPML Toolbox:
10
* http://www.gaussianprocess.org/gpml/code/matlab/doc/
11
*
12
*/
13
14
#ifndef CSTUDENTSTLIKELIHOOD_H_
15
#define CSTUDENTSTLIKELIHOOD_H_
16
#include <
shogun/lib/config.h
>
17
#ifdef HAVE_EIGEN3
18
#include <
shogun/regression/gp/LikelihoodModel.h
>
19
20
namespace
shogun
21
{
22
29
class
CStudentsTLikelihood
:
public
CLikelihoodModel
30
{
31
32
public
:
33
34
/*Constructor*/
35
CStudentsTLikelihood
();
36
37
/*Destructor*/
38
virtual
~CStudentsTLikelihood
();
39
45
inline
virtual
const
char
*
get_name
()
const
{
return
"StudentsTLikelihood"
; }
46
51
float64_t
get_sigma
() {
return
m_sigma;}
52
57
void
set_sigma
(
float64_t
s) {m_sigma = s;}
58
64
virtual
SGVector<float64_t>
evaluate_means
(
SGVector<float64_t>
& means);
65
71
virtual
SGVector<float64_t>
evaluate_variances
(
SGVector<float64_t>
& vars);
72
77
virtual
ELikelihoodModelType
get_model_type
() {
return
LT_STUDENTST
;}
78
79
88
virtual
float64_t
get_log_probability_f
(
CRegressionLabels
* labels,
89
SGVector<float64_t>
f);
90
91
103
virtual
SGVector<float64_t>
get_log_probability_derivative_f
(
104
CRegressionLabels
* labels,
SGVector<float64_t>
f,
index_t
i);
105
117
virtual
SGVector<float64_t>
get_first_derivative
(
CRegressionLabels
* labels,
118
TParameter
* param,
CSGObject
* obj,
SGVector<float64_t>
function
);
119
136
virtual
SGVector<float64_t>
get_second_derivative
(
CRegressionLabels
* labels,
137
TParameter
* param,
CSGObject
* obj,
SGVector<float64_t>
function
);
138
139
private
:
141
float64_t
m_sigma;
142
143
145
void
init();
146
147
};
148
149
}
150
#endif
/* HAVE_EIGEN3 */
151
#endif
/* CStudentsTLIKELIHOOD_H_ */
SHOGUN
Machine Learning Toolbox - Documentation