-
-
Notifications
You must be signed in to change notification settings - Fork 1k
/
libppbm.h
57 lines (51 loc) · 1.68 KB
/
libppbm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* libppbm.h: Implementation of the Proximal Point BM solver for SO training
*
* Copyright (C) 2012 Michal Uricar, uricamic@cmp.felk.cvut.cz
*
* Implementation of the Proximal Point Bundle Method solver
*--------------------------------------------------------------------- */
#ifndef libppbm_h
#define libppbm_h
#include <shogun/lib/config.h>
#include <shogun/lib/common.h>
#include <shogun/structure/libbmrm.h>
namespace shogun
{
/** Proximal Point BMRM Solver for Structured Output Learning
*
* @param machine Pointer to the BMRM machine
* @param W Weight vector
* @param TolRel Relative tolerance
* @param TolAbs Absolute tolerance
* @param _lambda Regularization constant
* @param _BufSize Size of the CP buffer (i.e. maximal number of iterations)
* @param cleanICP Flag that enables/disables inactive cutting plane removal
* feature
* @param cleanAfter Number of iterations that should be cutting plane
* inactive for to be removed
* @param K Parameter K
* @param Tmax Parameter Tmax
* @param verbose Flag that enables/disables screen output
* @return Structure with BMRM algorithm result
*/
BmrmStatistics svm_ppbm_solver(
CDualLibQPBMSOSVM *machine,
float64_t *W,
float64_t TolRel,
float64_t TolAbs,
float64_t _lambda,
uint32_t _BufSize,
bool cleanICP,
uint32_t cleanAfter,
float64_t K,
uint32_t Tmax,
bool verbose
);
}
#endif /* libppbm_h */