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 * Copyright (C) 2012 Sergey Lisitsyn 00008 */ 00009 00010 #ifndef DIRECTOR_STRUCTURED_MODEL_H_ 00011 #define DIRECTOR_STRUCTURED_MODEL_H_ 00012 00013 #ifdef USE_SWIG_DIRECTORS 00014 #include <shogun/structure/StructuredModel.h> 00015 #include <shogun/lib/config.h> 00016 namespace shogun 00017 { 00018 00019 class CStructuredModel; 00020 00021 #define IGNORE_IN_CLASSLIST 00022 00029 IGNORE_IN_CLASSLIST class CDirectorStructuredModel : public CStructuredModel 00030 { 00031 public: 00033 CDirectorStructuredModel(); 00034 00036 virtual ~CDirectorStructuredModel(); 00037 00042 virtual int32_t get_dim() const; 00043 00056 virtual SGVector< float64_t > get_joint_feature_vector(int32_t feat_idx, CStructuredData* y); 00057 00071 virtual CResultSet* argmax(SGVector< float64_t > w, int32_t feat_idx, bool const training = true); 00072 00080 virtual float64_t delta_loss(CStructuredData* y1, CStructuredData* y2); 00081 00089 virtual bool check_training_setup() const; 00090 00101 virtual void init_primal_opt( 00102 float64_t regularization, 00103 SGMatrix< float64_t > & A, SGVector< float64_t > a, 00104 SGMatrix< float64_t > B, SGVector< float64_t > & b, 00105 SGVector< float64_t > lb, SGVector< float64_t > ub, 00106 SGMatrix < float64_t > & C); 00107 00109 virtual const char* get_name() const { return "DirectorStructuredModel"; } 00110 00112 virtual void init_training(); 00113 00114 }; /* class CDirectorStructuredModel */ 00115 } /* namespace shogun */ 00116 #endif /* USE_SWIG_DIRECTORS */ 00117 #endif /* DIRECTOR_STRUCTURED_MODEL_H_ */