# Implementation of the SVM-Maj Algorithm

Implements the SVM-Maj algorithm to train data with support vector machine as described in Groenen et al. (2008) . This algorithm uses two efficient updates, one for linear kernel and one for the nonlinear kernel.

## Introduction

The main features of this package are: implementation of the SVM-Maj majorization algorithm for SVMs, handling of nonlinearity through splines and kernels, the ability to handle several error functions (among other the classic hinge, quadratic hinge and Huber hinge error).

## How to use this package

The main functions of the package are `svmmaj`, which estimates the SVM, and `svmmajcrossval`, which performs a grid search of k-fold cross validations using SVM-Maj to find the combination of input values, (such as `lambda` and `degree` in the case of a polynomial kernel) giving the best prediction performance.

The former function requires the `n x k` attribute matrix `X` and the `n x 1` vector `y` with class labels. Apart from the data objects, other parameter input values can be given as input to tune the model:

• `lambda`,
• `hinge`,
• `weights.obs`,
• `scale`, and
• parameters for nonlinearities and settings of the algorithm itself.

For example,

``````svmmaj(X, y, lambda = 2, hinge = "quadratic", scale = "interval")
``````

runs the SVM model with `lambda = 2`, using a quadratic hinge and for each attribute, the values are scaled to the interval [0,1]. The function `svmmajcrossval` uses the same parameter input values and additionally the parameters to be used as grid points of the k-fold cross validation. These parameters should be given in the list object `search.grid`, e.g.,

``````svmmajcrossval(X, y, search.grid = list(lambda = c(1, 2, 4)))
``````

# Reference manual

install.packages("SVMMaj")

0.2.9 by Hok San Yip, 3 years ago

Browse source code at https://github.com/cran/SVMMaj

Authors: Hoksan Yip , Patrick J.F. Groenen , Georgi Nalbantov

Documentation:   PDF Manual