cv_edgenet | R Documentation |
Finds the optimal regulariztion parameters using cross-validation for edgenet. We use the BOBYQA algorithm to find the optimial regularization parameters in a cross-validation framework.
cv_edgenet(
X,
Y,
G.X = NULL,
G.Y = NULL,
lambda = NA_real_,
psigx = NA_real_,
psigy = NA_real_,
thresh = 1e-05,
maxit = 1e+05,
learning.rate = 0.01,
family = gaussian,
optim.thresh = 0.01,
optim.maxit = 100,
lambda_range = seq(0, 2, length.out = 10),
psigx_range = seq(0, 500, length.out = 10),
psigy_range = seq(0, 500, length.out = 10),
nfolds = 2,
cv_method = c("grid_search", "grid_search_lsf", "optim"),
tempdir = "."
)
## S4 method for signature 'matrix,numeric'
cv_edgenet(
X,
Y,
G.X = NULL,
G.Y = NULL,
lambda = NA_real_,
psigx = NA_real_,
psigy = NA_real_,
thresh = 1e-05,
maxit = 1e+05,
learning.rate = 0.01,
family = gaussian,
optim.thresh = 0.01,
optim.maxit = 100,
lambda_range = seq(0, 2, length.out = 10),
psigx_range = seq(0, 500, length.out = 10),
psigy_range = seq(0, 500, length.out = 10),
nfolds = 2,
cv_method = c("grid_search", "grid_search_lsf", "optim"),
tempdir = "."
)
## S4 method for signature 'matrix,matrix'
cv_edgenet(
X,
Y,
G.X = NULL,
G.Y = NULL,
lambda = NA_real_,
psigx = NA_real_,
psigy = NA_real_,
thresh = 1e-05,
maxit = 1e+05,
learning.rate = 0.01,
family = gaussian,
optim.thresh = 0.01,
optim.maxit = 100,
lambda_range = seq(0, 2, length.out = 10),
psigx_range = seq(0, 500, length.out = 10),
psigy_range = seq(0, 500, length.out = 10),
nfolds = 2,
cv_method = c("grid_search", "grid_search_lsf", "optim"),
tempdir = "."
)
X |
input matrix, of dimension ( |
Y |
output matrix, of dimension ( |
G.X |
non-negativ affinity matrix for |
G.Y |
non-negativ affinity matrix for |
lambda |
|
psigx |
|
psigy |
|
thresh |
|
maxit |
maximum number of iterations for the optimizer
( |
learning.rate |
step size for Adam optimizer ( |
family |
family of response, e.g. gaussian or binomial |
optim.thresh |
|
optim.maxit |
the maximum number of iterations for the optimization
( |
lambda_range |
range of lambda to use in CV grid. |
psigx_range |
range of psigx to use in CV grid. |
psigy_range |
range of psigy to use in CV grid. |
nfolds |
the number of folds to be used - default is 10. |
cv_method |
which cross-validation method to use. |
tempdir |
where to store auxiliary files. |
An object of class cv_edgenet
parameters |
the estimated, optimal regularization parameters |
lambda |
optimal estimated value for regularization parameter lambda (or, if provided as argument, the value of the parameter) |
psigx |
optimal estimated value for regularization parameter psigx (or, if provided as argument, the value of the parameter) |
psigy |
optimal estimated value for regularization parameter psigy (or, if provided as argument, the value of the parameter) |
estimated.parameters |
names of parameters that were estimated |
family |
family used for estimated |
fit |
an |
call |
the call that produced the object |
X <- matrix(rnorm(100 * 10), 100, 10)
b <- matrix(rnorm(100), 10)
G.X <- abs(rWishart(1, 10, diag(10))[, , 1])
G.Y <- abs(rWishart(1, 10, diag(10))[, , 1])
diag(G.X) <- diag(G.Y) <- 0
# estimate the parameters of a Gaussian model
Y <- X %*% b + matrix(rnorm(100 * 10), 100)
## dont use affinity matrices and estimate lambda
fit <- cv_edgenet(
X = X,
Y = Y,
family = gaussian,
maxit = 1,
lambda_range = c(0, 1)
)
## only provide one matrix and estimate lambda
fit <- cv_edgenet(
X = X,
Y = Y,
G.X = G.X,
psigx = 1,
family = gaussian,
maxit = 1,
lambda_range = c(0, 1)
)
## estimate only lambda with two matrices
fit <- cv_edgenet(
X = X,
Y = Y,
G.X = G.X,
G.Y,
psigx = 1,
psigy = 1,
family = gaussian,
maxit = 1,
lambda_range = c(0, 1)
)
## estimate only psigx
fit <- cv_edgenet(
X = X,
Y = Y,
G.X = G.X,
G.Y,
lambda = 1,
psigy = 1,
family = gaussian,
maxit = 1,
psigx_range = c(0, 1)
)
## estimate all parameters
fit <- cv_edgenet(
X = X,
Y = Y,
G.X = G.X,
G.Y,
family = gaussian,
maxit = 1,
lambda_range = c(0, 1),
psigx_range = c(0, 1),
psigy_range = c(0, 1)
)
## if Y is vectorial, we cannot use an affinity matrix for Y
fit <- cv_edgenet(
X = X,
Y = Y[, 1],
G.X = G.X,
family = gaussian,
maxit = 1,
lambda_range = c(0, 1),
psigx_range = c(0, 1),
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.