SHOGUN
v3.2.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2013 Roman Votyakov 00008 */ 00009 00010 #ifndef _PROBITLIKELIHOOD_H_ 00011 #define _PROBITLIKELIHOOD_H_ 00012 00013 #include <shogun/lib/config.h> 00014 00015 #ifdef HAVE_EIGEN3 00016 00017 #include <shogun/machine/gp/LikelihoodModel.h> 00018 00019 namespace shogun 00020 { 00021 00031 class CProbitLikelihood : public CLikelihoodModel 00032 { 00033 public: 00035 CProbitLikelihood(); 00036 00037 virtual ~CProbitLikelihood(); 00038 00043 virtual const char* get_name() const { return "ProbitLikelihood"; } 00044 00059 virtual SGVector<float64_t> get_predictive_means(SGVector<float64_t> mu, 00060 SGVector<float64_t> s2, const CLabels* lab=NULL) const; 00061 00076 virtual SGVector<float64_t> get_predictive_variances(SGVector<float64_t> mu, 00077 SGVector<float64_t> s2, const CLabels* lab=NULL) const; 00078 00083 virtual ELikelihoodModelType get_model_type() const { return LT_PROBIT; } 00084 00096 virtual SGVector<float64_t> get_log_probability_f(const CLabels* lab, 00097 SGVector<float64_t> func) const; 00098 00109 virtual SGVector<float64_t> get_log_probability_derivative_f( 00110 const CLabels* lab, SGVector<float64_t> func, index_t i) const; 00111 00128 virtual SGVector<float64_t> get_log_zeroth_moments(SGVector<float64_t> mu, 00129 SGVector<float64_t> s2, const CLabels* lab) const; 00130 00145 virtual float64_t get_first_moment(SGVector<float64_t> mu, 00146 SGVector<float64_t> s2, const CLabels* lab, index_t i) const; 00147 00162 virtual float64_t get_second_moment(SGVector<float64_t> mu, 00163 SGVector<float64_t> s2, const CLabels* lab, index_t i) const; 00164 00169 virtual bool supports_binary() const { return true; } 00170 00171 }; 00172 } 00173 #endif /* HAVE_EIGEN3 */ 00174 #endif /* _PROBITLIKELIHOOD_H_ */