私たちのファンページに参加してください
MLPニューラルネットワーククラス - MetaTrader 5のためのライブラリ
- ビュー:
- 906
- 評価:
- パブリッシュ済み:
- 2016.05.24 12:46
- アップデート済み:
- 2016.11.22 07:34
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
CNetMLPは多層パーセプトロン(multilayer perceptron、MLP)を提供します。
クラスの特徴は、入力ベクトルとネットワーク構造概念が分離されている、すなわち入力ベクトルとネットワーク構造の記述が関連されていないことです。
入力ベクトルの大きさは、妥当な範囲内で任意の値を有することができます。入力データは正規化すべきで、データは範囲-1~1 または 0~1でなければなりません。使用されるデータの種類に応じて種々の活性化機能がネットワークに適用されます。双曲線正接には-1~1データ範囲が使用され、シグモイドには0=1データ範囲が使用されます。
ネットワークは、直接信号伝送とのレイヤーごとの構造を有しています。ネットワーク構造は一次元配列に記載されており、配列要素の値が適切な層のニューロンの数を決定します。ニューロンの層の数は制限されません。ネットワークは、単一のニューロンから構成することもできます。
各ニューロンは、そのネットワーク内の位置よって定義された複数の入力と1つの出力を持っています。<N個の応答を与えるためにネットワークが必要な場合は、最後の層はN個のニューロンを含むべきです。学習アルゴリズムはiRpropです。入力と出力トレーニングデータはベクターごとに1次元配列に配置されています。 学習プロセスは学習エポック数または許容誤差のいずれかによって制限されます。
ネットワークの作成は、クラスパラメトリックコンストラクタで宣言されています。
CNetMLP *net=new CNetMLP(
層数、ネットワーク構造配列、入力ベクトルサイズ、活性化関数の種類:0 - シグモイド、1 - 双曲線正接
ネットワーク教示は、Learnメソッド(ティーチングパターンの数、入力データ配列、出力データ配列、学習サイクルの数、許容学習エラー)を呼び出すことによって提供されます。教示の結果はクラス変数を介して確認することができます。mseは学習誤差でepochは熟練学習サイクル数です。
Calculateメソッド(入力ベクトル配列、ネットワーク応答配列)はネットワークの応答を取得するために使用されます。
Save(ファイルハンドルをFILE_WRITEおよびFILE_BINフラグで開く)および Load (ファイルハンドルをFILE_READ およびFILE_BINフラグで開く) メソッドは、それぞれのファイルからネットワークをファイルにネットワークを保存し、読み込むために意図されています。学習エラーとサイズの配列のみがファイルに保存されます。作成しダウンロードしたネットワークのコンプライアンスはLoadメソッド(ハンドル)が使用される前に検証されなければなりません。
クラスの使い方は添付された例に示されています。クラスとサンプルファイルは1つのフォルダに配置される必要があります。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/596
-100~100の範囲で変化するシグナルラインが設けられた典型的な正規化されたオシレータ。
LinearRegSlope V2線形回帰平滑化アルゴリズムを持った移動平均線。
ジョンエラーズ著作の本「Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading(株式や先物のためのサイバネティック分析:最先端のDSP技術があなたの取引を改善)」にある修正された最適な楕円フィルタ。
Laguerreフィルタジョンエラーズ著作の本「Cybernetic Analysis for Stocks and Futures: Cutting-Edge DSP Technology to Improve Your Trading(株式や先物のためのサイバネティック分析:最先端のDSP技術があなたの取引を改善 )」にある2つの移動平均線で構成されたインディケータ。