如何在h2o.deeplearning中初始化重量?

时间:2017-08-16 05:37:05

标签: r neural-network deep-learning h2o

我使用for constexpr函数在R中执行DNN。

我想初始化深度神经网络的迭代和性能改进的权重。

我知道称重初始化应该是-1到+1之间的一个小值而不是一个大值。

那么,h2o.deeplearning中的参数代码是什么来初始化权重?以及如何使用它来初始化-1和+1 ??

请帮助我..!

1 个答案:

答案 0 :(得分:1)

如果我们查看?h2o.deeplearning

的文档
  

initial_weights用于初始化权重的H2OFrame ID列表   这个模型的矩阵用。

以下是设置权重的示例

library(h2o)
h2o.init()
iris.hex <- as.h2o(iris)
iris.dl <- h2o.deeplearning(x = 1:4, y = 5, training_frame = iris.hex,
    hidden=c(10,10),export_weights_and_biases = TRUE
)
w1 <- h2o.weights(iris.dl,1)
w2 <- h2o.weights(iris.dl,2)
w3 <- h2o.weights(iris.dl,3)
b1 <- h2o.biases(iris.dl,1)
b2 <- h2o.biases(iris.dl,2)
b3 <- h2o.biases(iris.dl,3)

dl <- h2o.deeplearning(1:4,5,iris.hex,hidden=c(10,10),initial_weights=c(w1,w2,w3),
    initial_biases=c(b1,b2,b3))

p1 <- h2o.predict(dl, iris.hex)
p1
#  predict    setosa   versicolor    virginica
#1  setosa 0.9967546 0.0032424531 2.946375e-06
#2  setosa 0.9943469 0.0056346023 1.845851e-05
#3  setosa 0.9990881 0.0009072309 4.663780e-06
#4  setosa 0.9990550 0.0009393998 5.593951e-06
#5  setosa 0.9985592 0.0014391955 1.568052e-06
#6  setosa 0.9966511 0.0033477623 1.121636e-06

#[150 rows x 4 columns] 

关于规范化,将由h2o完成。另请检查here