deepGLM {dnn} | R Documentation |
Deep learning for the generalized linear model
Description
Fit generalized linear models (Gaussian, Binomial and Poisson) using deep learning neural network (DNN). The glm formula is specified by giving a symbolic description of the predictor and a description of the error distribution.
Usage
deepGlm(formula, model, family = c("gaussian", "binomial",
"poisson"), data, epochs = 200, lr_rate = 1e-04,
batch_size = 64, alpha = 0.7, lambda = 1, verbose = 0,
weights = NULL, ...)
Arguments
formula |
a formula expression as for other regression models. The response is usually an object for glm response variable. See the documentation for 'glm', 'lm' and 'formula' for details. |
model |
a deep neural network model, created by function dNNmodel(). |
family |
a description of the error distribution and link function to be used in the model. This can be either a character string of 'gaussian', 'binomial', or 'poisson', naming a family function, or result of a call to a family function (See 'family' for details of family functions).) |
data |
a data.frame in which to interpret the variables named in the formula. |
epochs |
number of deep learning epochs, default is 200. |
batch_size |
batch size, default is 64. 'NaN' may be generated if batch size is too small and there is not event in a batch. |
lr_rate |
learning rate for the gradient descent algorithm, default is lr_rate = 1e-04. |
weights |
an optional vector of 'prior weights' to be used in the fitting process. Should be NULL or a numeric vector. |
alpha |
momentum rate for the gradient descent method, alpha takes value in [0, 1), default is alpha = 0.70. |
lambda |
L2 regularization parameter for deep learning. |
verbose |
verbose = 1 for print out verbose during the model fit, 0 for not print. |
... |
optional arguments |
Details
See dNNmodel
for details on how to specify a deep learning model.
The following parameters in 'dnnControl' will be used to control the model fit process.
'epochs': number of deep learning epochs, default is 30.
'verbose': verbose = 1 for print out verbose during the model fit, 0 for not print.
When the variance for covariance matrix X is too large, please use xbar = scale(x) to standardize X.
Value
An object of class "deepGlm" is returned. The deepGlm object contains the following list components:
x |
Covariates for glm model |
y |
Object for glm model |
model |
dnn model |
predictor |
predictor score mu = f(x) |
risk |
risk score = exp(predictor) |
Note
For glm models with Gaussian, Binomial and Poisson only
Author(s)
Chen, B. E.
References
Chollet, F. and Allaire J. J. (2017). Deep learning with R. Manning.
See Also
deepAFT
, dNNmodel
,
predict.deepGlm
,
print.deepSurv
, glm
Examples
## Example for deep learning for glm models
set.seed(101)
### define model layers
model = dNNmodel(units = c(4, 3, 1), activation = c("elu", "sigmoid", "sigmoid"),
input_shape = 3)
x = matrix(runif(15), nrow = 5, ncol = 3)
y = exp(x[, 1] + rnorm(5))
fit = deepGlm(y ~ x, model, family = "gaussian")