GenSVM
gensvm_train.c
Go to the documentation of this file.
1 
27 #include "gensvm_train.h"
28 
44 void gensvm_train(struct GenModel *model, struct GenData *data,
45  struct GenModel *seed_model)
46 {
47  // copy dataset parameters to model
48  model->n = data->n;
49  model->m = data->m;
50  model->K = data->K;
51 
52  // allocate model
53  gensvm_allocate_model(model);
54 
55  // initialize the V matrix (potentially with a seed model)
56  gensvm_init_V(seed_model, model, data);
57 
58  // preprocess kernel
59  gensvm_kernel_preprocess(model, data);
60 
61  // reallocate model for kernels
62  gensvm_reallocate_model(model, data->n, data->r);
63 
64  // initialize weights
65  gensvm_initialize_weights(data, model);
66 
67  // start training
68  gensvm_optimize(model, data);
69 }
void gensvm_train(struct GenModel *model, struct GenData *data, struct GenModel *seed_model)
Utility function for training a GenSVM model.
Definition: gensvm_train.c:44
long K
number of classes
Definition: gensvm_base.h:58
void gensvm_optimize(struct GenModel *model, struct GenData *data)
The main training loop for GenSVM.
A structure to represent the data.
Definition: gensvm_base.h:57
void gensvm_initialize_weights(struct GenData *data, struct GenModel *model)
Initialize instance weights.
Definition: gensvm_init.c:152
Header file for gensvm_train.c.
A structure to represent a single GenSVM model.
Definition: gensvm_base.h:92
long n
number of instances in the dataset
Definition: gensvm_base.h:97
void gensvm_allocate_model(struct GenModel *model)
Allocate memory for a GenModel.
Definition: gensvm_base.c:144
long r
number of eigenvalues (width of Z)
Definition: gensvm_base.h:64
void gensvm_init_V(struct GenModel *from_model, struct GenModel *to_model, struct GenData *data)
Seed the matrix V from an existing model or using rand.
Definition: gensvm_init.c:57
long K
number of classes in the dataset
Definition: gensvm_base.h:95
long m
number of predictors (width of RAW)
Definition: gensvm_base.h:62
void gensvm_reallocate_model(struct GenModel *model, long n, long m)
Reallocate memory for GenModel.
Definition: gensvm_base.c:172
long n
number of instances
Definition: gensvm_base.h:60
long m
number of predictor variables in the dataset
Definition: gensvm_base.h:99
void gensvm_kernel_preprocess(struct GenModel *model, struct GenData *data)
Do the preprocessing steps needed to perform kernel GenSVM.
Definition: gensvm_kernel.c:75