SHOGUN  3.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
StructuredOutputMachine.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) 2013 Shell Hu
8  * Written (W) 2012 Fernando José Iglesias García
9  * Copyright (C) 2012 Fernando José Iglesias García
10  */
11 
12 #ifndef _STRUCTURED_OUTPUT_MACHINE__H__
13 #define _STRUCTURED_OUTPUT_MACHINE__H__
14 
15 #include <shogun/lib/config.h>
16 
17 #include <shogun/lib/common.h>
18 #include <shogun/machine/Machine.h>
20 
21 namespace shogun
22 {
23 
24 class CFeatures;
25 class CLabels;
26 class CLossFunction;
27 class CStructuredLabels;
28 struct TMultipleCPinfo;
29 
36 {
42 };
43 
44 class CStructuredModel;
45 
48 {
49  public:
52 
55 
62 
64  virtual ~CStructuredOutputMachine();
65 
70  void set_model(CStructuredModel* model);
71 
76  CStructuredModel* get_model() const;
77 
79  virtual const char* get_name() const
80  {
81  return "StructuredOutputMachine";
82  }
83 
88  virtual void set_labels(CLabels* lab);
89 
94  void set_features(CFeatures* f);
95 
100  CFeatures* get_features() const;
101 
106  void set_surrogate_loss(CLossFunction* loss);
107 
113 
122  virtual float64_t risk(float64_t* subgrad, float64_t* W,
124 
126  CSOSVMHelper* get_helper() const;
127 
134  void set_verbose(bool verbose);
135 
140  bool get_verbose() const;
141 
142  protected:
171 
180 
189 
198 
207 
208  private:
210  void register_parameters();
211 
212  protected:
215 
221 
224 
226  bool m_verbose;
227 
228 }; /* class CStructuredOutputMachine */
229 
230 } /* namespace shogun */
231 
232 #endif /* _STRUCTURED_OUTPUT_MACHINE__H__ */

SHOGUN Machine Learning Toolbox - Documentation