私は現在、7.3 ニューラル ネットワークの最終的な実践をまとめているところです。予測モデリングとテキストマイニングのモジュールJMP STIPSコース。ニューラル ネットワークをフィッティングし、回帰モデルとして隠れ層のノードの基本機能を理解することは、直感的には簡単に見えます。 それでも、私が受けたばかりの非常に基本的なトレーニングの後でも、コミュニティでより洞察力のある誰かが、私がまだ抱いている疑問に答えてくれるだろうかと考えていますし、期待しています。 ここで説明したい例では、ファイルを使用しましたGreenPolymerProduction.jmp JMP の標準バージョン。 モデルを含むファイルのコピーが添付されます。
モデルの図を以下に示します。 8 つの予測子のそれぞれのデータが隠れ層の 3 つのノードのそれぞれに供給されていることがわかります。 層内の各ノードは TanH 活性化関数を使用します。

モデルの式をテーブルに保存しました。 3 つのノードのそれぞれで使用される式のスクリーンショットを以下に示します。
質問 #1: 各ノードが同じ活性化関数に対して異なる式を持っているという事実をどのように解釈すればよいですか?直観的には、各ノードで同じ式が使用されるはずだと期待するのは単純に思えますが、JMP がどのようにして以下に示す結果に到達するのか疑問に思っています。 私が考えた解釈の 1 つは、各ノードが異なる入力データを受信するため、以下に示すように異なる式が期待されるというものですが、この仮定は大きく間違っている可能性があります。
質問 #2: 初心者向けのニューラル ネットワークについて読むための優れた参考文献 (できれば現象学的説明を使用) を共有できる人はいますか?



乾杯@Victor_G , これで理解が深まることは間違いありません。 それは有り難いです。
こんにちは@レッセル、
あなたに幸せな新年 !
ご質問に関して:
- 一般近似定理 ( https://en.m.wikipedia.org/wiki/Universal_estimate_theorem ) 十分な隠れ層とニューロンの数を備えたニューラル ネットワークは、あらゆる線形関数または非線形関数を表現できると述べています。 これらは、複数の単純な数学関数 (TanH、シグモイドなど) の重み付けされた組み合わせに依存しているため、この多種多様な関数/プロファイルを近似することができます。 各ノードは、解決しようとしているパズル (関数) の有用なピースを取得しようとしているだけなので、同じデータが入力されますが、結合されて目的の出力を得るために (最終関数の) 異なる部分が作成されます。
スクリーンショットでは、3 つの TanH 関数が異なる重み (および入力を混合する異なる式) と結合されて、最終的な予測式が得られます。
リソースについて:
- ニューラル ネットワークを使用して関数を再構築する例を詳細に説明しているこの Web サイトをご覧ください。 http://neuralnetworksanddeeplarning.com/chap4.html#:~:text=No%20matter%20what%20the%20function,m)%2C%20and%20many%20outputs
- YouTube チャンネル StatQuest もとても好きです。Josh Starmer が簡単な使用例でニューラル ネットワークの内部動作を非常にわかりやすく説明しています。 https://youtu.be/CqOfi41LfDw?si=leA0KeTcgSY3YW70
- MLU Explain チームが作成したニューラル ネットワークに関する専用の学習ページもあります。非常によくできており、理解しやすいです。 https://mlu-explain.github.io/neural-networks/
- 最後に、このインタラクティブなニューラル ネットワーク プレイグラウンドで、さまざまなユース ケースの分類/回帰でさまざまなニューラル ネットワーク構成を試して、重みのトレーニングとフィッティングがどのように行われるかを確認することもできます。 https://playground.tensorflow.org/#activation=tanh&batchSize=10&dataset=circle®Dataset=reg-plane&learningRate=0.03&normalizationRate=0&noise=0&networkShape=4,2&seed=0.88242&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY= false&xSquared=false&ySquared =false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false
この最初の回答がお役に立てば幸いです:)