HSIC.h

Go to the documentation of this file.
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) 2012 Heiko Strathmann
00008  */
00009 
00010 #ifndef __HSIC_H_
00011 #define __HSIC_H_
00012 
00013 #include <shogun/statistics/KernelIndependenceTestStatistic.h>
00014 
00015 namespace shogun
00016 {
00017 
00018 template<class T> class SGMatrix;
00019 
00020 
00067 class CHSIC : public CKernelIndependenceTestStatistic
00068 {
00069 public:
00071     CHSIC();
00072 
00084     CHSIC(CKernel* kernel_p, CKernel* kernel_q, CFeatures* p_and_q,
00085             index_t m);
00086 
00099     CHSIC(CKernel* kernel_p, CKernel* kernel_q, CFeatures* p, CFeatures* q);
00100 
00101     virtual ~CHSIC();
00102 
00112     virtual float64_t compute_statistic();
00113 
00122     virtual float64_t compute_p_value(float64_t statistic);
00123 
00131     virtual float64_t compute_threshold(float64_t alpha);
00132 
00133     virtual const char* get_name() const
00134     {
00135         return "HSIC";
00136     }
00137 
00157     SGVector<float64_t> fit_null_gamma();
00158 
00166     virtual SGVector<float64_t> bootstrap_null();
00167 
00168 protected:
00170     SGMatrix<float64_t> get_kernel_matrix_K();
00171 
00173     SGMatrix<float64_t> get_kernel_matrix_L();
00174 
00175 private:
00176     void init();
00177 
00178 };
00179 
00180 }
00181 
00182 #endif /* __HSIC_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation