long K
number of classes for the workspace
double * H
Huber weighted error matrix.
double * LZ
n x (m+1) working matrix for the Z'*A*Z calculation
double gamma
kernel parameter for RBF, poly, and sigmoid
double epsilon
stopping criterion for the IM algorithm.
double training_error
loss function value after training has finished
long m
number of features for the workspace
double p
parameter for the L-p norm in the loss function
double * UU
simplex difference matrix
double * ZV
n x (K-1) working matrix for the Z * V calculation
double degree
kernel parameter for poly
void gensvm_free_work(struct GenWork *work)
Free an allocated GenWork instance.
A structure to hold the GenSVM workspace.
void gensvm_free_model(struct GenModel *model)
Free allocated GenModel struct.
int status
status of the model after training
double * ZBc
(K-1) x (m+1) working matrix for the Z'*B calculation
Header file for gensvm_sparse.c.
int weight_idx
which weights to use (1 = unit, 2 = group)
struct GenWork * gensvm_init_work(struct GenModel *model)
Initialize the workspace structure.
double * V
augmented weight matrix
double * ZAZ
(m+1) x (m+1) working matrix for the Z'*A*Z calculation
long * y
array of class labels, 1..K
struct GenModel * gensvm_init_model(void)
Initialize a GenModel structure.
A structure to represent the data.
A structure to represent a single GenSVM model.
void gensvm_reset_work(struct GenWork *work)
Reset all matrices of a GenWork instance.
double * ZB
(m+1) x (K-1) working matrix for the Z'*B calculation
double * tmpZAZ
(m+1) x (m+1) temporary working matrix for the Z'*A*Z calculation
double * Sigma
eigenvalues from the reduced eigendecomposition
char * data_file
filename of the data
long n
number of instances in the dataset
long max_iter
maximum number of iterations of the algorithm
void gensvm_free_data(struct GenData *data)
Free allocated GenData struct.
double * rho
vector of instance weights
long elapsed_iter
number of elapsed iterations in training
void gensvm_allocate_model(struct GenModel *model)
Allocate memory for a GenModel.
long r
number of eigenvalues (width of Z)
double kappa
parameter for the Huber hinge function
long K
number of classes in the dataset
double degree
kernel parameter for poly
long m
number of predictors (width of RAW)
KernelType
type of kernel used in training
double coef
kernel parameter for poly and sigmoid
KernelType kerneltype
type of kernel used in the model
double gamma
kernel parameter for RBF, poly, and sigmoid
double coef
kernel parameter for poly and sigmoid
void gensvm_reallocate_model(struct GenModel *model, long n, long m)
Reallocate memory for GenModel.
long n
number of instances
struct GenData * gensvm_init_data(void)
Initialize a GenData structure.
long n
number of instances for the workspace
long m
number of predictor variables in the dataset
double * RAW
augmented raw data matrix
double kernel_eigen_cutoff
cutoff value for the ratio of eigenvalues in the reduced
struct GenSparse * spZ
sparse representation of the augmented data matrix
double * beta
K-1 working vector for a row of the B matrix.
double lambda
regularization parameter in the loss function
A structure to represent a sparse matrix in CSR format.