33 #ifndef DOXYGEN_SHOULD_SKIP_THIS
52 struct liblinear_problem
67 struct liblinear_parameter
80 int32_t *weight_label;
86 struct liblinear_model
89 struct liblinear_parameter param;
102 void destroy_model(
struct liblinear_model *model_);
103 void destroy_param(
struct liblinear_parameter *param);
109 class l2loss_svm_fun :
public function
146 int32_t get_nr_variable();
158 const liblinear_problem *prob;
162 class l2r_lr_fun :
public function
171 l2r_lr_fun(
const liblinear_problem *prob,
float64_t* C);
195 int32_t get_nr_variable();
204 const liblinear_problem *m_prob;
207 class l2r_l2_svc_fun :
public function
210 l2r_l2_svc_fun(
const liblinear_problem *prob,
float64_t* Cs);
213 double fun(
double *w);
214 void grad(
double *w,
double *g);
215 void Hv(
double *s,
double *Hs);
217 int get_nr_variable();
220 void Xv(
double *v,
double *Xv);
221 void subXv(
double *v,
double *Xv);
222 void subXTv(
double *v,
double *XTv);
229 const liblinear_problem *m_prob;
232 class l2r_l2_svr_fun:
public l2r_l2_svc_fun
235 l2r_l2_svr_fun(
const liblinear_problem *prob,
double *Cs,
double p);
237 double fun(
double *w);
238 void grad(
double *w,
double *g);
259 bool allocated,inited;
274 active_size_i = NULL;
290 SG_FREE(alpha_index);
292 SG_FREE(active_size_i);
296 class Solver_MCSVM_CS
299 Solver_MCSVM_CS(
const liblinear_problem *prob,
int nr_class,
double *C,
300 double *w0,
double eps,
int max_iter,
301 double train_time, mcsvm_state* given_state);
305 void solve_sub_problem(
double A_i,
int yi,
double C_yi,
int active_i,
double *alpha_new);
306 bool be_shrunk(
int i,
int m,
int yi,
double alpha_i,
double minG);
312 double max_train_time;
314 const liblinear_problem *prob;
320 #endif //_LIBLINEAR_H
322 #endif // DOXYGEN_SHOULD_SKIP_THIS