В наше время, наверное, каждый трейдер слышал о нейронных сетях и знает, как это круто. В представлении большинства те, которые в них разбираются, это какие-то чуть ли не сверхчеловеки. В этой статье я постараюсь рассказать, как устроена нейросеть, что с ней можно делать и покажу практические примеры её использования.
SanSanychは、わざわざ自分でコードを書かず、Rの既成の関数を使えということだと思う。
コードだけではありません。レディメイドのコードとは、何らかのアイデアを実装することです。
参照
gafs-遺伝的アルゴリズム による予測変数の選択
であり,最終的なモデルは,予測器の部分集合に基づき,リサンプリングによって決定された最適な世代数で付けられたものである
rfe- 予測変数の後方選択
は、予測変数の重要度のランキングに基づいて、予測変数の後方選択を実装しています。
予測変数は順番に並べられ、重要度の低いものはモデル化する前に順次削除されます。
目標は、より正確なモデルで使用できる予測因子のサブセットを見つけることである
safs- - 予測器選択ロバスト性のシミュレーション (予測器アニーリング)
探索時には 、探索に必要 な適合度( SAのエネルギー値 )の尺度が必要である。 これは内部的な性能の尺度 である。検索時に利用できるデータは、高レベルのリサンプリングによって選択されたインスタンス(例えば、上記の9分の1部分)である。一般的なアプローチでは、別のリサンプリング手順を行う必要があります。もう一つの選択肢は、複数の アウトオブサンプルを使用してパフォーマンスの内部 評価を決定する必要が あります
その際、「ゴミを入れ、ゴミを出す」ことを常に念頭に置いてください。
コードだけではありません。レディメイドのコードとは、何らかのアイデアを実装することです。
参照
gafs-遺伝的アルゴリズム による予測変数の選択
であり,最終的なモデルは,予測器の部分集合に基づき,リサンプリングによって決定された最適な世代数で付けられたものである
rfe- 予測変数の後方選択
は、予測変数の重要度のランキングに基づいて、予測変数の後方選択を実装しています。
予測変数は順番に並べられ、重要度の低いものはモデル化する前に順次削除されます。
目標は、より正確なモデルで使用できる予測因子のサブセットを見つけることである
safs- - 予測器選択ロバスト性のシミュレーション (予測器アニーリング)
探索時には 、探索に必要 な適合度( SAのエネルギー値 )の尺度が必要である。 これは、パフォーマンスの内部尺度 である。検索時に利用できるデータは、高レベルのリサンプリングによって選択されたインスタンス(例えば、上記の10分の9の部分)である。一般的なアプローチでは、別のリサンプリング手順を行う必要があります。もう一つの選択肢は、複数の アウトオブサンプルを使用してパフォーマンスの内部 評価を決定する必要が あります
その際、「ゴミを入れ、ゴミを出す」ことを常に念頭に置いてください。
面白いアイデアですね。そんなの自分で書けるわけないじゃん...。
相関図審査をしてみました。まずは手始めに。
予測因子を総相関数でソートし、相関の少ないものから順に、相関のあるものを削除していきます。そして、残りの予測因子でこれを繰り返す。
ピアソンコーラーM
1.00,0.97,0.86,0.88,0.84,0.80,
0.97,1.00,0.92,0.84,0.79,0.75,
0.86,0.92,1.00,0.73,0.67,0.63,
0.88,0.84,0.73,1.00,0.99,0.98,
0.84,0.79,0.67,0.99,1.00,1.00,
0.80,0.75,0.63,0.98,1.00,1.00,
Corr + Kfull - 列の総和
5.35,5.26,4.80,5.42,5.30,5.16,
Kfullソート
4.80(2),5.16(5),5.26(1),5.30(4),5.35(0),5.42(3),
削除する入力。1,3,4,
キープする入力:0,2,5。
コードだけではありません。レディメイドのコードとは、何らかのアイデアを実装することです。
参照
gafs-遺伝的アルゴリズム による予測変数の選択
であり、最終的なモデルは、リサンプリングによって決定された最適な世代数に付属する予測器の部分集合に基づくものである。
rfe- 予測変数の後方選択
は、予測変数の重要度のランキングに基づいて、予測変数の後方選択を実装しています。
予測変数は順番に並べられ、重要度の低いものはモデル化する前に順次削除されます。
目標は、より正確なモデルで使用できる予測因子のサブセットを見つけることである
safs- - 予測器選択ロバスト性のシミュレーション (予測器アニーリング)
探索時には 、探索に必要 な適合度( SAのエネルギー値 )の尺度が必要である。 これは内部的な性能の尺度 である。検索時に利用できるデータは、高レベルのリサンプリングによって選択されたインスタンス(例えば、上記の10分の9の部分)である。一般的なアプローチでは、別のリサンプリング手順を行う必要があります。もう一つの選択肢は、複数の アウトオブサンプルを使用してパフォーマンスの内部 評価を決定する必要が あります
その際、「ゴミを入れたら、出す」を常に意識してください。
面白いアイデアですね、もちろん自分で書けるわけでもなく、自分で思いつくわけでもないですが)
このような複雑な発想が取引上必要なのか、という疑問は残る。とりあえず相関の強いものを外してみて、結果が受け入れられなければRに切り替えるしかないでしょう面白いアイデアですね!もちろん自分で書くことはできませんし、アイデアも思いつきません(笑)
このような複雑な発想が取引上必要なのか、という疑問は残る。とりあえず相関の高いものを外してみて、結果が受け入れられなければ、Rに切り替えるしかないですね研究業務に極めて役立たないという意味で、alglibにはまったんですね。Rインタプリタ、何でも試すのは簡単です。
相関の強い予測因子-(マルチコリニア)の除去は必須です。
予測因子とターゲットの相関性、確かに面白いですね。このような相関関係のアイデアを投じることができます。線形回帰を 構築し(より洗練されたものがあります)、有意でない係数を持つ予測因子を捨てます。それが私にはうまくいかなかった。もしかしたら、できるかもしれない。
しかし、予測因子の選定は、MO
記事https://www.mql5.com/ru/articles/497、入力数に応じて活性化関数の傾きを変えることを提案しました。
AlgliでもRでも、勾配は標準なのか、入力数によって自己最適化するのか?それとも、このブラックボックスの中身をほとんど誰も知らないということでしょうか。
記事https://www.mql5.com/ru/articles/497、入力数に応じて活性化関数の傾きを変えることを提案しました。
AlgliでもRでも、勾配は標準なのか、入力数によって自己最適化するのか?あるいは、ほとんど誰も知らないブラックボックスの中身は何なのか?
ニューラルネットワークライブラリの中には、個々のニューロンを活性化する関数の設定や、個々の接続の追加・削除に至るまで、作成するニューラルネットワークをユーザーがカスタマイズする機会を十分に提供しているものがあります。しかし、実際には、大規模な機能は必要ないことが多く、微調整では大幅に改善できない汎用的なアーキテクチャもあり、ニューラルネットワークの学習方法についても同様の状況です。最後に、ユーザーに豊富なツールボックスを与えないもう一つの理由があります。ニューラルネットワークが微調整を必要とする場合、そのような調整はソフトウェアパッケージの作者にとっては難しくないのですが、エンドユーザーはしばしば困惑することがあるのです。したがって、良いニューラルネットワークのパッケージは、複雑なカスタマイズを必要としないという結論に達しました。この原則に従って,ALGLIBパッケージはできるだけ多くの問題を自動的に解決し,本当に重要な判断だけをユーザに委ねるようにしています.
利用可能なアーキテクチャ
ALGLIB パッケージでは、隠れ層なし、隠れ層 1 つ、隠れ層 2 つのニューラルネットを作 成することができます。接続は、入力層から第1隠れ層(もしあれば)、第2隠れ層、そして出力層へと続く。入力層から出力層への "ショート "接続はない。隠れ層は標準的な圧縮活性化関数の一つを持つが、ニューラルネットワークの出力層にはより多くのバリエーションが可能である。出力層は線形(このようなネットワークは近似問題に使われる)、圧縮活性化関数(ネットワークの出力がある範囲に制限される場合)を持つことができます。上(または下)からの活性化関数が拘束されているネットワークも利用可能です。最も単純な場合(0に束縛される)、この関数はxが+∞に傾くときxに近づき、xが-∞に傾くとき指数関数的に 0に傾く。
特殊なケースとして、線形出力層と出力のSOFTMAX正規化を持つニューラルネットワークがあります。これは、ネットワークの出力が非負であり、その和が厳密に1に等しくなければならない分類問題で、入力ベクトルがクラスのいずれかに割り当てられる確率として用いることができます(限定的なケースでは、学習したネットワークの出力はこれらの確率に収束します)。このようなネットワークの出力数は、常に少なくとも2である(初等論理による制限)。
このようなアーキテクチャの集合は、そのミニマルな性格にもかかわらず、ほとんどの実用的な問題を解決するのに十分である。余分な細部がないため、重要でない細部に過剰な注意を払うことなく、問題(分類または近似)に集中できる(例えば、非線形層に特定の活性化関数を選択しても、通常は結果にほとんど影響を及ぼさない)。
http://alglib.sources.ru/dataanalysis/neuralnetworks.php
「隠れ層は標準的な圧縮活性化関数の1つを持っている」 - どのようなものですか?受信接続数に応じて係数を調整しているのでしょうか?入力の数が結果に影響することは、記事で紹介したとおりです。そうでなければ、隠れ層(あるいは入力層)に100個のニューロンをぶち込んで、以下のニューロンは5個の入力だけでうまくいくかもしれない...。
さっき読んだが、質問の答えになってない(
「隠れ層は標準的な圧縮活性化関数の1つを持っている」 - どのようなものですか?受信接続数に応じて係数を調整しているのでしょうか?入力の数が結果に影響することは、記事で紹介したとおりです。そうでなければ、隠れ層(あるいは入力層)で100個のニューロンを発射し、次のニューロンはたった5個の入力でうまくいくかもしれない......。
2種類のメッシュがある場合、おそらくシグモイドと、リニアか範囲内かによって異なるもう一つのメッシュが出力されます。
とか、グリッドアーキテクチャはちょっと面倒だな...とか。いろいろと苦労はありますが、幸い隠しレイヤーが2枚だけなので、もう楽です :)一般的に隠れ層は入力の2倍以下であるべきだとどこかで読みました...あるいはそれ以上か忘れました )
ちなみに、EURUSDの M1チャートで、出口に向かって、10~60までの期間(6枚)で相関を確認しました(ジグザグはないですが、近いものがありますね)。
-0.00,0.01,0.00,0.01,0.01,-0.01
の相関は-0.01から0.01で、つまり全く相関がない。
しかし、Expert Advisorは利益を表示しています。このルールに従って動く普通のExpert Advisorを書く方がよっぽど簡単だと思うのですが。
一般的に隠れ層は入力層の2倍以下であるべきだとどこかで読みました...それ以上か忘れました )
隠れ層の最適なニューロン数(隠れニューロン数)=(入力数+出力数)/2 または SQRT(# of inputs * # of output) " の法則の一つ。
また、使用したレシェトフネットワークでは、2nInputs