問題タブ [bias-neuron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neural-network - パーセプトロンのバイアスの解明
偏りがなければ、原点を通る線は 2 つのデータ セットを線形に分離できるはずですよね??
しかし、この -->>質問で最も人気のある答えは言う
私はそれについて混乱しています。上の図の原点はx軸とy軸の中間ということですか?誰かが私を助けてこれを明確にしてもらえますか?
matlab - ニューラル ネットワークの適用結果の精度を求める
ニューラルネットワークの結果の精度について役立つものは何も見つかりませんでした.
入力テストによるネットワーク トレーニングとシミュレーションの後、Matlab で文字認識の例を実行しましたが、シミュレーション後の出力結果の精度を計算するにはどうすればよいですか?
いくつかの理由(研究)で、ネットワークトレーニング後にいくつかのニューロンの重みを変更し、入力テストでシミュレートしたいのですが、正確な出力結果と比較して出力精度を計算するにはどうすればよいですか? このタスクはニューラルネットワークで可能ですか?
助けてくれてありがとう。
neural-network - アンのバイアスノードに関する懸念
OK、バイアス ノードのアイデアが得られました。伝達関数曲線を水平方向に移動して、データにより適合させます。問題は、バイアス ノードの重み値が他の重みと同じように計算されることです。これは正しいですか?バイアスの重みを他の方法で計算する必要がありますか? また、伝達関数を上下に移動するための別のバイアス値があるべきではありませんか? このように: f(x1+x2...+b1)+b2. b2 の計算方法がわかりません。何か案は?
machine-learning - BackPropagation ニューロン ネットワーク アプローチ - 設計
数字認識プログラムを作ろうとしています。数字の白/黒の画像をフィードすると、出力レイヤーが対応する数字を発火させます (出力レイヤーの 0 -> 9 ニューロンから 1 つのニューロンが発火します)。2 次元 BackPropagation ニューロン ネットワークの実装が完了しました。私のトポロジ サイズは [5][3] -> [3][3] -> 1 [10] です。つまり、1 つの 2-D 入力層、1 つの 2-D 非表示層、および 1 つの 1-D 出力層です。ただし、奇妙で間違った結果が得られます (平均エラーと出力値)。
この段階でのデバッグには時間がかかります。したがって、これが正しい設計であるかどうかを知りたいので、デバッグを続けます。私の実装のフローステップは次のとおりです。
ネットワークの構築: 出力層を除く各層に 1 つのバイアス (バイアスなし)。Bias の出力値は常に = 1.0 ですが、その Connections Weights は、ネットワーク内の他のすべてのニューロンと同様に、パスごとに更新されます。すべての重みの範囲は 0.000 -> 1.000 (負の値なし)
入力データ (0 | OR | 1) を取得し、n 番目の値を入力層の n 番目のニューロン出力値として設定します。
フィード フォワード: すべてのレイヤー (入力レイヤーを除く) の各ニューロン 'n' で:
- 前のレイヤーからこの n 番目のニューロンに接続されたニューロンの SUM (出力値 * 接続の重み) の結果を取得します。
- この SUM の TanHyperbolic - Transfer Function - を結果として取得します
- 結果をこの n 番目のニューロンの出力値として設定する
結果の取得: 出力層のニューロンの出力値を取得する
誤差逆伝播法:
- ネットワーク エラーの計算: 出力層で、SUM ニューロンの (ターゲット値 - 出力値)^2 を取得します。この SUM を出力レイヤーのサイズで割ります。SquareRoot を Result として取得します。平均誤差の計算 = (OldAverageError * SmoothingFactor * Result) / (SmoothingFactor + 1.00)
- 出力層勾配の計算: 各出力ニューロン 'n' について、n 番目の勾配 = (n 番目のターゲット値 - n 番目の出力値) * n 番目の出力値 TanHyperbolic Derivative
- 隠れ層勾配の計算: 各ニューロン 'n' について、SUM (この n 番目のニューロンからの重みの正接双曲線導関数 * 宛先ニューロンの勾配) を結果として取得します。(結果 * この n 番目の出力値) をグラデーションとして割り当てます。
- すべての重みを更新: 非表示層から入力層に戻り、n 番目のニューロンについて: NewDeltaWeight = (NetLearningRate * n 番目の出力値 * n 番目の勾配 + Momentum * OldDeltaWeight) を計算します。次に、新しい重みを (OldWeight + NewDeltaWeight) として割り当てます。
- プロセスを繰り返します。
これが数字の7に対する私の試みです。出力は Neuron # zero と Neuron # 6 です。Neuron 6 は 1 を運ぶ必要があり、Neuron # zero は 0 を運ぶ必要があります。私の結果では、6 以外のすべての Neuron は同じ値を運んでいます (# zero はサンプルです)。
長い投稿で申し訳ありません。これを知っていれば、それがどれほどクールで、1 つの投稿でどれだけ大きいかがわかるでしょう。前もって感謝します
neural-network - レイヤーごとに 1 つのバイアスが必要ですか、それともノードごとに 1 つのバイアスが必要ですか?
入力ノードで構成される 1 つの入力層、出力ノードで構成される 1 つの出力層、および非表示ノードで構成される N 個の非表示層を使用して、一般的なニューラル ネットワークを実装しようとしています。ノードはレイヤーに編成されており、同じレイヤー内のノードは接続できないという規則があります。
バイアスの概念は大体理解できましたが、質問があります。
レイヤーごとに 1 つのバイアス値 (そのレイヤーのすべてのノードで共有) が必要ですか、それとも各ノード (入力レイヤーのノードを除く) に独自のバイアス値が必要ですか?
両方の方法で実行できると感じています。各アプローチのトレードオフを理解し、どの実装が最も一般的に使用されているかを知りたいです。
neural-network - 1 対 -1 出力の単純なニューラル ネットワーク伝達関数
私はニューラル ネットワークに不慣れで、現在、提示された質問に対するガイダンスが必要です。
質問:バイアスのある単一入力ニューロンを考えてみましょう。入力が 3 未満の場合は出力が -1 になり、入力が 3 以上の場合は +1 になるようにしたいと考えています。どのような伝達関数が必要で、どのようなバイアスを提案しますか?
繰り返しますが、私はこれに慣れていません。答えは明らかであると確信していますが、今はほとんど話せません。私は当初、Signum 関数またはしきい値関数のいずれかを使用することを検討していましたが、必要な答えが得られません。どんな助けや情報も大歓迎です。
neural-network - ニューラル ネットワークでは、バイアスに運動量項が必要ですか?
モメンタムは、ネットワーク内のすべてのノードのバイアス項にも追加する必要がありますか?それとも、できれば重みのみに追加する必要がありますか?
neural-network - get_all_param_values() lasagne.layer の読み方
畳み込みニューラル ネットワークを作成するために、Lasagne と Theano を実行しています。私は現在、
私の最後のレイヤーは、ソフトマックスを使用して分類を出力するdenselayerです。私の最終的な目標は、分類 (0 または 1) ではなく、確率を取得することです。
get_all_param_values() を呼び出すと、広範な配列が提供されます。最後の高密度レイヤーの重みとバイアスのみが必要です。これについてどう思いますか?l_out.W と l_out.b と get_values() を試しました。
前もって感謝します!
neural-network - ニューロネットワークにおける「バイアス」の使い方
今から 2 週間、私はニューラル ネットワークに取り組んでいます。私のアクティベーション関数は通常のシグモイド関数ですが、インターネットで読んだことがあるのですが、さまざまな解釈方法が見つかりました。
現在、すべての入力値に重みを掛けて合計し、バイアス (負のしきい値) を追加しています。これはすべてhttp://neuralnetworksanddeeplearning.com/chap1#sigmoid_neuronsから取得し ました
順伝播部分では、バイアスはまったく使用されていません。そうすべきだと思います。教えてください。彼らがそこで何をしたか、どのページが間違っているかを見るのは愚かですか?
これは私のコードを計算するための私のコードですが、1 つのニューロンの部分はこの部分で行われます。
おそらく、私がそこで何をしたかを正確に理解することはできませんが、私は単にレイヤーを表し、k はすべての入力ニューロンであり、入力ニューロンをスローし、出力に重みを追加することを繰り返しています。それを行う直前に、開始値をバイアスに設定しました。
この問題で私を助けてくれたらとても嬉しいです。また、私の英語で申し訳ありません:)