20 #ifndef DOXYGEN_SHOULD_SKIP_THIS
26 #define CGITERMAX 10000
27 #define SMALL_CGITERMAX 10
29 #define BIG_EPSILON 0.01
30 #define RELATIVE_STOP_EPS 1e-9
32 #define TSVM_ANNEALING_RATE 1.5
33 #define TSVM_LAMBDA_SMALL 1e-5
34 #define DA_ANNEALING_RATE 1.5
35 #define DA_INIT_TEMP 10
36 #define DA_INNER_ITERMAX 100
37 #define DA_OUTER_ITERMAX 30
84 enum { RLS, SVM, TSVM, DA_SVM };
121 Delta() { delta=0.0; index=0;s=0; }
131 inline bool operator<(
const Delta& a ,
const Delta& b)
133 return (a.delta < b.delta);
138 void initialize(
struct vector_int *A, int32_t k);
140 void GetLabeledData(
struct data *Data_Labeled,
const struct data *Data);
149 struct options *Options,
150 struct vector_double *W,
151 struct vector_double *O);
159 const struct data *Data,
160 const struct options *Options,
161 const struct vector_int *Subset,
162 struct vector_double *Weights,
163 struct vector_double *Outputs);
168 const struct data *Data,
169 struct options *Options,
170 struct vector_double *Weights,
171 struct vector_double *Outputs,
189 const struct data *Data,
190 struct options *Options,
191 struct vector_double *Weights,
192 struct vector_double *Outputs);
204 struct options *Options,
205 struct vector_double *Weights,
206 struct vector_double *Outputs);
212 const struct data *Data,
214 struct options *Options,
215 struct vector_double *Weights,
216 struct vector_double *Outputs,
234 #endif // DOXYGEN_SHOULD_SKIP_THIS
int32_t TSVM_MFN(const struct data *Data, struct options *Options, struct vector_double *Weights, struct vector_double *Outputs)
float64_t norm_square(const vector_double *A)
int32_t switch_labels(float64_t *Y, float64_t *o, int32_t *JU, int32_t u, int32_t S)
float64_t entropy(const float64_t *p, int32_t u)
Features that support dot products among other operations.
int32_t optimize_w(const struct data *Data, const float64_t *p, struct options *Options, struct vector_double *Weights, struct vector_double *Outputs, int32_t ini)
void optimize_p(const float64_t *g, int32_t u, float64_t T, float64_t r, float64_t *p)
int32_t CGLS(const struct data *Data, const struct options *Options, const struct vector_int *Subset, struct vector_double *Weights, struct vector_double *Outputs)
float64_t transductive_cost(float64_t normWeights, float64_t *Y, float64_t *Outputs, int32_t m, float64_t lambda, float64_t lambda_u)
void initialize(struct vector_double *A, int32_t k, float64_t a)
void GetLabeledData(struct data *D, const struct data *Data)
float64_t KL(const float64_t *p, const float64_t *q, int32_t u)
float64_t line_search(float64_t *w, float64_t *w_bar, float64_t lambda, float64_t *o, float64_t *o_bar, float64_t *Y, float64_t *C, int32_t d, int32_t l)
int32_t DA_S3VM(struct data *Data, struct options *Options, struct vector_double *Weights, struct vector_double *Outputs)
int32_t L2_SVM_MFN(const struct data *Data, struct options *Options, struct vector_double *Weights, struct vector_double *Outputs, int32_t ini)
void ssl_train(struct data *Data, struct options *Options, struct vector_double *Weights, struct vector_double *Outputs)