問題タブ [encog]
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.
java - Javaでencogを使用してHopefieldネットワークをトレーニングする
私はこのネットワークで働き始めました。そして、いくつかのコードを書きましたが、それが正しいかどうかはわかりません。これが私がすることです:
- 最初にネットワークを作成します
HopefieldNetwork net = new HopefieldNetwork(50)
。 - すべてのパターンを追加するよりも、すべてのパターン
net.addPattern(aPattern)
を追加するループ内aPattern
のタイプBasicMLData
と変更を使用して、すべてのパターンを追加します。 net.runUntilStable(5000)
最大5000回の反復でトレーニングを行います。これは正しいですか?- これで、訓練されたネットワークができました。次のような出力を取得します
out = (BasicMLData) net.compute(input)
大丈夫ですか?
neural-network - 画像を分類するための Encog ニューラル ネットワーク : トレーニング
画像分類用のニューラル ネットワークのトレーニングに問題があります。NN のパフォーマンスに基づくと、学習していないようです。
基本的に、encog-examples (ImageNeuralNetwork) で特定のプログラムを実行して、一連の画像を分類します。以下はサンプルプログラムの出力です
ご覧のとおり、NN は 200% に近いエラーから 100% に近いエラーまで振動します。そもそも、100% を超えるエラーが発生する可能性があるかどうかさえわかりません。200% はなおさらです。
以下は、NN へのコマンドとパラメーターを含む入力ファイルです。
私の最初の推測では、実際の画像または理想的な値が NN に適切に供給されていなかったのですが、入力をチェックしました (たとえば、読み取った画像と理想的な値を出力するなど)、それらは問題ありませんでした。
私の推測では、一部のディレクトリ (おそらく Java ライブラリのディレクトリまたは入力ファイルが読み込まれる場所) が正しく設定されていません。以下は私のEclipse実行構成です:
ちなみに、Forest Cover の例 (入力ファイルが必要) は正しく実行できませんが、Lunar Lander と XOR の例 (入力ファイルは必要ありません) は実行できます。これは、私の問題がディレクトリに関連しているという私の仮定を強化します。
どんな助けでも大歓迎です。ありがとう。
c# - 出力値は 0 から 1 であると予想されますが、1 を超える場合もあります
RPOPを使用する次のニューラルネットワークがあります-Resilent Back Propagation
(私が正しいことをしていることを確認するためだけにコードを投稿しました。誰かが指摘しないのであれば、私は願っています)
ネットワークをトレーニングした後、エラー率は約 1% に最小化されます。テスト データに合格すると、ほとんどの場合、「5,07080020755566E-10」のような出力が生成されます。そのようなケースが発生した場合、それらは常に正の数であることに注意してください(まだ負の出力に遭遇していません)。
私が聞きたかった 2 番目の質問は次のとおりです。ニューラル ネットワークはサッカーの試合を予測することを目的としているため、32 個の入力があることを考慮します。16 の入力はチーム 1 のパフォーマンス データ用で、16 はチーム 2 用です。
トレーニング セットは次のように準備されます: 1000 の一致があり、それらのトレーニング セットの出力がすべて 1 であるとします。
そのため、トレーニング セットの準備中に、リバース マッチがさらに追加されます。出力は 0 で、もちろんチーム 1 とチーム 2 の入力はそれぞれ変更されます。
テストすると、同じ試合で次の結果が得られます
問題はなぜですか?:)
どんな助けにも感謝します。この問題に光を当てることで、どこを掘るべきかを教えてくれます。前もって感謝します。
java - Encog による自己学習ニューラル ネットワーク
ニューラル ネットワーク (BP FF) は、プロペラを制御して落下を回避し、試行によって安定させる方法を自己学習 (自律的に) できますか?
ニューラル ネットワークのタイプ: 多層、逆伝播フィードフォワード、シグモイド活性化。
簡単にするために、垂直方向のプロペラ制御と垂直方向の速度のみを取り上げます。
入力: 垂直速度。
出力:プロペラ動力(下向きのみを狙うので上向きのみ押す)
バックプロパゲーション NN は、出力と目的の出力の差からエラーを取得するため、目的の出力を知らずに (実際には、目的の出力を学習する必要があります) どうすれば学習できますか。
エラーを垂直速度 (停止 = エラーなし) として捉える場合は、より適していますが、Encog の ResilientPropagation クラスまたは BackPropagation クラスのエラー関数を変更するにはどうすればよいですか?
この種の学習を行うには、ネットワーク クラス全体を自分で作成する必要がありますか? 初期のトレーニング データがないためです。エンジンの出力と速度から新しく作成されたデータのみがあります。(トレーニング データを生成できれば、エンジンを制御する方法がわかるので、NN は必要ありません)
この仕事に最も適したニューラル ネットワークの種類は何ですか?
neural-network - Encog getError() は Infinity を返します
Java用Encogライブラリの助けを借りて、次のニューラルネットワークを構築しました
また、テストデータを用意し、この列車を利用してこの NN を訓練しようとしました。
しかし、いくつかのデータケース (まれ) で、train.getError() が Infinity に等しい (渡されたエポックの数に依存しない) を受け取っていることがわかりました。一見すると、データは適切に見えます (すべて数値であり、NaN も無限値もありません)。
この無限エラーの考えられる理由は何ですか? 解決するにはどうすればよいですか?
ありがとう
encog - Encog One Of - デコード
プロジェクトの 1 つで Encog を使用していますが、One-Of クラスのデコード中に行き詰まりました。フィールドの正規化アクションの 1 つは NormalizationAction.OneOf で、3 つの出力があります。評価するとき、予測値をデコードしたい。デコードする方法...?
上記のコードはエクイラテラル用です。One-Of で同じことを行うにはどうすればよいですか。
ありがとう、カンズ
svm - SVM はすべての入力に対して同じ予測値を出力しています...なぜですか?
私は Encog を使用し、予測データには SVM を使用しています。トレーニング セットの値は正規化されていませんが、元は [-1,1] の範囲にあります。問題が発生する理由がわかりません。
私のトレーニングデータ:
これらの値を正規化する必要がありますか? これは問題ではないと思いますが、誰が知っている... SVM をトレーニングし、すべてが正しいように見えますが、SVM を評価すると、すべての入力に対して出力が同じになります。必要に応じてコードを添付できます。
java - Encog のイデアル/出力に文字列を使用できますか?
私はencogが初めてで、Javaで画像分類用のencogニューラルネットワークトレーナーをやっています。
Encogニューラルネットの理想として文字列を使用できるかどうか知りたいです。ありがとうございました。