NS+指標。実験 - ページ 11

 
Figar0 >>:

Пора поднять веточку, все-таки она посвящена входам НС и новую тему заводить не стану...

Появилась пара совсем простых теоритических вопросов-раздумий.

*

Ать). Подавая в НС варианты входов, которые утрировано выглядят примерно так:

а) Open[0]-Open[1], Open[0]-Open[2], Open[0]-Open[3], Open[0]-Open[4],..., Open[0]-Open[N]

б) Open[0]-Open[1], Open[1]-Open[2], Open[2]-Open[3], Open[3]-Open[4],..., Open[N-1]-Open[N]

рассчитывал получить примерно одинаковый результат. Все-таки входы весьма тавтологичны. Ан нет, результаты далеко не всегда даже рядом лежат, как и на участке обучения так и вне его. Пробовал разные варианты сетей, разные нейросетевые пакеты, везде картина примерно одинакова... Почему? несовершенство механизма обучения? "Слабость" сети? Многого от нее хочу?

*

Два). Хочу услышать мнение опытных или считающих себя таковыми нейросетевиков, как далеко должны быть входы от цены в нащей прикладной задаче прогнозирования ценового ВР? Мои опыты показывают, что использование всяческих индикаторов, "производных N-го порядка" от цены, в лучшем случае, вообщем-то ничего не дает. Цена, максимум сглаживание, экстремумы, все остальное от опиум для НС.. Не считаете?

At) その情報は、あなたにとっても、私にとっても、他の多くのμlプログラマーにとっても「トートロジー」である...。相互相関を試してみて、入力にどの程度の相関があるのかを確認しましたか?学習領域以外では、個人的な経験では、入力の非定常性による違いしか現れないのですが...。

2)「インプットが価格とどの程度離れているか」についてですが、相対的に、逆に、デリバティブを使うことで判断基準が向上するのですが...。個人的には、そうは思いません。インプットがどうあるべきかは、アウトプット次第、問題は(大雑把に言えば)思いつき次第です。

 
Figar0 >>:

Ать). Подавая в НС варианты входов, которые утрировано выглядят примерно так:

а) Open[0]-Open[1], Open[0]-Open[2], Open[0]-Open[3], Open[0]-Open[4],..., Open[0]-Open[N]

б) Open[0]-Open[1], Open[1]-Open[2], Open[2]-Open[3], Open[3]-Open[4],..., Open[N-1]-Open[N]

рассчитывал получить примерно одинаковый результат. Все-таки входы весьма тавтологичны. Ан нет, результаты далеко не всегда даже рядом лежат, как и на участке обучения так и вне его. Пробовал разные варианты сетей, разные нейросетевые пакеты, везде картина примерно одинакова... Почему? несовершенство механизма обучения? "Слабость" сети? Многого от нее хочу?

一見すると、a)とb)のケースでネットワーク入力に与えられる情報は、確かにトートロジーである。脳は目を通して、数式というグラフィカルな情報を取り込みます。

数式の記号そのものは、脳にとって有用な情報を持っていない。情報は、その記号の値に含まれているのである。

最初はほとんど違いがわかりません。見てませんでした。:)

数式の記号の下にどんな数字が隠されているかを理解し始めるまでは、その違いに気づかないのだ。ここで、何が違うのかがすぐにわかる。大きな違いだ。


グラフa)のスクリーンショットです。

無限大からOpen[0]-Open[1]の差の値までほぼ完全な線が見えています。



次に、グラフb)を見てみましょう。



その差は、言わずもがな、歴然としているのです2つ目のケースでは、関数の値が0付近で「ジャンプ」し、境界が明確に定義されている。

どんなNSでも、ニューロンの活性化の関数と重みの限界によって、入力の感度の限界が決まる。ネットワークは、学習関数のパターン内と感度の限界内で、学習して いないものを学習するよう要求されることはない。これは、NSが、たとえ学習サンプルになかったとしても、同時に、入力値が学習関数の決定領域に属し、ネットワークの感度の範囲内にあれば、入力データのみについて正しく計算できることを意味する。この2つが、NSが正しく機能するための必要条件である。

Figar0 >>:
二人)。価格VRの予測という応用問題において、価格入力からどの程度離すべきか、経験豊富な、あるいは経験豊富と思われるニューラルネットワーカーの意見を伺いたいと思います。私の経験では、価格から「N次微分」したあらゆる種類の指標を使っても、せいぜい何も得られないのが普通です。価格、最大平滑化、極限、NSアヘンからすべて......。そう思いませんか?

