記事"パーセプトロンニューラルネットワーク"についてのディスカッション - ページ 8 123456789 新しいコメント deleven 2021.01.03 14:28 #71 こんにちは、ドミトリー、 数週間前から、あなたの「ニューラルネットワーク」シリーズの最初の2つのパートに取り組んでいます。 私の見解では、これは常に最後の要素を省いてしまいます。Total()関数は カウントを返すべきで、それから1つ取り除いて、forループで"<"を使う。つまり、Total()のカウントが2の場合、forループは1回しか実行されないことになります。 私は何を見逃しているのでしょうか? よろしくお願いします、 デルフ int total=Layer.Total()-1; for(int n=0; n<total; n++) { CNeuron *neuron=Layer.At(n); resultVals.Add(neuron.getOutputVal()); } Hedayat Yazdani 2021.03.05 18:49 #72 のようなコードを書いたとします: int total=Layer.Total()-1; for(int n=0; n<total; n++) { CNeuron *neuron=Layer.At(n); resultVals.Add(neuron.getOutputVal()); } } しかし、レイヤーの中に20個のニューロンがあると仮定して、total変数に19を代入した[int total=Layer.Total()-1] ので、totalは19に等しくなり、インデックス0-18(total=19)のニューロンを繰り返し処理しても、インデックス19(最後のニューロン)に到達しない: int total=Layer.Total(); for(int n=0; n<=total; n++) { CNeuron *neuron=Layer.At(n); resultVals.Add(neuron.getOutputVal()); } } または int total=Layer.Total()-1; for(int n=0; n<= total; n++) { CNeuron *neuron=Layer.At(n); resultVals.Add(neuron.getOutputVal()); } } でコードを変更しなければならないと思います。 どう思いますか? Dmitriy Gizlyk 2021.03.05 23:38 #73 Hedayat Yazdani:コードの一部に、次のような記述がある:しかし、レイヤーに20のニューロンがあると仮定し、total変数に19を代入した[int total=Layer.Total()-1] ので、totalは19に等しくなり、インデックス0-18(total=19)のニューロンを反復しても、インデックス19(最後のニューロン)に到達しない:またはでコードを変更しなければならないと思う。あなたの考えは? 各レイヤーで、ベイジアンシフトのためにニューロンを1つ追加する。つまり、20個のニューロンでレイヤーを作成する関数を 呼び出すと、21個のニューロンを作成することになる。そしてLayer.Total()は21を返す。しかし入力データは20要素しかない。最後のベイジアンニューロンは常に'1'を出力する。そこでLayer.Total()-1を使っている。ループの中で"<"を使っているのは、配列の最初の要素のインデックスが'0'だからだ。 lucardosopro 2021.04.30 03:45 #74 エキスパートアドバイザー、インジケーター、スクリプトを作成できますか? Ping You Jiang 2022.12.10 11:03 #75 MetaQuotes:新しい記事 Neural Networks Made Easy を公開しました:文:ドミトリー・ギズリク こんにちは、初めてニューラルネットワークを学びます。あなたの記事は私にとても適していますが、なぜ-1が多くの場所で必要なのか知りたいです。() - 1のように、次の層のニューロン数と一致しない。 Dmitriy Gizlyk 2022.12.12 18:12 #76 Ping You Jiang #:こんにちは、初めてニューラルネットワークを学びます、あなたの記事は私に非常に適しています、しかし、私はなぜ-1が次のような多くの場所で必要なのか知りたい:nextLayer.() - 1のように、次の層のニューロン数と一致しないのです。 nextLayer.Total()はニューロンの総数を返します。 ですから、もし10に戻るなら、それは次のことを意味します。 配列の要素は0から9までのインデックスを持っています。 Muhammad Saleem 2023.01.11 19:35 #77 実際、ファイルをダウンロードするとコンパイルエラーが出る。 Dmitriy Gizlyk 2023.01.18 00:09 #78 Muhammad Saleem #: 実際にファイルをダウンロードするとコンパイルエラーが出ます。 GetPointer関数を使ってみてください。 Oluwatosin David Oyinleye 2023.03.03 08:07 #79 Dmitriy Gizlyk #: GetPointer関数を使ってみてください。 ドミトリーさん、こんにちは。このエラーはどのように修正できるのでしょうか? Oluwatosin David Oyinleye 2023.03.03 08:08 #80 Muhammad Saleem #: ファイルをダウンロードするとコンパイルエラーが出るんだ。 このエラーは直りましたか? 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、ドミトリー、
数週間前から、あなたの「ニューラルネットワーク」シリーズの最初の2つのパートに取り組んでいます。
私の見解では、これは常に最後の要素を省いてしまいます。Total()関数は カウントを返すべきで、それから1つ取り除いて、forループで"<"を使う。つまり、Total()のカウントが2の場合、forループは1回しか実行されないことになります。
私は何を見逃しているのでしょうか?
よろしくお願いします、
デルフ
のようなコードを書いたとします:
しかし、レイヤーの中に20個のニューロンがあると仮定して、total変数に19を代入した[int total=Layer.Total()-1] ので、totalは19に等しくなり、インデックス0-18(total=19)のニューロンを繰り返し処理しても、インデックス19(最後のニューロン)に到達しない:
または
でコードを変更しなければならないと思います。
どう思いますか?
コードの一部に、次のような記述がある:
しかし、レイヤーに20のニューロンがあると仮定し、total変数に19を代入した[int total=Layer.Total()-1] ので、totalは19に等しくなり、インデックス0-18(total=19)のニューロンを反復しても、インデックス19(最後のニューロン)に到達しない:
または
でコードを変更しなければならないと思う。
あなたの考えは?
各レイヤーで、ベイジアンシフトのためにニューロンを1つ追加する。つまり、20個のニューロンでレイヤーを作成する関数を 呼び出すと、21個のニューロンを作成することになる。そしてLayer.Total()は21を返す。しかし入力データは20要素しかない。最後のベイジアンニューロンは常に'1'を出力する。そこでLayer.Total()-1を使っている。ループの中で"<"を使っているのは、配列の最初の要素のインデックスが'0'だからだ。
新しい記事 Neural Networks Made Easy を公開しました:
文:ドミトリー・ギズリク
こんにちは、初めてニューラルネットワークを学びます。あなたの記事は私にとても適していますが、なぜ-1が多くの場所で必要なのか知りたいです。() - 1のように、次の層のニューロン数と一致しない。
こんにちは、初めてニューラルネットワークを学びます、あなたの記事は私に非常に適しています、しかし、私はなぜ-1が次のような多くの場所で必要なのか知りたい:nextLayer.() - 1のように、次の層のニューロン数と一致しないのです。
nextLayer.Total()はニューロンの総数を返します。 ですから、もし10に戻るなら、それは次のことを意味します。 配列の要素は0から9までのインデックスを持っています。
実際、ファイルをダウンロードするとコンパイルエラーが出る。
GetPointer関数を使ってみてください。
ドミトリーさん、こんにちは。このエラーはどのように修正できるのでしょうか?
このエラーは直りましたか?