SHOGUN  4.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
LatentSOSVM.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) 2012 Viktor Gal
8  * Copyright (C) 2012 Viktor Gal
9  */
10 
11 #ifndef __LATENTSOSVM_H__
12 #define __LATENTSOSVM_H__
13 
14 #include <shogun/lib/config.h>
15 #ifdef USE_GPL_SHOGUN
16 
19 
20 namespace shogun
21 {
26  class CLatentSOSVM: public CLinearLatentMachine
27  {
28  public:
30  CLatentSOSVM();
31 
38  CLatentSOSVM(CLatentModel* model, CLinearStructuredOutputMachine* so_solver, float64_t C);
39 
40  virtual ~CLatentSOSVM();
41 
46  virtual CLatentLabels* apply_latent();
47 
52  void set_so_solver(CLinearStructuredOutputMachine* so);
53 
58  virtual const char* get_name() const { return "LatentSOSVM"; }
59 
60  protected:
65  virtual float64_t do_inner_loop(float64_t cooling_eps);
66 
67  private:
68  void register_parameters();
69 
70  private:
72  CLinearStructuredOutputMachine* m_so_solver;
73  };
74 }
75 #endif //USE_GPL_SHOGUN
76 #endif /* __LATENTSOSVM_H__ */
77 
double float64_t
Definition: common.h:50
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18

SHOGUN Machine Learning Toolbox - Documentation