onlearn function

Kernel Online Learning algorithms

Kernel Online Learning algorithms

Online Kernel-based Learning algorithms for classification, novelty detection, and regression.

## S4 method for signature 'onlearn' onlearn(obj, x, y = NULL, nu = 0.2, lambda = 1e-04)

Arguments

  • obj: obj an object of class onlearn created by the initialization function inlearn containing the kernel to be used during learning and the parameters of the learned model
  • x: vector or matrix containing the data. Factors have to be numerically coded. If x is a matrix the code is run internally one sample at the time.
  • y: the class label in case of classification. Only binary classification is supported and class labels have to be -1 or +1.
  • nu: the parameter similarly to the nu parameter in SVM bounds the training error.
  • lambda: the learning rate

Details

The online algorithms are based on a simple stochastic gradient descent method in feature space. The state of the algorithm is stored in an object of class onlearn and has to be passed to the function at each iteration.

Returns

The function returns an S4 object of class onlearn

containing the model parameters and the last fitted value which can be retrieved by the accessor method fit. The value returned in the classification and novelty detection problem is the decision function value phi. The accessor methods alpha returns the model parameters.

References

Kivinen J. Smola A.J. Williamson R.C.

Online Learning with Kernels

IEEE Transactions on Signal Processing vol. 52, Issue 8, 2004

https://alex.smola.org/papers/2004/KivSmoWil04.pdf

Author(s)

Alexandros Karatzoglou

alexandros.karatzoglou@ci.tuwien.ac.at

See Also

inlearn

Examples

## create toy data set x <- rbind(matrix(rnorm(100),,2),matrix(rnorm(100)+3,,2)) y <- matrix(c(rep(1,50),rep(-1,50)),,1) ## initialize onlearn object on <- inlearn(2,kernel="rbfdot",kpar=list(sigma=0.2), type="classification") ind <- sample(1:100,100) ## learn one data point at the time for(i in ind) on <- onlearn(on,x[i,],y[i],nu=0.03,lambda=0.1) ## or learn all the data on <- onlearn(on,x[ind,],y[ind],nu=0.03,lambda=0.1) sign(predict(on,x))
  • Maintainer: Alexandros Karatzoglou
  • License: GPL-2
  • Last published: 2024-08-13

Useful links