人工ニューラルネットワークのニューロン数、層数の推定【非公開
質問
私は層の数と層ごとのニューロンの数を計算する方法について探しています。入力として、私は入力ベクトルのサイズ、出力ベクトルのサイズとトレーニングセットのサイズを持っているだけです。
通常、最適なネットは、異なるネットトポロジーを試し、最も誤差の少ないものを選択することによって決定されます。残念ながら、私はそれを行うことはできません。
どのように解決するのですか?
これは本当に難しい問題です。
ネットワークがより多くの内部構造を持てば持つほど、そのネットワークは複雑な解を表現するのに有利になります。 一方、内部構造が多すぎると速度が遅くなり、学習が発散したり、オーバーフィットにつながったりして、新しいデータに対してネットワークがうまく汎化できない可能性があります。
人々は伝統的に、いくつかの異なる方法でこの問題に取り組んできました。
-
様々な構成を試して、最も効果的なものを見つけてください。 トレーニングセットを2つに分割し、1つはトレーニング用、もう1つは評価用とし、異なるアプローチをトレーニングし、評価することができます。 残念ながら、あなたの場合、この実験的アプローチは利用できないようです。
-
経験則を利用する。 多くの人々が、何が最も効果的かについて、多くの推測を思いつきました。 隠れ層のニューロンの数に関して、人々は (たとえば) (a) 入力層と出力層のサイズの間であるべき、(b) (inputs+outputs) * 2/3 に近いものに設定すべき、または (c) 入力層のサイズの 2 倍より大きくしてはならない、と推測しています。
経験則の問題点は、それらが は重要な情報を必ずしも考慮していないことです。 , 問題がどの程度難しいか、トレーニングセットとテストセットのサイズはどの程度か、など。 などです。 その結果、これらのルールはしばしば、「いろいろ試してみて、何が一番うまくいくか見てみよう」というアプローチの大まかな出発点として使用されます。 -
ネットワーク構成を動的に調整するアルゴリズムを使用します。 のようなアルゴリズムがあります。 カスケード相関 のようなアルゴリズムは、最小限のネットワークで開始し、トレーニング中に隠しノードを追加します。 これは実験の設定を少し単純にすることができ、(理論的には)より良いパフォーマンスをもたらすことができます(誤って不適切な数の隠れノードを使用することがないため)。
このテーマには多くの研究があり、本当に興味があるのなら、読むべきものがたくさんあります。 引用文献をチェックする をチェックしてください。 を、特にチェックしてください。
-
Lawrence, S., Giles, C.L., and Tsoi, A.C. (1996), "どのようなサイズのニューラルネットワークが最適な汎化を与えるのか?バックプロパゲーションの収束特性" . テクニカルレポート UMIACS-TR-96-22 and CS-TR-3617, Institute for Advanced Computer Studies, University of Maryland, College Park.
-
Elisseeff, A., and Paugam-Moisy, H. (1997), "厳密な学習のための多層ネットワークのサイズ:分析的アプローチ" . Advances in Neural Information Processing Systems 9, Cambridge, MA: The MIT Press, pp.162-168.
関連
-
[解決済み】TensorFlowでtf.gradientsが動作する方法
-
[解決済み】Keras - KerasRegressorを使用して予測を実行する方法は?
-
[解決済み] PyTorchのバックワード関数
-
[解決済み] Kerasにおける "Flatten "の役割とは?
-
[解決済み] tf.reset_default_graph() の使用方法
-
[解決済み] サポートベクターマシンに対する人工ニューラルネットワークの優位性は何ですか?[終了しました]
-
[解決済み】教師あり学習と教師なし学習の違いは何ですか?[終了しました]
-
[解決済み] なぜFメジャーはPrecisionとRecallの算術平均ではなく調和平均なのですか?
-
[解決済み] クロスエントロピーとは?[クローズド]
-
[解決済み] 機械学習とは?[終了しました]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TensorFlowでtf.gradientsが動作する方法
-
[解決済み] PyTorchのバックワード関数
-
[解決済み】線形回帰とロジスティック回帰の違いは何ですか?[クローズド]
-
[解決済み】同じ問題で binary_crossentropy と categorical_crossentropy が異なる性能を示すのはなぜか?
-
[解決済み] Diablo 2をプレイするための人工ニューラルネットワークを視覚的に学習させる方法とは?
-
[解決済み] Windowsの.batファイルにプロセスを強制終了させる方法を教えてください。[クローズド]。
-
[解決済み] なぜFメジャーはPrecisionとRecallの算術平均ではなく調和平均なのですか?
-
[解決済み] 多層パーセプトロン(MLP)アーキテクチャ:隠れ層の数とサイズを選択する基準?[クローズド]
-
[解決済み] トレーニング中のナンの原因
-
[解決済み] OpenAIで新しいジム環境を作るには?