価格から派生した指標は、その算出原理において主要な差異がありますが、使用することができますし、使用すべきです。隣り合うバーが分離していても、それだけで有益な情報は得られません。バーの「グループ」、つまり「ウィンドウ」の相互作用を考えてこそ、有益な情報が得られるのである。

 
joo писал(а)>>

一見すると、a)とb)のケースでネットワーク入力に与えられる情報は、確かにトートロジーである。

グラフa)の画面はこちらです。

何か、a)式を正しく図式化できていないような気がします。

あなたのグラフは(変形)みたいなものです。

f[0] = Open[0]-Open[1] なるほど。

f[1] = Open[0]-Open[2] I.e. 先を見る?

または、Open[0]を現在の値に置き換える、すなわち

f[1] = Open[1]-Open[2] すなわち式b)

あるいはエヘン。

f[1] = Open[1]-Open[3] しかし、これは文脈から導かれるものではない

私が理解するところでは(少なくとも、入力に関する同様の「実験」では、このように考えていました)、「0点」ですべてN-1桁の配列、すなわちf[0][N-1]となります。

は、Open[1]-Open[2]、Open[1]-Open[3]、・・・となります。

n-1次元の平面を描けばいいということです。

結果が違うのは当然です。しかし、どの入力が「(同じ出力に対して)より正しいか」は決めていない。

SZY 昔、"ブラックボックス "で探したことがあります。

 
SergNF >>:

Что-то мне подсказывает, что Вы не правильно графически интерпретировали формулу a).

そして、この「何か」を無意味に相談するのです。

インジケーターを作って見てください。

SergNF >>

結果が違う

のは当然です。

でも、どの入力が(同じ出力に対して)「正しい」かは

まだ決めて

いません。

結果が違うというのはどういうことですか?どの入力が出力と同じなのか!?そして、どれが「正しい」のか、上の投稿を説明しました。

 
joo писал(а)>>

そして、その『何か』から無駄にアドバイスを受けているわけです。

そうかもしれませんね :)

インジケーターを作って見てください。

入力ベクトルのトップ「グラフ」!!!!DBuffer[i]=Close[i]-Close[i+DPeriod]。

入力ベクトルの底面「グラフ」!!!!DBuffer[i]=Close[i+DPeriod]-Close[i+DPeriod+1] とする。


次に、元記事の言語的な解析と...再びToRの文言の正しさの問題に。;)

 
SergNF >>:

Наверное Вы правы :)

Верхний "график" входного вектора!!!!! DBuffer[i]=Close[i]-Close[i+DPeriod];

Нижний "график" входного вектора!!!!! DBuffer[i]=Close[i+DPeriod]-Close[i+DPeriod+1];


Дальше будет лингвистический разбор исходного поста и ... опять к вопросу о корректности формулировок в ТЗ. ;)

うん、だから質問者のToRは、2人が違う解釈をしているからダメなんだよ。:)

Figar0を 待つべきでしょう。

 
StatBars писал(а)>>

インプットがどうあるべきかは、アウトプット(課題)、タスク(出力)がどう出るかに依存します(大雑把に言うと)。

どのようなアウトプットがあり得るのか?確かにNSによって課題の設定は違うかもしれませんが...。

joo さんが書き込みました >>1

まあ、二人の人が違う解釈をしているので、質問者のToRは良くないということですね。:)

フィガロ0が 何を言うか、待たねばなりません。

正直、こんなに意見が分かれるとは思いませんでした...。彼らの窮屈な世界でNSを醸造するためのコストです。SergNFは 私の「ToR」を正しく理解した)2つの入力ベクトルのうち、一方が他方から容易に得られ、出力に異なる結果が得られるもの。そして、なぜ違うのかが分かってきたようだ。明日は、この理解を文字にして、いくつか実験してみようか......。

 
Figar0 >>:

Какие могут быть выходы? Сигналы, работая по которым надеемся получить плавный рост эквити без просадок) Хотя задачу НС можно действительно поставить по разному....

滑らかな立ち上がりを得たい信号は、問題の一種であり、多くの原理があり得るが、それでも多くは(少なくとも相関の点では)非常に類似していることだろう。そして、このアウトプットは、まさにこの文脈で意味されていたのです。

それについてどう思いますか?

