Type: | Package |
Title: | The SVR Path Algorithm |
Version: | 0.1.2 |
Description: | Computes the entire solution paths for Support Vector Regression(SVR) with respect to the regularization parameter, lambda and epsilon in epsilon-intensive loss function, efficiently. We call each path algorithm svrpath and epspath. See Wang, G. et al (2008) <doi:10.1109/TNN.2008.2002077> for details regarding the method. |
Imports: | quadprog, svmpath |
Depends: | R (≥ 3.4.0) |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 6.0.1 |
NeedsCompilation: | no |
Packaged: | 2018-06-29 13:22:47 UTC; KimDoHyun |
Author: | Do Hyun Kim [aut, cre], Seung Jun Shin [aut] |
Maintainer: | Do Hyun Kim <09dohkim@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2018-06-29 14:07:55 UTC |
Fit the entire epsilon
path for Support Vector Regression
Description
The Suport Vector Regression (SVR) employs epsilon-intensive loss which ignores errors smaller than epsilon. This algorithm computes the entire paths for SVR solution as a function of epsilon
at a given regularization parameter lambda
, which we call epsilon
path.
Usage
epspath(x, y, lambda = 1, kernel.function = radial.kernel,
param.kernel = 1, ridge = 1e-08, eps = 1e-07, eps.min = 1e-08, ...)
Arguments
x |
The data matrix (n x p) with n rows (observations) on p variables (columns) |
y |
The real number valued response variable |
lambda |
The regularization parameter value. |
kernel.function |
User defined kernel function. See |
param.kernel |
Parameter(s) of the kernels. See |
ridge |
Sometimes the algorithm encounters singularities; in this case a small value of ridge can help, default is |
eps |
A small machine number which is used to identify minimal step sizes |
eps.min |
The smallest value of epsilon for termination of the algorithm. Default is |
... |
Generic compatibility |
Value
An 'epspath' object is returned.
Author(s)
Do Hyun Kim, Seung Jun Shin
See Also
predict.epspath
, plot.epspath
, svrpath
Examples
set.seed(1)
n <- 30
p <- 50
x <- matrix(rnorm(n*p), n, p)
e <- rnorm(n, 0, 1)
beta <- c(1, 1, rep(0, p-2))
y <- x %*% beta + e
lambda <- 1
eobj <- epspath(x, y, lambda = lambda)
plot the epspath, solution paths of SVR as a function of epsilon
Description
produces a plot of the SVR epsilon
path.
Usage
## S3 method for class 'epspath'
plot(x, intercept = FALSE, ...)
Arguments
x |
The epspath object |
intercept |
If it is |
... |
Generic compatibility |
Value
The entire solution path of SVR solution as a function of epsilon
.
Author(s)
Do Hyun Kim, Seung Jun Shin
Examples
# The 'eobj' is given by examples description of epspath().
plot(eobj, lty = 2, lwd = 2, col = 2, cex.lab = 1.5)
plot the svrpath, solution paths of SVR as a function of lambda
Description
produces a plot of the SVR lambda
path.
Usage
## S3 method for class 'svrpath'
plot(x, intercept = FALSE, ...)
Arguments
x |
The svrpath object |
intercept |
If it is |
... |
Generic compatibility |
Value
The entire solution path of SVR solution as a function of lambda
.
Author(s)
Do Hyun Kim, Seung Jun Shin
Examples
# The 'obj' is given by examples description of svrpath().
plot(obj, lty = 2, lwd = 2, col = 2, cex.lab = 1.5)
Make predictions from an "epspath" object
Description
Provides a prediction value at a given epsilon
from epspath
object.
Usage
## S3 method for class 'epspath'
predict(object, newx, svr.eps = 1, ...)
Arguments
object |
The epspath object |
newx |
Values of x to be predicted. This is a matrix with observations per row. Default is x in the epspath object. |
svr.eps |
The value of the "epsilon-insensitive loss" paramter, epsilon. |
... |
Generic compatibility |
Value
In each case, the desired prediction.
Author(s)
Do Hyun Kim, Seung Jun Shin
Examples
# The 'eobj' is given by examples description of epspath().
predict(eobj, svr.eps = .1)
Make predictions from a "svrpath" object
Description
Provides a prediction value at a given lambda
from svrpath
object.
Usage
## S3 method for class 'svrpath'
predict(object, newx, lambda = NULL, criterion = "sic",
...)
Arguments
object |
The svrpath object |
newx |
Values of x to be predicted. This is a matrix with observations per row. Default is x in the epspath object. |
lambda |
The value of the regularization paramter, lambda. |
criterion |
It provides predictions at an optimal |
... |
Generic compatibility |
Value
In each case, the desired prediction.
Author(s)
Do Hyun Kim, Seung Jun Shin
Examples
# The 'eobj' is given by examples description of epspath().
predict.svrpath(obj, lambda = 10) # or
predict(obj, criterion = 'sic')
QP solver for SVR
Description
solves quadratic programming(QP) for SVR.
Usage
## S3 method for class 'svr'
solve(a, b, lambda = 1, svr.eps = 1,
kernel.function = radial.kernel, param.kernel = 1, ...)
Arguments
a |
The data matrix (n x p) with n rows (observations) on p variables (columns) |
b |
The real number valued response variable |
lambda |
The regularization parameter |
svr.eps |
Epsilon in epsion-insensitive loss function |
kernel.function |
User defined kernel function. See |
param.kernel |
Parameter(s) of the kernels. See |
... |
Generic compatibility |
Value
SVR solution at a given lambda
and epsilon
Author(s)
Dohyun Kim, Seung Jun Shin
Examples
# set.seed(1)
n <- 30
p <- 50
x <- matrix(rnorm(n*p), n, p)
e <- rnorm(n, 0, 1)
beta <- c(1, 1, rep(0, p-2))
y <- x %*% beta + e
solve.svr(x, y)
Fit the entire regularization path for Support Vector Regression
Description
This algorithm computes the entire regularization path for the support vector regression with a relatively low cost compared to quadratic programming problem.
Usage
svrpath(x, y, svr.eps = 1, kernel.function = radial.kernel,
param.kernel = 1, ridge = 1e-08, eps = 1e-08, lambda.min = 1e-08, ...)
Arguments
x |
The data matrix (n x p) with n rows (observations) on p variables (columns) |
y |
The real number valued response variable |
svr.eps |
An epsilon in epsilon-insensitive loss function |
kernel.function |
This is a user-defined function. Provided are |
param.kernel |
The parameter(s) for the kernel. For this radial kernel, the parameter is known in the fields as "gamma". For the polynomial kernel, it is the "degree" |
ridge |
Sometimes the algorithm encounters singularities; in this case a small value of ridge can help, default is |
eps |
A small machine number which is used to identify minimal step sizes |
lambda.min |
The smallest value of lambda for termination of the algorithm. Default is |
... |
Generic compatibility |
Value
A 'svrpath' object is returned, for which there are lambda
values and corresponding values of theta
for each data point.
Author(s)
Do Hyun Kim, Seung Jun Shin
See Also
predict.svrpath
, plot.svrpath
, epspath
Examples
set.seed(1)
n <- 30
p <- 50
x <- matrix(rnorm(n*p), n, p)
e <- rnorm(n, 0, 1)
beta <- c(1, 1, rep(0, p-2))
y <- x %*% beta + e
svr.eps <- 1
obj <- svrpath(x, y, svr.eps = svr.eps)