Type: | Package |
Title: | Deep Learning Toolkit in R |
Version: | 0.2.1 |
Date: | 2014-03-20 |
Author: | Xiao Rong |
Maintainer: | Xiao Rong <runxiao@gmail.com> |
Description: | Implement some deep learning architectures and neural network algorithms, including BP,RBM,DBN,Deep autoencoder and so on. |
License: | GPL-2 | GPL-3 [expanded from: GPL] |
Packaged: | 2022-06-24 12:10:21 UTC; hornik |
NeedsCompilation: | no |
Repository: | CRAN |
Date/Publication: | 2022-06-24 12:29:27 UTC |
Training a Deep neural network with weights initialized by DBN
Description
Training a Deep neural network with weights initialized by DBN
Usage
dbn.dnn.train(x, y, hidden = c(1), activationfun = "sigm", learningrate = 0.8,
momentum = 0.5, learningrate_scale = 1, output = "sigm", numepochs = 3,
batchsize = 100, hidden_dropout = 0, visible_dropout = 0, cd = 1)
Arguments
x |
matrix of x values for examples |
y |
vector or matrix of target values for examples |
vector for number of units of hidden layers.Default is c(10). | |
activationfun |
activation function of hidden unit.Can be "sigm","linear" or "tanh".Default is "sigm" for logistic function |
learningrate |
learning rate for gradient descent. Default is 0.8. |
momentum |
momentum for gradient descent. Default is 0.5 . |
learningrate_scale |
learning rate will be mutiplied by this scale after every iteration. Default is 1 . |
numepochs |
number of iteration for samples Default is 3. |
batchsize |
size of mini-batch. Default is 100. |
output |
function of output unit, can be "sigm","linear" or "softmax". Default is "sigm". |
drop out fraction for hidden layer. Default is 0. | |
visible_dropout |
drop out fraction for input layer Default is 0. |
cd |
number of iteration for Gibbs sample of CD algorithm. |
Author(s)
Xiao Rong
Examples
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
dnn <- dbn.dnn.train(x, y, hidden = c(5, 5))
## predict by dnn
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
nn.test(dnn, test_x, y)
Load MNIST DataSet
Description
Load MNIST DataSet
Usage
load.mnist(dir)
Arguments
dir |
dir of minst dataset |
Value
mnist dataset train$n number of train samples train$x pix of every train sample image train$y label of every train sample image train$yy one-of-c vector of label of train sample image test$n number of test samples test$x pix of every test sample image test$y label of every test sample image test$yy one-of-c vector of label of test sample image
Author(s)
Xiao Rong
Predict new samples by Trainded NN
Description
Predict new samples by Trainded NN
Usage
nn.predict(nn, x)
Arguments
nn |
nerual network trained by function nn.train |
x |
new samples to predict |
Value
return raw output value of neural network.For classification task,return the probability of a class
Author(s)
Xiao Rong
Examples
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
nn <- nn.train(x, y, hidden = c(5))
## predict by nn
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
yy <- nn.predict(nn, test_x)
Test new samples by Trainded NN
Description
Test new samples by Trainded NN,return error rate for classification
Usage
nn.test(nn, x, y, t = 0.5)
Arguments
nn |
nerual network trained by function nn.train |
x |
new samples to predict |
y |
new samples' label |
t |
threshold for classification. If nn.predict value >= t then label 1,else label 0 |
Value
error rate
Author(s)
Xiao Rong
Examples
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
nn <- nn.train(x, y, hidden = c(5))
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
err <- nn.test(nn, test_x, y)
Training Neural Network
Description
Training single or mutiple hidden layers neural network by BP
Usage
nn.train(x, y, initW = NULL, initB = NULL, hidden = c(10), activationfun = "sigm",
learningrate = 0.8, momentum = 0.5, learningrate_scale = 1, output = "sigm",
numepochs = 3, batchsize = 100, hidden_dropout = 0, visible_dropout = 0)
Arguments
x |
matrix of x values for examples |
y |
vector or matrix of target values for examples |
initW |
initial weights. If missing chosen at random |
initB |
initial bias. If missing chosen at random |
vector for number of units of hidden layers.Default is c(10). | |
activationfun |
activation function of hidden unit.Can be "sigm","linear" or "tanh".Default is "sigm" for logistic function |
learningrate |
learning rate for gradient descent. Default is 0.8. |
momentum |
momentum for gradient descent. Default is 0.5 . |
learningrate_scale |
learning rate will be mutiplied by this scale after every iteration. Default is 1 . |
numepochs |
number of iteration for samples Default is 3. |
batchsize |
size of mini-batch. Default is 100. |
output |
function of output unit, can be "sigm","linear" or "softmax". Default is "sigm". |
drop out fraction for hidden layer. Default is 0. | |
visible_dropout |
drop out fraction for input layer Default is 0. |
Author(s)
Xiao Rong
Examples
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
nn <- nn.train(x, y, hidden = c(5))
Generate visible vector by hidden units states
Description
Generate visible vector by hidden units states
Usage
rbm.down(rbm, h)
Arguments
rbm |
an rbm object trained by function train.rbm |
h |
hidden units states |
Value
generated visible vector
Author(s)
Xiao Rong
Examples
Var1 <- c(rep(1, 50), rep(0, 50))
Var2 <- c(rep(0, 50), rep(1, 50))
x3 <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
r1 <- rbm.train(x3, 3, numepochs = 20, cd = 10)
h <- c(0.2, 0.8, 0.1)
v <- rbm.down(r1, h)
Training a RBM(restricted Boltzmann Machine)
Description
Training a RBM(restricted Boltzmann Machine)
Usage
rbm.train(x, hidden, numepochs = 3, batchsize = 100, learningrate = 0.8,
learningrate_scale = 1, momentum = 0.5, visible_type = "bin", hidden_type = "bin",
cd = 1)
Arguments
x |
matrix of x values for examples |
number of hidden units | |
visible_type |
activation function of input unit.Only support "sigm" now |
activation function of hidden unit.Only support "sigm" now | |
learningrate |
learning rate for gradient descent. Default is 0.8. |
momentum |
momentum for gradient descent. Default is 0.5 . |
learningrate_scale |
learning rate will be mutiplied by this scale after every iteration. Default is 1 . |
numepochs |
number of iteration for samples Default is 3. |
batchsize |
size of mini-batch. Default is 100. |
cd |
number of iteration for Gibbs sample of CD algorithm. |
Author(s)
Xiao Rong
Examples
Var1 <- c(rep(1, 50), rep(0, 50))
Var2 <- c(rep(0, 50), rep(1, 50))
x3 <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
r1 <- rbm.train(x3, 10, numepochs = 20, cd = 10)
Infer hidden units state by visible units
Description
Infer hidden units states by visible units
Usage
rbm.up(rbm, v)
Arguments
rbm |
an rbm object trained by function train.rbm |
v |
visible units states |
Value
hidden units states
Author(s)
Xiao Rong
Examples
Var1 <- c(rep(1, 50), rep(0, 50))
Var2 <- c(rep(0, 50), rep(1, 50))
x3 <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
r1 <- rbm.train(x3, 3, numepochs = 20, cd = 10)
v <- c(0.2, 0.8)
h <- rbm.up(r1, v)
Training a Deep neural network with weights initialized by Stacked AutoEncoder
Description
Training a Deep neural network with weights initialized by Stacked AutoEncoder
Usage
sae.dnn.train(x, y, hidden = c(1), activationfun = "sigm", learningrate = 0.8,
momentum = 0.5, learningrate_scale = 1, output = "sigm", sae_output = "linear",
numepochs = 3, batchsize = 100, hidden_dropout = 0, visible_dropout = 0)
Arguments
x |
matrix of x values for examples |
y |
vector or matrix of target values for examples |
vector for number of units of hidden layers.Default is c(10). | |
activationfun |
activation function of hidden unit.Can be "sigm","linear" or "tanh".Default is "sigm" for logistic function |
learningrate |
learning rate for gradient descent. Default is 0.8. |
momentum |
momentum for gradient descent. Default is 0.5 . |
learningrate_scale |
learning rate will be mutiplied by this scale after every iteration. Default is 1 . |
numepochs |
number of iteration for samples Default is 3. |
batchsize |
size of mini-batch. Default is 100. |
output |
function of output unit, can be "sigm","linear" or "softmax". Default is "sigm". |
sae_output |
function of autoencoder output unit, can be "sigm","linear" or "softmax". Default is "linear". |
drop out fraction for hidden layer. Default is 0. | |
visible_dropout |
drop out fraction for input layer Default is 0. |
Author(s)
Xiao Rong
Examples
Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
dnn <- sae.dnn.train(x, y, hidden = c(5, 5))
## predict by dnn
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
nn.test(dnn, test_x, y)