経験を共有すべきではないという意見には賛成です。いずれにせよ、多くのことが簡単になる一方で、プロジェクトや開発に関する重要な情報は依然として隠されたままです。例えば、私には他の人にとって生活を楽にする共有すべきものがありますが、同時に私の秘密を明かすことは一切ありません:)

 
Figar0 писал(а)>>

そして、なぜ違うのかが分かってきたような気がします。明日から実験をして、その理解を文字にしてみようと思います...。

まあ、明確な理解、結論は出ているようですが。

- 入力a)とb)は同じで、学習機構の不完全さ、データ変換時の計算誤差により異なる結果となっています。例えば、指標や価格など、何かの増分を入力に使う場合、ゼロレポートや隣接するポイントからの差を取ることになります。NSを極限まで単純化し、重みの網羅的な列挙で学習できるようにしたことで、実験的にしか学べなくなったのです。この結果は、日本経済新聞に掲載された...

この結論を咀嚼して、私はGAの研究に没頭しています。

StatBars さんが書き込みました

経験を共有しないのはもったいないと思いますが、いずれにせよ、一方では多くのことが簡単になり、プロジェクトや開発に関する重要な情報は依然として隠されたままです。例えば、私には他の人の生活を便利にする共有すべきものがありますが、同時に私の秘密は明らかにしません:)

確かにもったいない...。たまには時計を同期させるのも悪くはない)

まずは自分から。今のところ、MQLでネットを用意し、ターミナルのテスター/オプティマイザーだけでトレーニングしています。しかし、統計学では、入力のいくつかの要素を調査しています。この方法にはデメリットもありますが、一定のメリットもあります。最大のプラスは、アプリケーション環境で直接ネットワークを学べることであり、最終目標である利益まで教えられることです。アーキテクチャとして、私は実験的にいくつかの層(入力層、出力層、1つまたは2つの隠れ層)を持つMLPに止まりました。十分すぎるほどの近似値だと思います。今のところ、MLPにバックリンクを付けようと考えています。使用する入力数~50~200、これ以上増やすとアーキテクチャやトレーニングが複雑になり、冗長になると思います。

私の説明はおかしいかもしれないし、そうでないかもしれないが、私は独学でニューラルネットワークを学び、さらに、過剰な埃まみれの文献から自分の脳を嫉んでいるのだ)

 

データの前処理、内部フォーマットへのアップロード、ネットワーク結果の分析にMQLを使用しています。私はNSH2でネットワークを鍛えるだけです。もちろん、MCLやC++のネットワークもありますが、NSH2の方が良いですね...。

ネットは通常の3層(MLP)以上であれば、それ以上は必要ない。

ちなみに、入力については、最大で128個を投入しましたが、いくつかの実験により、20〜30個以上の入力はすでに強い過剰であり、重要でないものを取り除くことで学習基準が大幅に改善される可能性が高いことがわかりました。40入力以下ならまだ議論の余地はあるかもしれませんが、40入力以上は100%オーバーキルです。

学習基準はNSH2 - skoに標準装備されています。

ネットワークフィッティングを避けるため、必ずテストサンプルを使用してください。また、順次サンプルの分割 - サンプルの最初の部分は2005.01.01から言ってみましょう - 2006.01.01 - トレーニングサンプル、テストサンプル - 2006.01.01 - 2006.04.01 多くのネットワークを再トレーニングを取り除くためにそのような方法を疑うかもしれないが、私はそれが再トレーニングを取り除くことを100%確信して、あなたが解消しない場合は、別の問題、すなわち、私はサンプル分割を変更すると、むしろそう(2サンプルで)正確に教えるお勧めしません。ネットワークはもともと安定したものであるべきですが、十分な利益を生むように努力する必要があります。)あるいは、ネットワークは儲かっているが、いつ不採算になるかわからない、つまり、まず利益を確認し、それからネットワークの安定性を図るのです。自己資本がスムーズに増えるという意味ではなく、ネットがフォワードテストによって異なる結果を示しているということです(デポドレインとその逆)。

この方向で開発を進めている私個人としては、1つ目の方が重要です。今、私は一定の成果を上げています。例えば、こんな感じです。(フォーラムでも言いましたが、繰り返します) 「一般サンプル」があり、一般サンプルの20-30%程度でネットワークを学習させ、学習後は全サンプルで、どこでも同じようにネットワークが動作します。

グリッドの収益性についても、すでに解決に近づいています。ネットは84%のサンプルを認識し、87%は安定した円滑な成長のための最小の閾値である

の株式を取得しました。この問題を解き始めた当初は、認識率が70%でした。