記事"ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング"についてのディスカッション - ページ 2

 
elibrarius:

バージョン

機能実行するたびに同じネットワークの重みが得られる。つ目のネットワークを比較してみた。env$Ens[2]を出力し、notepad++のプラグインで比較した。

マルチスレッドでは動かなかった:

setMKLthreads(2)でエラー:can't find function "setMKLthreads"

この関数は何ですか?第4条と第6条のコードにはありません。どのように接続するのですか?

追記:すべての関数とソースデータを含むRセッションを掲載していただければ、より便利だったと思います。

すべての関数と実行可能スクリプトを掲載しました。記事やGIThubからコピーして順次実行してください。

setMKLthreads " 関数を見ることができます。

 
MRO 3.4.3はインストールされていますか?
 
Vladimir Perervenko:
MRO3.4.3をインストールしているかどうか聞くのを忘れていました。
(R-3.4.3(Windows版))https://cloud.r-project.org/ からインストールしました。
 
elibrarius:
ここから(R-3.4.3 for Windows)をインストールしましたhttps://cloud.r-project.org/

スレッド数設定の行をコメントアウトしてください。インテルMKLライブラリーは純粋なRには付属していません。

 
Vladimir Perervenko:

スレッド数を設定する行をコメントアウトするだけです。インテルMKLライブラリーは純粋なRでは動かない。

私がやったのはこれだ。最適化を 2回実行して確認したところ、同じ結果が出た

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 をダウンロードしようとしました。
インテル® パフォーマンス・ライブラリーに ご登録いただきありがとうございます。
製品の ダウンロード方法については、電子メールをご確認ください。最大2営業日かかる場合があります。

20分経ってもダウンロードリンクが届かない。2営業日ってマジ?

 
elibrarius:

だから、そうした。確認のために最適化を 2回実行し、同じ結果を得た

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:


再スタートによる再現性/反復性はさらに優れているように思います。

違いを感じられますか?記事をよく読んでください。私は特にベイズ最適 化のこの特徴を強調しました。

あなたの実験に幸あれ