R: Kernel Online Learning algorithms

onlearn {kernlab} | R Documentation

## Kernel Online Learning algorithms

### Description

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

### Usage

    ## 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.

### Value

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.

### Author(s)

Alexandros Karatzoglou
alexandros.karatzoglou@ci.tuwien.ac.at

### References

Kivinen J. Smola A.J. Williamson R.C.
Online Learning with Kernels
IEEE Transactions on Signal Processing vol. 52, Issue 8, 2004
http://users.cecs.anu.edu.au/~williams/papers/P172.pdf

### 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))

[Package kernlab version 0.9-25 Index]