LIBIRWLS
PIRWLS-train.h File Reference

Functions to train a full SVM using the IRWLS algorithm. More...

#include "IOStructures.h"

Go to the source code of this file.

Functions

int * rpermute (int n)
 Random permutation of n elements. More...
 
double * subIRWLS (svm_dataset dataset, properties props, double *GIN, double *e, double *beta)
 IRWLS procedure on a Working Set. More...
 
double * trainFULL (svm_dataset dataset, properties props)
 It trains a full SVM with a training set. More...
 
void printPIRWLSInstructions (void)
 Print Instructions. More...
 
properties parseTrainPIRWLSParameters (int *argc, char ***argv)
 It parses the command line. More...
 
model calculatePIRWLSModel (properties props, svm_dataset dataset, double *beta)
 It converts the result into a model struct. More...
 

Detailed Description

Functions to train a full SVM using the IRWLS algorithm.

For a detailed description of the algorithm and its parameters read the following paper:
Pérez-Cruz, F., Alarcón-Diana, P. L., Navia-Vázquez, A., & Artés-Rodríguez, A. (2001). Fast Training of Support Vector Classifiers. In Advances in Neural Information Processing Systems (pp. 734-740)

For a detailed description about the parallelization read the following paper:
Díaz-Morales, R., & Navia-Vázquez, Á. (2016). Efficient parallel implementation of kernel methods. Neurocomputing, 191, 175-186.

Author
Roberto Diaz Morales
Date
23 Aug 2016

Function Documentation

§ calculatePIRWLSModel()

model calculatePIRWLSModel ( properties  props,
svm_dataset  dataset,
double *  beta 
)

It converts the result into a model struct.

After the training of a SVM using the IRWLS procedure, this function build a struct with the information and returns it.

Parameters
propsThe training parameters.
datasetThe training set.
betaThe weights of the classifier.
Returns
The struct that storages all the information of the classifier.

§ parseTrainPIRWLSParameters()

properties parseTrainPIRWLSParameters ( int *  argc,
char ***  argv 
)

It parses the command line.

It parses input command line to extract the parameters.

Parameters
argcThe number of words of the command line.
argvThe list of words of the command line.
Returns
A struct that contains the values of the training parameters.

§ printPIRWLSInstructions()

void printPIRWLSInstructions ( void  )

Print Instructions.

It shows PIRWLS-train command line instructions in the standard output.

§ rpermute()

int* rpermute ( int  n)

Random permutation of n elements.

It crates a random permutation of n elements.

Parameters
nThe number of elementos in the permutation.
Returns
The permutation.

§ subIRWLS()

double* subIRWLS ( svm_dataset  dataset,
properties  props,
double *  GIN,
double *  e,
double *  beta 
)

IRWLS procedure on a Working Set.

For a detailed description of the algorithm and its parameters read the following paper:
Pérez-Cruz, F., Alarcón-Diana, P. L., Navia-Vázquez, A., & Artés-Rodríguez, A. (2001). Fast Training of Support Vector Classifiers. In Advances in Neural Information Processing Systems (pp. 734-740)

For a detailed description about the parallelization read the following paper:
Díaz-Morales, R., & Navia-Vázquez, Á. (2016). Efficient parallel implementation of kernel methods. Neurocomputing, 191, 175-186.

Parameters
datasetThe training dataset.
propsThe strut of training properties.
GINThe classification effect of the inactive set.
eThe current error on every training data.
betaThe bias term of the classification function.
Returns
The new weights vector of the classifier.

§ trainFULL()

double* trainFULL ( svm_dataset  dataset,
properties  props 
)

It trains a full SVM with a training set.

For a detailed description of the algorithm and its parameters read the following paper:
Pérez-Cruz, F., Alarcón-Diana, P. L., Navia-Vázquez, A., & Artés-Rodríguez, A. (2001). Fast Training of Support Vector Classifiers. In Advances in Neural Information Processing Systems (pp. 734-740)

For a detailed description about the parallelization read the following paper:
Díaz-Morales, R., & Navia-Vázquez, Á. (2016). Efficient parallel implementation of kernel methods. Neurocomputing, 191, 175-186.

It trains a full SVM using a training set and the training parameters.

Parameters
datasetThe training set.
propsThe values of the training parameters.
Returns
The weights of every Support Vector of the SVM.