文章 "深度神经网络 (第六部分)。 神经网络分类器的融合: 引导聚合" - 页 2

 
elibrarius:

版本

工作原理每次运行时,它都会给出相同的网络权重。我比较了第二个网络。我输出了 env$Ens[2],然后在 notepad++ 中通过插件进行了比较。

在多线程情况下无法运行:

在 setMKLthreads(2) 中出错:找不到函数 "setMKLthreads"。

这是什么函数?第 4 条和第 6 条的代码中没有这个函数。如何连接它?

PS:如果您能发布包含所有函数和源数据的 R 会话,会更方便。

我已经发布了引文、所有函数和可执行脚本。请从文章或 GIThub 上复制,按顺序执行。

您可以看到"setMKLthreads " 函数

 
忘了问您是否安装了 MRO 3.4.3?
 
Vladimir Perervenko:
忘了问您是否安装了 MRO 3.4.3?
我已经安装了 (R-3.4.3 for Windows) 从这里https://cloud.r-project.org/
 
elibrarius:
我从这里安装了(R-3.4.3 for Windows)https://cloud.r-project.org/

只需注释掉线程数设置的行即可。英特尔 MKL 库不是纯 R 附带的。

 
Vladimir Perervenko:

只需注释掉设置线程数的行即可。英特尔 MKL 库不能用于纯 R。

我就是这么做的。运行优化 两次进行检查,结果相同

numFeature r nh fact Value
1 11 8 19 4 0.768
2 8 8 18 4 0.754
3 11 8 15 4 0.753
4 11 9 13 8 0.750
5 12 8 15 4 0.750
6 9 8 39 4 0.748
7 10 8 6 3 0.745
8 11 8 20 6 0.743
9 10 8 14 3 0.743
10 8 9 40 7 0.743

比你的差一点,但我认为这只是 HGC 组合不太成功。

 
Vladimir Perervenko:

英特尔 MKL 库无法与纯 R 兼容。

我想下载 MKL。他们要求我注册,我注册后,他们显示了以下消息:
感谢您注册英特尔® 性能库
请查看您的电子邮件,以获取下载产品 的说明。请注意,这可能需要两个工作日。

20 分钟后,我仍然没有收到下载链接。他们说的 2 天是真的吗?

 
elibrarius:

所以我做了。运行优化 两次进行检查,结果相同

numFeature r nh fact Value
1 11 8 19 4 4 0.768
2 8 8 18 4 0.754
3 11 8 15 4 0.753
4 11 9 13 8 0.750
5 12 8 15 4 0.750
6 9 8 39 4 0.748
7 10 8 6 3 0.745
8 11 8 20 6 0.743
9 10 8 14 3 0.743
10 8 9 40 7 0.743

比你的差一点,但我认为这只是 DST 组合不太成功。

在使用 foreach 时,我总是使用 doRNG 软件包(DST 非常稳定)。

情况不应该是这样的。每次新的优化运行都会产生不同的结果!

 

我现在运行了优化,得到了

 Best Parameters Found: 
Round = 18      numFeature = 8.0000     r = 1.0000      nh = 34.0000    fact = 10.0000  Value = 0.7700 
> evalq({
+   OPT_Res %$% History %>% dplyr::arrange(desc(Value)) %>% head(10) %>%
+     dplyr::select(-Round) -> best.init
+   best.init
+ }, env)
   numFeature  r nh fact Value
1           8  1 34   10 0.770
2           7  1 15   10 0.766
3          11  2 15   10 0.765
4           9  1 36   10 0.765
5           3  7 13    5 0.761
6           7  8  8   10 0.748
7          11  6 29   10 0.748
8           3 10 49    1 0.748
9           7  7 23   10 0.746
10          3  1  1   10 0.745

如果使用优化后的前 10 个参数运行优化,则会得到更多选项。比如

#---Optim  Ensemble-----
evalq(
  OPT_Res <- BayesianOptimization(fitnes, bounds = bonds,
                                  init_grid_dt = best.init, init_points = 10, 
                                  n_iter = 20, acq = "ucb", kappa = 2.576, 
                                  eps = 0.0, verbose = TRUE)
  , envir = env)

你可以根据自己的需要继续运行。

祝你好运

 
Vladimir Perervenko:

在使用 foreach 时,我总是应用 doRNG 软件包(非常稳定的 GCH)。

情况不应该是这样的。每次新的优化运行都会产生不同的结果!


在我看来,重启后的可重现性/可重复性 更好。

 
elibrarius:


在我看来,重启后 可重现性/可重复性会更好。

现在能感觉到区别了吗?请仔细阅读这篇文章。我特别强调了贝叶斯优化的 这一特点。

祝您实验成功