私たちのファンページに参加してください
- ビュー:
- 883
- 評価:
- パブリッシュ済み:
- 2023.11.24 07:32
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
手書き数字を認識できるエキスパートアドバイザー
MNISTデータベースは、トレーニング用画像60,000枚とテスト用画像10,000枚で構成されています。これらの画像は、米国国勢調査局から入手したNISTオリジナルの20x20ピクセルの白黒サンプルに、米国の高校生から採取したテスト用サンプルを「再ミックス」して作成されています。サンプルは28x28ピクセルサイズに正規化され、アンチエイリアス処理が施され、グレイスケールレベルが導入されました。
訓練済みの手書き数字認識モデルmnist.onnxは、GithubのModel Zoo(opset 8)からダウンロードしました。興味のある方は、最新のONNXランタイムでサポートされなくなったopset 1を使ったモデルを除き、他のモデルをダウンロードして試すことができます。驚くべきことに、出力ベクトルは、分類モデルで一般的なSoftmax活性化関数では処理されませんでした。ただし、これは問題ではありません。自分たちで簡単に実装できます。
int PredictNumber(void) { static matrixf image(28,28); static vectorf result(10); PrepareMatrix(image); if(!OnnxRun(ExtModel,ONNX_DEFAULT,image,result)) { Print("OnnxRun error ",GetLastError()); return(-1); } result.Activation(result,AF_SOFTMAX); int predict=int(result.ArgMax()); if(result[predict]<0.8) Print(result); Print("value ",predict," predicted with probability ",result[predict]); return(predict); }
マウスの左ボタンを押しながら、マウスを使って特別なグリッドに数字を書きます。描画された桁を認識するには、[CLASSIFY]ボタンを押します。
認識された桁の確率が0.8未満の場合、各クラスの確率を含むベクトルがログに出力されます。例として、空の未入力フィールドを分類してみましょう。
[0.095331445,0.10048489,0.10673151,0.10274081,0.087865397,0.11471312,0.094342403,0.094900772,0.10847695,0.09441267] value 5 predicted with probability 0.11471312493085861なぜか「9」の認識精度は著しく低くなっています。左斜めの数字がより正確に認識されます。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/47225

Indicator to detect Pinbar + Insidebar combination.

移動平均線(MA)と標準偏差を利用し、且つ5ティックごとに反応して、線の色が変化する指標を作成しました。

本書の第1章では、MQL5言語と開発環境を紹介しています。MQL4(MetaTrader 4言語)と比較してMQL5言語で導入された新機能の1つは、オブジェクト指向プログラミング(OOP)のサポートです。これはC++に似ています。

第2部「MQL5プログラミングの基礎」では、このプログラミング言語の主要な概念を紹介します。本書のこの部分では、データ型、識別子、変数、式、および演算子について説明します。さまざまな命令を組み合わせてプログラムロジックを形成する方法を学びます。